Commit Graph

20824 Commits

Author SHA1 Message Date
Donatas Abraitis
f6af4aecf4
Merge pull request #6826 from pjdruddy/bgp-auth-vrf-frr
Bgp auth vrf frr
2020-09-04 16:03:47 +03:00
Donald Sharp
80334e5acf
Merge pull request #7053 from mjstapp/fix_ospf6_intf_sa
ospf6d: fix SA warning
2020-09-04 06:47:07 -04:00
Donald Sharp
dc01e6f3f4
Merge pull request #7052 from mjstapp/fix_stream_get_data
lib: remove unused stream_get_data api
2020-09-03 20:45:05 -04:00
Donald Sharp
0022cda07d
Merge pull request #6891 from opensourcerouting/feature/sr-te-bgpd
bgpd: Add support for SR-TE Policies in route-maps
2020-09-03 14:52:30 -04:00
Martin Winter
0c7b459c2c
Merge pull request #6926 from kuldeepkash/dynamic_route_leak
tests: Add bgp_vrf_dynamic_route_leak test suite
2020-09-03 19:03:22 +02:00
Mark Stapp
f6d11a9bf6 ospf6d: fix SA warning
Fix an SA issue in ospf6_interface.c.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2020-09-03 12:57:36 -04:00
Mark Stapp
f845960b3f lib: remove unused stream_get_data api
Signed-off-by: Mark Stapp <mjs@voltanet.io>
2020-09-03 12:37:55 -04:00
Mark Stapp
09209b4858
Merge pull request #7043 from donaldsharp/bgp_features_speedup
tests: Speed up bgp_features topotests by a lot
2020-09-03 08:14:46 -04:00
Santosh P K
371ded520b
Merge pull request #6987 from Niral-Networks/acl_fix
lib, ospf : Fix when redist is performed with route-map using access-list
2020-09-03 09:51:21 +05:30
Donald Sharp
4e2286abc8 tests: Speed up bgp_features topotests by a lot
Initial run of topotests on my machine takes ~210 seconds
With these changes we are at ~40 seconds

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-09-02 15:47:14 -04:00
Donald Sharp
842b9211ac
Merge pull request #6997 from opensourcerouting/cisco-acl-name
lib,yang: allow cisco access lists to use names plus fixes
2020-09-02 08:26:57 -04:00
Donald Sharp
b0d39af982
Merge pull request #7027 from Niral-Networks/niral_dev_vrf_ospf6
ospf6d : Preparing for ospf6d VRF support.
2020-09-02 08:25:09 -04:00
Donald Sharp
4223956546
Merge pull request #7033 from mjstapp/fix_pbr_nhg_sa
pbrd: fix SA warnings in nhg map
2020-09-02 08:20:21 -04:00
Kaushik
e641623d90 ospfd : Fix in lsa refresh when redist is done with route-map using access-list.
1. Minor change in distribute-list update timer based on lsa flag.

Co-authored-by: harios <hari@niralnetworks.com>
Signed-off-by: Kaushik <kaushik@niralnetworks.com>
2020-09-02 02:44:25 -07:00
Mark Stapp
ceb987a877
Merge pull request #7010 from wesleycoakley/pbrd-more-selective
pbrd: be more selective about route updates
2020-09-01 14:54:18 -04:00
Mark Stapp
9d0b324d5f pbrd: fix SA warning in nhg map
Fix SA warnings in nhg map functions.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2020-09-01 14:23:40 -04:00
Wesley Coakley
4bf97ce180 pbrd: nh "valid" semantics in nexthop tracking
Signed-off-by: Wesley Coakley <wcoakley@nvidia.com>
2020-09-01 12:34:48 -04:00
Kuldeep Kashyap
985195f2b4 tests: Add bgp_vrf_dynamic_route_leak test suite
1. Added test to verify bgp vrf dynamic route leak functionality
2. Total execution time is ~8 mins
3. Added kernel version check, these script would be run for kernel version >= 4.19

Signed-off-by: Kuldeep Kashyap <kashyapk@vmware.com>
2020-09-01 16:11:24 +00:00
Kuldeep Kashyap
bc0a514728 tests: Add f/w support for bgp_vrf_dynamic_route_leak tests automation
1. Adding f/w support for bgp_vrf_dynamic_route_leak tests automation

Signed-off-by: Kuldeep Kashyap <kashyapk@vmware.com>
2020-09-01 15:48:10 +00:00
Wesley Coakley
c59f754dd4 pbrd: be more selective about route updates
Given a received nexthop update, only send down an update to the
relevant nexthop group. Avoid sending down superfluous updates

Signed-off-by: Wesley Coakley <wcoakley@nvidia.com>
2020-09-01 11:11:43 -04:00
Olivier Dugeon
2e5b029865
Merge pull request #7003 from GalaxyGorilla/ospf_ti_lfa_prep
ospfd: use a new vertex list for every SPF run
2020-09-01 16:39:29 +02:00
Russ White
edec686a2a
Merge pull request #7016 from donaldsharp/pbr_vrf_is_burf
Pbr vrf is burf
2020-09-01 10:31:20 -04:00
Russ White
c2ce62e502
Merge pull request #7023 from donaldsharp/eigrp_fixups
Eigrp fixups
2020-09-01 10:20:32 -04:00
Mark Stapp
5529b39211
Merge pull request #7028 from xThaid/netlink_buff
zebra: increase netlink receive buffer size
2020-09-01 08:43:13 -04:00
Kaushik
c5d28568c6 ospf6d : Preparing for ospf6d VRF support.
1. Removed the VRF_DEFAULT dependency from ospf6d.
2. The dependency on show command still exist
   will be fixed when the ospf6 master is available.

Co-authored-by: Harios <hari@niralnetworks.com>
Signed-off-by: Kaushik <kaushik@niralnetworks.com>
2020-09-01 03:02:46 -07:00
Jakub Urbańczyk
97f8514460 zebra: increase netlink receive buffer size
Signed-off-by: Jakub Urbańczyk <xthaid@gmail.com>
2020-09-01 11:35:16 +02:00
Pat Ruddy
318c1fa36f tests: topotest for bgp authentication
18 tests which cover
authenticated passord session extablishment
password removal
wrong password
over default, default prefix-based, vrf, vrf prefix-based, multi-vrf and
multi-vrf prefix-based configurations

Signed-off-by: Pat Ruddy <pat@voltanet.io>
2020-09-01 09:42:39 +01:00
Pat Ruddy
2734ff6bd8 bgpd: do not clear password if peer is dynamic
When deleting a dynamic peer, unsetting md5 password would cause
it to be unset on the listener allowing unauthenticated connections
from any peer in the range.
Check for dynamic peers in peer delete and avoid this.

Signed-off-by: Pat Ruddy <pat@voltanet.io>
2020-09-01 09:42:39 +01:00
Pat Ruddy
a4faae3aac bgpd: associate listener with the appropriate bgp instance
When setting authentication on a BGP peer in a VRF the listener is
looked up from a global list. However there is no check that the
listener is the one associated with the VRF being configured. This
can result in the wrong listener beiong configured with a password,
leaving the intended listener in an open authentication state.
To simplify this lookup stash a pointer to the bgp instance in
the listener on creating (in the same way as is done for NS-based
VRFS).

Signed-off-by: Pat Ruddy <pat@voltanet.io>
2020-09-01 09:42:26 +01:00
Donald Sharp
fb41c4f32d eigrpd: make show ip eigrp vrf all neighbor work correctly
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-08-31 14:42:09 -04:00
Donald Sharp
b1d26a4003 eigrpd: Make show ip eigrp vrf all interfaces work correctly
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-08-31 14:41:32 -04:00
Quentin Young
ddffdcf728
Merge pull request #7025 from opensourcerouting/silence-cli-warning
lib: silence overly verbose CLI warning
2020-08-31 14:03:25 -04:00
Renato Westphal
1bd4306909 lib: silence overly verbose CLI warning
When not using the transactional CLI mode, do not display a
warning when a YANG-modeled commmand doesn't perform any effective
configuration change.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2020-08-31 11:59:54 -03:00
Donald Sharp
10b3a32521 eigrpd: Fix show ip eigrp vrf all topology to actually work
Fix multiple forms of this command to behave appropriately
when `vrf all` is specified.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-08-31 08:46:17 -04:00
Kaushik
1eb17c771b lib : Fix when redist is performed with route-map using access-list.
1. Added new API for add/delete acl with route map notify.

Co-authored-by: harios <hari@niralnetworks.com>
Signed-off-by: Kaushik <kaushik@niralnetworks.com>
2020-08-31 04:25:10 -07:00
Pat Ruddy
e37e1e27e4 bgpd: do not unregister for prefix nexthop updates if nh exists
since the addition of srte_color to the comparison for bgp nexthops
it is possible to have several nexthops per prefix but since zebra
only sores a per prefix registration we should not unregister for
nh notifications for a prefix unti all the nexthops for that prefix
have been deleted. Otherwise we can get into a deadlock situation
where BGP thinks we have registered but we have unregistered from zebra.

Signed-off-by: Pat Ruddy <pat@voltanet.io>
2020-08-31 09:11:47 +00:00
Renato Westphal
545aeef1d1 bgpd: extend the NHT code to understand SR-TE colors
Extend the NHT code so that only the affected BGP routes are affected
whenever an SR-policy is updated on zebra.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2020-08-31 09:11:03 +00:00
Sebastien Merle
ef3e0d0476 bgpd: Add support for SR-TE Policies in route-maps
Example configuration:
    route-map SET_SR_POLICY permit 10
     set sr-te color 1
     !
    router bgp 1
     bgp router-id 1.1.1.1
     neighbor 2.2.2.2 remote-as 1
     neighbor 2.2.2.2 update-source lo
     address-family ipv4 unicast
      neighbor 2.2.2.2 next-hop-self
      neighbor 2.2.2.2 route-map SET_SR_POLICY in
     exit-address-family
     !
    !
Learned BGP routes from 2.2.2.2 are mapped to the SR-TE Policy
which is uniquely determined by the BGP nexthop (2.2.2.2 in this
case) and the SR-TE color in the route-map.

Co-authored-by: Renato Westphal <renato@opensourcerouting.org>
Co-authored-by: GalaxyGorilla <sascha@netdef.org>
Co-authored-by: Sebastien Merle <sebastien@netdef.org>
Signed-off-by: Sebastien Merle <sebastien@netdef.org>
2020-08-31 09:09:12 +00:00
Renato Westphal
f663c5819c bgpd: convert NHT code to use rb-trees instead of routing tables
Fist, routing tables aren't the most appropriate data structure
to store nexthops and imported routes since we don't need to do
longest prefix matches with that information.

Second, by converting the NHT code to use rb-trees, we can index
the nexthops using additional information, not only the destination
address.  This will be useful later to index bgpd's nexthops by
both destination and SR-TE color.

Co-authored-by: Sebastien Merle <sebastien@netdef.org>
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2020-08-31 09:09:05 +00:00
Rafael Zalamena
48a1bbdf76
Merge pull request #6925 from kuldeepkash/bgp_basic_functionality
tests: Add new tests to bgp-basic-functionality-topo1
2020-08-30 07:40:28 -03:00
Rafael Zalamena
7e8b7ecb53
Merge pull request #7020 from AnuradhaKaruppiah/evpn-rem-mac-fix
zebra: fix misc problems with EVPN-MH ES management
2020-08-30 07:19:23 -03:00
Donatas Abraitis
c90242e8c8
Merge pull request #7019 from mjstapp/fix_topo_stringio
tests: small topotest improvements for python3
2020-08-30 10:55:00 +03:00
Donald Sharp
b31ad7fc71 eigrpd: Cleanup eigrp interface display to respect 16 characters
Interface length is 16 characters add some spaces to make everything
line up right.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-08-28 20:14:42 -04:00
Anuradha Karuppiah
4cd940502d zebra: fix misc problems with ES management
1. MAC ref of a zero ESI was accidentally creating a new ES with zero
ES id.
2. When an ES was deleted and re-added the ES was not being sent to BGP
because of a stale flag that suppressed the update as a dup.

Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
2020-08-28 15:10:18 -07:00
Mark Stapp
3fb5678572
Merge pull request #7015 from donaldsharp/zebra_nht_no_heros_tonight
zebra: When shutting down an interface immediately notify about rnh
2020-08-28 17:08:32 -04:00
Donald Sharp
9271987f1e zebra: When we get a rib deletion event be smarter
When we get a rib deletion event and we already have
that particular route node in the queue to be reprocessed,
just note that someone from kernel land has done us dirty
and allow it to be cleaned up by normal processing

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-08-28 14:45:59 -04:00
Donald Sharp
0aaa722883 zebra: When shutting down an interface immediately notify about rnh
Imagine a situation where a interface is bouncing up/down.
The interface comes up and daemons like pbr will get a nht
tracking callback for a connected interface up and will install
the routes down to zebra.  At this same time the interface can
go down.  But since zebra is busy handling route changes ( from pbr )
it has not read the netlink message and can get into a situation
where the route resolves properly and then we attempt to install
it into the kernel( which is rejected ).  If the interface
bounces back up fast at this point, the down then up netlink
message will be read and create two route entries off the connected
route node.  Zebra will then enqueue both route entries for future processing.

After this processing happens the down/up is collapsed into an up
and nexthop tracking sees no changes and does not inform any upper
level protocol( in this case pbr ) that nexthop tracking has changed.
So pbr still believes the nexthops are good but the routes are not
installed since pbr has taken no action.

Fix this by immediately running rnh when we signal a connected
route entry is scheduled for removal.  This should cause
upper level protocols to get a rnh notification for the small
amount of time that the connected route was bouncing around like
a madman.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-08-28 14:45:59 -04:00
Mark Stapp
cd79342c12 tests: small topotest improvements for python3
Avoid unnecessary use of StringIO in one place, use version-
dependent method in another. Remove a couple of other py2->py3
problems.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2020-08-28 10:10:46 -04:00
Kuldeep Kashyap
19f4da0bec tests: Add new tests to bgp-basic-functionality-topo1
1. Added new tests to bgp-basic-functionality-topo1
3. Execution time increased by 55 sec

Signed-off-by: Kuldeep Kashyap <kashyapk@vmware.com>
2020-08-28 12:24:20 +00:00
Mark Stapp
5c2bb61763
Merge pull request #7017 from xThaid/netlink_fix
zebra: fix netlink batching
2020-08-28 08:20:28 -04:00