summaryrefslogtreecommitdiffstats
path: root/include/linux (follow)
Commit message (Collapse)AuthorAgeFilesLines
* linux: UAPI for neigh syncAnuradha Karuppiah2020-09-171-0/+5
| | | | | | kernel header files for neigh sync support Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
* linux: UAPI for MAC syncAnuradha Karuppiah2020-08-052-0/+12
| | | | | | | | | MAC entries rxed from an ES-peer need to be marked as static to prevent them from being aged out. However, for static entries, we still need to track local activity to independently (independent of BGP) establish that a host is still attached to the ES. Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
* linux: UAPI for L2-NHG and MAC-ECMPAnuradha Karuppiah2020-08-052-0/+2
| | | | | | linux headers needed for MH MAC-ECMP support Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
* evpn-netns: Revert PR5077, has been re-worked post-refactorPat Ruddy2020-08-051-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert "zebra: support for macvlan interfaces" This reverts commit bf69e212fd053af3298fc3cba38458b396467849. Revert "doc: add some documentation about bgp evpn netns support" This reverts commit 89b97c33d7a6d9dc427d56fea52fa27334dde81d. Revert "zebra: dynamically detect vxlan link interfaces in other netns" This reverts commit de0ebb25404fe984f084a0d57b7f873618423876. Revert "bgpd: sanity check when updating nexthop from bgp to zebra" This reverts commit ee9633ed87f0ff5da1373a42d6c044f0a682c8d3. Revert "lib, zebra: reuse and adapt ns_list walk functionality" This reverts commit c4d466c830083e8ba58881d7ad03a90f6baf0754. Revert "zebra: local mac entries populated in correct netnamespace" This reverts commit 40424548910887f3bbbf544ce964d3b736048ae5. Revert "zebra: when parsing local entry against dad, retrieve config" This reverts commit 3acc394bc5e5c225e9258fd0d57a6cebea0c0ccd. Revert "bgpd: evpn nexthop can be changed by default" This reverts commit a2342a241253c41b798845cae155b4caab4bcda5. Revert "zebra: zvni_map_to_vlan() adaptation for all namespaces" This reverts commit db81d18647bbd81a2c335620c9a03e32e4a5b2be. Revert "zebra: add ns_id attribute to mac structure" This reverts commit 388d5b438e22cddc6740e362763c0922edbb242a. Revert "zebra: bridge layer2 information records ns_id where bridge is" This reverts commit b5b453a2d6af58692bee0e256fe1dffe99824801. Revert "zebra, lib: new API to get absolute netns val from relative netns val" This reverts commit b6ebab34f664ba1cc9479fc1287f127c12077509. Revert "zebra, lib: store relative default ns id in each namespace" This reverts commit 9d3555e06ccc68fe37e0a00100029ac4bad8dee2. Revert "zebra, lib: add an internal API to get relative default nsid in other ns" This reverts commit 97c9e7533bd22029ac19838c043cfca82d2f6eb3. Revert "zebra: map vxlan interface to bridge interface with correct ns id" This reverts commit 7c990878f20efff335c1211deda3ec50071ae2b5. Revert "zebra: fdb and neighbor table are read for all zns" This reverts commit f8ed2c5420106314a940cb67264494e0110fc4c0. Revert "zebra: zvni_map_to_svi() adaptation for other network namespaces" This reverts commit 2a9dccb6475bfc11af2b855c4c8ff9e500ba21f4. Revert "zebra: display interface slave type" This reverts commit fc3141393ad95651d31fccd144b5c029d00e5f3a. Revert "zebra: zvni_from_svi() adaptation for other network namespaces" This reverts commit 6fe516bd4b85569b3b8b4bcc2910afc5569aa026. Revert "zebra: importation of bgp evpn rt5 from vni with other netns" This reverts commit 28254125d06f65cc4344b6156eec76a37ec6aede. Revert "lib, zebra: update interface name at netlink creation" This reverts commit 1f7a68a2ff0ba1424131f30112e0cc1572f0bee3. Signed-off-by: Pat Ruddy <pat@voltanet.io>
* zebra, lib: add an internal API to get relative default nsid in other nsPhilippe Guibert2020-05-181-0/+1
| | | | | | | | | | | | | | | | | | | as remind, the netns identifiers are local to a namespace. that is to say that for instance, a vrf <vrfx> will have a netns id value in one netns, and have an other netns id value in one other netns. There is a need for zebra daemon to collect some cross information, like the LINK_NETNSID information from interfaces having link layer in an other network namespace. For that, it is needed to have a global overview instead of a relative overview per namespace. The first brick of this change is an API that sticks to netlink API, that uses NETNSA_TARGET_NSID. from a given vrf vrfX, and a new vrf created vrfY, the API returns the value of nsID from vrfX, inside the new vrf vrfY. The brick also gets the ns id value of default namespace in each other namespace. An additional value in ns.h is offered, that permits to retrieve the default namespace context. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
* include: add kernel header for seg6/seg6localHiroki Shirokura2020-01-095-0/+232
| | | | | | | | | The linux kernel is adding support for seg6/seg6local lwtunnel type to support SRv6 feature. This commit update our includes to reflect new types and structs we should be listening for from the kernel Signed-off-by: Hiroki Shirokura <slank.dev@gmail.com>
* linux: Update our netlink headers for nexthop group supportStephen Worley2019-10-251-0/+58
| | | | | | | | The linux kernel is adding support for nexthop groups. Update our includes to reflect new types and structs we should be listening for from the kernel. Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
* *: strip trailing whitespaceQuentin Young2019-09-302-6/+6
| | | | | | Some of it has snuck by CI Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* include: update include/linuxDonald Sharp2019-09-1911-27/+189
| | | | | | | Newer versions of the linux kernel have made their way into the wild. Update some headers. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* Revert "include: Add linux header mroute.h to our build"David Lamparter2019-01-311-179/+0
| | | | | | | | This reverts commit 086841cf0bddebc21e72dcb24755c222ed29072c. Oops, broke the build... shoulda waited for CI... Signed-off-by: David Lamparter <equinox@diac24.net>
* include: Add linux header mroute.h to our buildDonald Sharp2019-01-301-0/+179
| | | | Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* zebra: set connected route metric based on the devaddr metricAnuradha Karuppiah2019-01-251-0/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MACVLAN devices are typically used for applications such as VRR/VRRP that require a second MAC address (virtual). These devices have a corresponding SVI/VLAN device - root@TORC11:~# ip addr show vlan1002 39: vlan1002@bridge: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9152 qdisc noqueue master vrf1 state UP group default link/ether 00:02:00:00:00:2e brd ff:ff:ff:ff:ff:ff inet6 2001:aa:1::2/64 scope global valid_lft forever preferred_lft forever root@TORC11:~# ip addr show vlan1002-v0 40: vlan1002-v0@vlan1002: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9152 qdisc noqueue master vrf1 state UP group default link/ether 00:00:5e:00:01:01 brd ff:ff:ff:ff:ff:ff inet6 2001:aa:1::a/64 metric 1024 scope global valid_lft forever preferred_lft forever root@TORC11:~# The macvlan device is used primarily for RX (VR-IP/VR-MAC). And TX is via the SVI. To acheive that functionality the macvlan network's metric is set to a higher value. Zebra currently ignores the devaddr metric sent by the kernel and hardcodes it to 0. This commit eliminates that hardcoding. If the devaddr metric is available (METRIC_MAX) it is used for setting up the connected route otherwise we fallback to the dev/interface metric. Setting the macvlan metric to a higher value ensures that zebra will always select the connected route on the SVI (and subsequently use it for next hop resolution etc.) - root@TORC11:~# vtysh -c "show ip route vrf vrf1 2001:aa:1::/64" Routing entry for 2001:aa:1::/64 Known via "connected", distance 0, metric 1024, vrf vrf1 Last update 11:30:56 ago * directly connected, vlan1002-v0 Routing entry for 2001:aa:1::/64 Known via "connected", distance 0, metric 0, vrf vrf1, best Last update 11:30:56 ago * directly connected, vlan1002 root@TORC11:~# Ticket: CM-23511 Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
* include: add netlink.h to our build systemDonald Sharp2018-06-211-0/+247
| | | | | | | For compilation on platforms that do not have the linux headers installed. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* *: PBR - netlink interaction and basic definitionsvivek2018-03-091-0/+74
| | | | | | | | | | Implement netlink interactions for Policy Based Routing. This includes APIs to install and uninstall rules and handle notifications from the kernel related to rule addition or deletion. Various definitions are added to facilitate this. Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com> Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
* zebra: upon NS creation, collect the NSID via netlinkPhilippe Guibert2018-02-271-0/+23
| | | | | | | | | | | A NS identifier is collected by netlink. This identifier is a 32 bit identifier that is either generated by the kernel (if not set) or manually set by a set netlink command. The commit here is getting the NSID from the newly created NS. If the linux option to create or get a new NSID from the kernel does not exist, then the NSID is locally genrated. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
* build: include our own copies of some linux kernel headersRenato Westphal2017-10-247-0/+2232
This is the definitive solution to avoid build issues on old Linux systems, where the system kernel headers might not contain some constants or macros used by FRR (e.g. MPLS_IPTUNNEL_DST, introduced on 2015). This is the same strategy adopted by other projects, like iproute2, libnl, lldpd, strongswan, etc. These header files don't need to be in sync with upstream, they only need to be updated when necessary (e.g. if we want to use a new feature introduced by a recent kernel). Fixes #962 using the solution suggested by David Lamparter. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>