summaryrefslogtreecommitdiffstats
path: root/bgpd/bgpd.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* bgpd: remove deprecated "bgp enforce-first-as" commandRenato Westphal2019-05-211-1/+0
| | | | | | The one-year deprecation period has passed, remove it. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
* Revert "bgpd: Prevent IPv6 routes received via a ibgp session with own ip as ↵Donald Sharp2019-05-021-3/+0
| | | | nexthop "
* bgpd: Prevent IPv6 routes received via a ibgp session with own ip as nexthopBiswajit Sadhu2019-04-241-0/+3
| | | | | | | | | | | | Prevent IPv6 routes received via a ibgp session with one of its own interface ip as nexthop from getting installed in the BGP table. Implemented IPV6 HASH table, where we need to add any ipv6 address as they gets configured and delete them from the HASH table as the ipv6 addresses get unconfigured. The above hash table is used to verify if any route learned via BGP has nexthop which is equal to one of its its connected ipv6 interface. Signed-off-by: Biswajit Sadhu sadhub@vmware.com
* Merge branch 'master' into evpn-session-vrfTuetuopay2019-03-281-1/+7
|\
| * Merge pull request #3947 from dslicenc/bgpd-redist-connected-vrfLou Berger2019-03-171-1/+1
| |\ | | | | | | Bgpd redist connected vrf
| | * bgpd: fix redistribution into vrf when networking is restartedDon Slice2019-03-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Found that previous fix for this issue caused collatoral damage and reverted that fix. This fix clears the vrf_bitmaps when the vrf is disabled/deleted and then re-applies the redist config when the vrf is re-enabled. Ticket: CM-24231 Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
| * | Merge pull request #3920 from AkhileshSamineni/show_bgp_ipv6_summary_fix_masterDonald Sharp2019-03-151-0/+3
| |\ \ | | |/ | |/| bgpd: Incorrect number of peers count in "show bgp ipv6 summary" output
| | * bgpd: Incorrect number of peers count in "show bgp ipv6 summary outputAkhilesh Samineni2019-03-071-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The "show bgp ipv6 summary" output displays incorrect number of peers count. sonic# show bgp ipv6 summary IPv6 Unicast Summary: BGP router identifier 10.1.0.1, local AS number 65100 vrf-id 0 BGP table version 0 RIB entries 0, using 0 bytes of memory Peers 5, using 103 KiB of memory Peer groups 1, using 64 bytes of memory Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 2003::1 4 65099 0 0 0 0 0 never Active 2088::1 4 65100 0 0 0 0 0 never Active 3021::2 4 65100 0 0 0 0 0 never Active Total number of neighbors 3 sonic# In the above output, the peers count displays as 5 but the actual peer count is 3, i.e.. 3 neighbors are activated in ipv6 unicast address family. Displayed peer count (5) is the number of the neighbors activated in a BGP instance. Fix : Now the peers count displays the number of neighbors activated per afi/safi. After Fix: sonic# show bgp ipv6 summary IPv6 Unicast Summary: BGP router identifier 10.1.0.1, local AS number 65100 vrf-id 0 BGP table version 0 RIB entries 0, using 0 bytes of memory Peers 3, using 62 KiB of memory Peer groups 1, using 64 bytes of memory Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 2003::1 4 65099 0 0 0 0 0 never Active 2088::1 4 65100 0 0 0 0 0 never Active 3021::2 4 65100 0 0 0 0 0 never Active Total number of neighbors 3 sonic# Signed-off-by: Akhilesh Samineni <akhilesh.samineni@broadcom.com>
| * | Merge pull request #3860 from AkhileshSamineni/show_bgp_af_neigh_fixDavid Lamparter2019-03-111-0/+3
| |\ \ | | |/ | |/| bgpd: 'show bgp [ipv4|ipv6] neighbors' displays all address family neighbors
| | * bgpd: 'show bgp [ipv4|ipv6] neighbors' displays all address family neighborsAkhilesh Samineni2019-02-241-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | Display only ipv4 neighbors when 'show bgp ipv4 neighbors' command is issued. Display only ipv6 neighbors when 'show bgp ipv6 neighbors' command is issued. Take the address family of the peer address into account, while displaying the neighbors. Signed-off-by: Akhilesh Samineni <akhilesh.samineni@broadcom.com>
* | | bgpd: Allow non-default instance to be EVPN oneTuetuopay2019-03-191-0/+5
|/ / | | | | | | | | | | | | | | This makes the instance bearing the advertise-all-vni config option register to zebra as the EVPN one, forwarding it the option. Signed-off-by: Tuetuopay <tuetuopay@me.com> Sponsored-by: Scaleway
* | zebra, bgpd: Exchange L3 interface for VRF's VNIvivek2019-02-271-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the case of EVPN symmetric routing, the tenant VRF is associated with a VNI that is used for routing and commonly referred to as the L3 VNI or VRF VNI. Corresponding to this VNI is a VLAN and its associated L3 (IP) interface (SVI). Overlay next hops (i.e., next hops for routes in the tenant VRF) are reachable over this interface. https://tools.ietf.org/html/draft-ietf-bess-evpn-prefix-advertisement section 4.4 provides additional description of the above constructs. The implementation currently derives this L3 interface for EVPN tenant routes using special code that looks at route flags. This patch exchanges the L3 interface between zebra and bgpd as part of the L3-VNI exchange in order to eliminate some this special code. Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com> Reviewed-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com> Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
* | bgpd: Implement RFC8212Donatas Abraitis2019-02-171-0/+5
|/ | | | Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
* Merge pull request #3414 from pguibert6WIND/iprule_any_flowspec_handling_2Donald Sharp2019-01-291-0/+2
|\ | | | | Iprule any flowspec handling
| * bgpd: an hash list of pbr iprule is createdPhilippe Guibert2019-01-291-0/+2
| | | | | | | | | | | | | | that iprule list stands for the list of fs entries that are created, based only on ip rule from/to rule. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
* | bgpd: improve peer-group remote-as definitionsDon Slice2019-01-231-1/+2
|/ | | | | | | | | | | Problem reported that with certain sequences of defining the remote-as on the peer-group and the members, the configuration would become wrong, with configured remote-as settings not reflected in the config but peers unable to come up. This fix resolves these inconsistencies. Ticket: CM-19560 Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
* Merge pull request #3198 from donaldsharp/mac_rejectionRenato Westphal2019-01-101-0/+3
|\ | | | | Mac rejection
| * bgpd: Add code to dump the forthcoming mac hashDonald Sharp2018-12-121-0/+3
| | | | | | | | | | | | | | | | Add a bit of code that allows us to dump the mac hash. Future commits will actually add entries to the mac hash and then operate on it. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* | bgpd: don't use BGP_ATTR_VNC(255) unless ENABLE_BGP_VNC_ATTR is definedLou Berger2019-01-071-1/+1
|/ | | | Signed-off-by: Lou Berger <lberger@labn.net>
* Merge pull request #3176 from chiragshah6/evpn_devRuss White2018-11-261-0/+2
|\ | | | | zebra: duplicate address detection and dampening
| * bgpd: dup addr detect data struct for cfgChirag Shah2018-11-181-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Enable/disable duplicate address detection there are 3 actions warning-only: Default action which generates only frr warning (syslog) to user for any duplicate detecton freeze: Permanently freezes address, manual intervene required. freeze with time: An address will recover once the time has expired (auto-recovery). Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
* | Merge pull request #3359 from qlyoung/true-atomicsMark Stapp2018-11-201-1/+1
|\ \ | | | | | | Restrict atomics to 32-bits only
| * | *: only use 32-bit atomicsQuentin Young2018-11-191-1/+1
| |/ | | | | | | Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* / bgpd: Creating Loopback Interface Flaps BGPd (#2865)root2018-11-191-1/+3
|/ | | | | | | | | | | * The function bgp_router_id_zebra_bump() will check for active bgp peers before chenging the router ID. If there are established peers, router ID is not modified which prevents the flapping of established peer connection * Added field in bgp structure to store the count of established peers Signed-off-by: kssoman <somanks@vmware.com>
* bgpd: allow vrf validity and bgp vrf import/export, when zebra is offPhilippe Guibert2018-11-131-0/+1
| | | | | | | | if zebra is not started, then vrf identifiers are not available. This prevents import/exportation to be available. This commit permits having import/export available, even when zebra is not started. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
* bgpd: Re-use TX Addpath IDs where possibleMitch Skiba2018-11-101-4/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The motivation for this patch is to address a concerning behavior of tx-addpath-bestpath-per-AS. Prior to this patch, all paths' TX ID was pre-determined as the path was received from a peer. However, this meant that any time the path selected as best from an AS changed, bgpd had no choice but to withdraw the previous best path, and advertise the new best-path under a new TX ID. This could cause significant network disruption, especially for the subset of prefixes coming from only one AS that were also communicated over a bestpath-per-AS session. The patch's general approach is best illustrated by txaddpath_update_ids. After a bestpath run (required for best-per-AS to know what will and will not be sent as addpaths) ID numbers will be stripped from paths that no longer need to be sent, and held in a pool. Then, paths that will be sent as addpaths and do not already have ID numbers will allocate new ID numbers, pulling first from that pool. Finally, anything left in the pool will be returned to the allocator. In order for this to work, ID numbers had to be split by strategy. The tx-addpath-All strategy would keep every ID number "in use" constantly, preventing IDs from being transferred to different paths. Rather than create two variables for ID, this patch create a more generic array that will easily enable more addpath strategies to be implemented. The previously described ID manipulations will happen per addpath strategy, and will only be run for strategies that are enabled on at least one peer. Finally, the ID numbers are allocated from an allocator that tracks per AFI/SAFI/Addpath Strategy which IDs are in use. Though it would be very improbable, there was the possibility with the free-running counter approach for rollover to cause two paths on the same prefix to get assigned the same TX ID. As remote as the possibility is, we prefer to not leave it to chance. This ID re-use method is not perfect. In some cases you could still get withdraw-then-add behaviors where not strictly necessary. In the case of bestpath-per-AS this requires one AS to advertise a prefix for the first time, then a second AS withdraws that prefix, all within the space of an already pending MRAI timer. In those situations a withdraw-then-add is more forgivable, and fixing it would probably require a much more significant effort, as IDs would need to be moved to ADVs instead of paths. Signed-off-by Mitchell Skiba <mskiba@amazon.com>
* bgpd: make name of default vrf/bgp instance consistentDon Slice2018-10-311-1/+0
| | | | | | | | | | | Problems were reported with the name of the default vrf and the default bgp instance being different, creating confusion. This fix changes both to "default" for consistency. Ticket: CM-21791 Signed-off-by: Don Slice <dslice@cumulusnetworks.com> Reviewed-by: CCR-7658 Testing: manual testing and automated tests before pushing
* Merge pull request #3024 from ton31337/fix/validate_route-mapRuss White2018-10-141-4/+8
|\ | | | | bgpd: Check if route-map really exists before applying to the peer
| * bgpd: Check if route-map really exists before applying to the peerDonatas Abraitis2018-10-111-4/+8
| | | | | | | | Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
* | bgpd: Add '[no] flood <disable|head-end-replication>'Donald Sharp2018-10-121-0/+5
|/ | | | | | | | | | | | | Add the '[no] flood <disable|head-end-replication>' command to the l2vpn evpn afi/safi sub commands for bgp. This command when entered as 'flood disable' will turn off type 3 route generation for the transmittal of the type 3 route necessary for BUM replication on the remote VTEP. Additionally it will turn off the BUM handling via the new zebra command, ZEBRA_VXLAN_FLOOD_CONTROL. Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com> Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* Merge pull request #3010 from opensourcerouting/no-frr-thread-idLou Berger2018-09-221-4/+4
|\ | | | | lib: frr_pthread minor simplification
| * lib: remove frr_pthread->idDavid Lamparter2018-09-191-4/+4
| | | | | | | | | | | | | | All I can see is an unneccessary complication. If there's some purpose here it needs to be documented... Signed-off-by: David Lamparter <equinox@diac24.net>
* | bgpd, doc, ldpd, lib, tests, zebra: LM fixespaco2018-09-181-1/+1
|/ | | | | | | | | | | | | Corrections so that the BGP daemon can work with the label manager properly through a label-manager proxy. Details: - Correction so the BGP daemon behind a proxy label manager gets the range correctly (-I added to the BGP daemon, to set the daemon instance id) - For the BGP case, added an asynchronous label manager connect command so the labels get recycled in case of a BGP daemon reconnection. With this, BGPd and LDPd would behave similarly. Signed-off-by: F. Aragon <paco@voltanet.io>
* bgpd: Prevent possible crash when parsing v6 attributesDonald Sharp2018-09-121-2/+0
| | | | | | | | | | | | | The peer->nexthop.ifp pointer must be set when parsing the attributes in bgp_mp_reach_parse, notice this and fail gracefully. Rework bgp_nexthop_set to remove the HAVE_CUMULUS and to fail the nexthop_set when we have a zebra connection and no ifp pointer, as that not havinga zebra connection and no ifp pointer is legal. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* bgpd/ospfd: resolve warnings for bgp/ospf json commitDon Slice2018-08-301-1/+2
| | | | Signed-off-by: Don Slice <dslice@cumulusnetwork.com>
* bgpd/ospfd: make bgp and ospf json response a bit more consistentDon Slice2018-08-301-1/+1
| | | | | | | | | | | | | | Problem reported that some bgp and ospf json commands did not return any json output at all if the bgp/ospf instance did not exist. Additionally, some bgp and ospf json commands did not return any json output if the instance existed but no neighbors were defined. This fix makes these commands more consistent in returning empty braces for json output and issue a message if not using json output. Additionally, made the flag "use_json" a bool to make it consistent since previously, it had been defined as an int, char, u_char, and bool at various places. Ticket: CM-21040 Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
* bgpd: Cleanup of bgp daemon codePascal Mathis2018-07-071-8/+1
| | | | | | | | This commit removes various parts of the bgpd implementation code which are unused/useless, e.g. unused functions, unused variable initializations, unused structs, ... Signed-off-by: Pascal Mathis <mail@pascalmathis.com>
* bgpd: Implement group-overrides for peer attrsPascal Mathis2018-06-141-0/+12
| | | | | | | | | | | | | | | | | | | | This commit introduces BGP peer-group overrides for the last set of peer-level attrs which did not offer that feature yet. The following attributes have been implemented: description, local-as, password and update-source. Each attribute, with the exception of description because it does not offer any inheritance between peer-groups and peers, is now also setting a peer-flag instead of just modifying the internal data structures. This made it possible to also re-use the same implementation for attribute overrides as already done for peer flags, AF flags and AF attrs. The `no neighbor <neigh> description` command has been slightly changed to support negation for no parameters, one parameter or * parameters (LINE...). This was needed for the test suite to pass and is a small change without any bigger impact on the CLI. Signed-off-by: Pascal Mathis <mail@pascalmathis.com>
* bgpd: Implement group-overrides for peer timersPascal Mathis2018-06-141-11/+4
| | | | | | | | | | | | | | | | | | | This commit implements BGP peer-group overrides for the timer flags, which control the value of the hold, keepalive, advertisement-interval and connect connect timers. It was kept separated on purpose as the whole timer implementation is quite complex and merging this commit together with with the other flag implementations did not seem right. Basically three new peer flags were introduced, namely *PEER_FLAG_ROUTEADV*, *PEER_FLAG_TIMER* and *PEER_FLAG_TIMER_CONNECT*. The overrides work exactly the same way as they did before, but introducing these flags made a few conditionals simpler as they no longer had to compare internal data structures against eachother. Last but not least, the test suite has been adjusted accordingly to test the newly implemented flag overrides. Signed-off-by: Pascal Mathis <mail@pascalmathis.com>
* bgpd: Fix AF-attribute overrides when binding peerPascal Mathis2018-06-141-4/+5
| | | | | | | | | | | | | | | | | | | The current implementation of the overrides for peer address-family attributes suffered a bug, which caused all peer-specific attributes to be lost when the peer was added to a peer-group which already had that specific address-family active. This commit extends the *peer_group2peer_config_copy_af* function to respect overridden flags properly. Additionally, the arguments of the macros *PEER_ATTR_INHERIT* and *PEER_STR_ATTR_INHERIT* have been reordered to be more consistent and easy to read. This commit also adds further test cases to the BGP peer attributes test suite, so that this kind of error is being caught in future commits. The missing AF-attribute *distribute-list* has also been added to the test suite. Signed-off-by: Pascal Mathis <mail@pascalmathis.com>
* bgpd: Implement group-overrides for peer flagsPascal Mathis2018-06-141-28/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current implementation of peer flags (e.g. shutdown, passive, ...) only has partial support for overriding flags of a peer-group when the peer is a member. Often settings might get lost if the user toys around with the peer-group configuration, which can lead to disaster. This commit introduces the same override implementation which was previously integrated to support proper peer flag/attribute override on the address-family level. The code is very similar and the global attributes now use their separate state-arrays *flags_invert* and *flags_override*. The test suite for BGP peer attributes was extended to also check peer global attributes, so that the newly introduced changes are covered. An additional feature was added which allows to test an attribute with an *interface-peer*, which can be configured by running `neighbor IF-TEST interface`. This was introduced so that the dynamic runtime inversion of the `extended-nexthop` flag, which is only enabled by default for interface peers, can also be tested. Last but not least, two small changes have been made to the current bgpd implementation: - The command `strict-capability-match` can now also be set on a peer-group, it seems like this command slipped through while implementing peer-groups in the very past. - The macro `COND_FLAG` was introduced inside lib/zebra.h, which now allows to either set or unset a flag based on a condition. The syntax for using this macro is: `COND_FLAG(flag_variable, flag, condition)` Signed-off-by: Pascal Mathis <mail@pascalmathis.com>
* bgpd: null check (Coverity 1399270)paco2018-06-131-1/+0
| | | | Signed-off-by: F. Aragon <paco@voltanet.io>
* Merge pull request #2304 from ppmathis/enhancement/bgp-pg-overridesQuentin Young2018-06-051-0/+51
|\ | | | | bgpd: Add proper support for overriding peer-group AF-flags/filters
| * bgpd: Fix style issues for peer-group overridesPascal Mathis2018-05-281-1/+2
| | | | | | | | | | | | | | | | This commit fixes all outstanding style/formatting issues as detected by 'git clang-format' or 'checkpath' for the new peer-group override implementation, which spanned across several commits. Signed-off-by: Pascal Mathis <mail@pascalmathis.com>
| * bgpd: Fix group overrides for inverted AF flagsPascal Mathis2018-05-281-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit fixes peer-group overrides for inverted AF flags. This implementation is currently only being used by the three 'send-community' flags. Commit 70ee29b4d introduced generic support for overriding AF flags, but did not support inverted flags. By introducing an additional array on the BGP peer structure called 'af_flags_invert' all current and future flags which should work in an inverted way can now also be properly overridden. The CLI commands will work exactly the same way as before, just that 'no <command>' now sets the flag and override whereas '<command>' will unset the flag and remove the override. Signed-off-by: Pascal Mathis <mail@pascalmathis.com>
| * bgpd: Improve group overrides for AF filtersPascal Mathis2018-05-271-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds the same peer-group override capabilites as d122d7cf7 for all filter/map options that can be enabled/disabled on each address-family of a BGP peer. All currently existing filter/map options are being supported: filter-list, distribute-list, prefix-list, route-map and unsuppress-map To implement this behavior, a new peer attribute 'filter_override' has been added together with various PEER_FT_ (filter type) constants for tracking the state of each filter in the same way as it is being done with 'af_flags_override'. Signed-off-by: Pascal Mathis <mail@pascalmathis.com>
| * bgpd: Improve group overrides for AF flagsPascal Mathis2018-05-271-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current implementation for overriding peer-group configuration on a peer member consists of several bandaids, which introduce more issues than they fix. A generic approach for implementing peer-group overrides for address-family flags is clearly missing. This commit implements a generic and sane approach to overriding peer-group configuration on a peer-member. A separate peer attribute called 'af_flags_override' which was introduced in 04e1c5b is being used to keep track of all address-family flags, storing whether the configuration is being inherited from the parent-group or overridden. All address-family flags are being supported by this implementation (note: flags, not filters/maps) except 'send-community', which currently breaks due to having the three flags enabled by default, which is not being properly handled within this commit; all flags are supposed to have an 'off'/'false' state by default. In the interest of readability and comprehensibility, the flag 'send-community' is being fixed in a separate commit. The following rules apply when looking at the new peer-group override implementation this commit provides: - Each peer-group can enable every flag (except the limitations noted above), which gets automatically inherited to all members. - Each peer can enable each flag independently and/or modify their value, if available. (e.g.: weight <value>) - Each command executed on a neighbor/peer gets explicitely set as an override, so even when the peer-group has the same kind of configuration, both will show up in 'show running-configuration'. - Executing 'no <command>' on a peer will remove the peer-specific configuration and make the peer inherit the configuration from the peer-group again. - Executing 'no <command>' on a peer-group will only remove the flag from the peer-group, however not from peers explicitely setting that flag. This guarantees a clean implementation which does not break, even when constantly messing with the flags of a peer-group. The same behavior is present in Cisco devices, so people familiar with those should feel safe when dealing with FRRs peer-groups. The only restriction that now applies is that single peer cannot disable a flag which was set by a peer-group, because 'no <command>' is already being used for disabling a peer-specific override. This is not supported by any known vendor though, would require many specific edge-cases and magic comparisons and will most likely only end up confusing the user. Additionally, peer-groups should only contain flags which are being used by all peer members. Signed-off-by: Pascal Mathis <mail@pascalmathis.com>
* | Merge pull request #2259 from ppmathis/enhancement/peer-enforce-first-asDonald Sharp2018-06-041-3/+4
|\ \ | | | | | | bgpd: Move 'enforce-first-as' from global to peer
| * | bgpd: Move 'enforce-first-as' from global to peerPascal Mathis2018-05-191-3/+4
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit moves the command 'bgp enforce-first-as' from global BGP instance configuration to peer/neighbor configuration, which can now be changed by executing '[no] neighbor <neighbor> enforce-first-as'. End users can now enforce sane first-AS checking on regular sessions while e.g. disabling the checks on routeserver sessions, which usually strip away their own AS number from the path. To ensure backwards-compatibility, a migration routine was added which automatically sets the 'enforce-first-as' flag on all configured neighbors if the old global setting was activated. The old global command immediately disappears after running the migration routine once. Signed-off-by: Pascal Mathis <mail@pascalmathis.com>
* | *: support for evpn type-4 routemitesh2018-05-301-0/+3
| | | | | | | | Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>