Commit Graph

23768 Commits

Author SHA1 Message Date
vivek
4115b2966b bgpd: Reset LLA NHT's interface if there is a change
For link-local IPv6 next hops, the next hop tracking is implemented based
on interface status changes. For this purpose, the ifindex is stored in
the NHT. Reset this value if a change in ifindex is noticed, such as for
example after a restart of the networking service.

Also add some additional debug logs.

Signed-off-by: Vivek Venkatraman <vivek@nvidia.com>
Updates: "bgpd: Switch LL nexthop tracking to be interface based"

Ticket: RM 2575386
Testing Done:
1. Manual verification
2. Precommit (#156), evpn-smoke (#155), bgp-smoke (#157), vrl (#158)
-- Precommit is clean, reported failures in evpn-smoke & vrl are resolved
-- some other tests fail in evpn-smoke, bgp-smoke & vrl, appear to be existing
-- or unrelated failures
2021-03-22 08:45:41 -04:00
Mark Stapp
c00471326e build: test program needs to be warning-free
One of the configure-time test programs produces a warning with
gcc 9 (at least), so it fails if -Werror is enabled. Fix that.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2021-03-22 08:41:14 -04:00
David Lamparter
833a54b757 lib: fix xref hash calculation
... to make it do what it says it does.

Signed-off-by: David Lamparter <equinox@diac24.net>
2021-03-22 12:50:27 +01:00
David Lamparter
a3c6749860 lib: add [XXXXX-XXXXX] log prefix & config
This logs the unique ID prefix from the xref that each log message call
has, and adds on/off knobs for both EC and unique ID printing.

Signed-off-by: David Lamparter <equinox@diac24.net>
2021-03-22 12:50:27 +01:00
David Lamparter
0e3967d766 lib: remove flog() macro
It was only used in one place.

Signed-off-by: David Lamparter <equinox@diac24.net>
2021-03-22 12:50:27 +01:00
David Lamparter
1b293b2be4 lib: get rid of flog() usage in NB code
This parametrized use of flog with variable EC and priority doesn't mesh
particularly well with the xref code & there isn't really much reason to
not use fixed/constant calls like this.

Signed-off-by: David Lamparter <equinox@diac24.net>
2021-03-22 12:50:27 +01:00
David Lamparter
e6b3732e90 lib: add bputs/bputch fbuf (bprintfrr) helpers
Just small utilities for when you already have a struct fbuf (i.e. when
bprintfrr() is used to construct longer text from multiple pieces.)

Signed-off-by: David Lamparter <equinox@diac24.net>
2021-03-22 12:50:27 +01:00
David Lamparter
992c42ef01
Merge pull request #8301 from donaldsharp/isis_spacing
isisd: Fix extra space after `router isis FOO`
2021-03-22 10:10:33 +01:00
David Lamparter
f0824c57dd
Merge pull request #8287 from mjstapp/more_gdb_in_configure
build: add -ggdb3 to dev build
2021-03-22 10:04:47 +01:00
David Lamparter
7183def9b1
Merge pull request #8298 from donaldsharp/isis_spelling
isisd: Fix spelling mistake
2021-03-22 10:03:38 +01:00
Donatas Abraitis
37916b2b11
Merge pull request #8121 from opensourcerouting/macro-cleanup
*: require ISO C11 + semicolons after file-scope macros
2021-03-22 11:00:34 +02:00
Donald Sharp
6b78d4c9f0
Merge pull request #8297 from adrianomarto/msdp-dscp-cs6
pimd: marking MSDP traffic as DSCP CS6
2021-03-21 19:43:01 -04:00
Donatas Abraitis
d3908d31d7
Merge pull request #8257 from donaldsharp/fix_bgp_metric
Fix bgp metric
2021-03-21 21:29:25 +02:00
Donald Sharp
31200a2963 isisd: Fix extra space after router isis FOO
Fix places where we are outputing an extra space.  This was
because it was prepping for vrf but we may not have a vrf.

Fixes: #8300
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-03-21 13:12:41 -04:00
Donald Sharp
6dfe243c38
Merge pull request #8278 from ckishimo/ospfv3_iface
ospf6d: fix iface commands lost when removing from area
2021-03-20 20:11:16 -04:00
Donald Sharp
13c0040db5
Merge pull request #8282 from volta-networks/fix_isisd_bfd_ipv4
isisd: fix BFD session when IPv6 not configured
2021-03-20 20:04:38 -04:00
Donald Sharp
ec7b142568 isisd: Fix spelling mistake
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-03-20 19:53:06 -04:00
Donald Sharp
cd28e264a3
Merge pull request #8291 from volta-networks/isis_timer_unstable
isisd: avoid lsp_sched loop when unstable
2021-03-20 19:52:01 -04:00
Adriano Marto Reis
b069b5680d pimd: marking MSDP traffic as DSCP CS6
Configuring the sockets used to establish MSDP connections so the
packets are marked as CS6

Signed-off-by: Adriano Marto Reis <adrianomarto@gmail.com>
2021-03-21 09:25:13 +10:00
Javier Garcia
7ed8c4b1fd pceplib: Fixing coverity messages.
Signed-off-by: Javier Garcia <javier.garcia@voltanet.io>
2021-03-20 22:21:09 +01:00
Chirag Shah
e48a9a90e0 bgpd: convert send-community to transactional cli
[no] neighbor <A.B.C.D|X:X::X:X|WORD> send-community

Signed-off-by: Chirag Shah <chirag@nvidia.com>
2021-03-19 22:23:00 -07:00
Christian Hopps
3f950192fe tests: add options for debugging topotest failures
Signed-off-by: Christian Hopps <chopps@labn.net>
2021-03-19 12:45:37 -04:00
Stephen Worley
97ec501ef0
Merge pull request #8129 from mjstapp/backup_recursives
zebra: modify backup nexthop handling for recursive routes
2021-03-19 12:30:51 -04:00
Trey Aspelund
150dbc5e94 doc: Add Displaying Routes by RD section
Add docs for commands to display BGP table per-RD.
Also update commands to mention flowspec, routes,
advertised-routes, and received-routes.

Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
2021-03-19 15:25:16 +00:00
Trey Aspelund
093d16a23c bgpd: Add 'rd all' keyword to EVPN/L3VPN show cmds
Adds support for 'rd all' matching for EVPN and L3VPN show commands.
Introduces evpn_show_route_rd_all_macip().
Cleanup some show commands to use SHOW_DISPLAY string constants.

Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
2021-03-19 15:24:50 +00:00
Mark Stapp
f0812f010e build: add -ggdb3 to dev build
Add a little more gdb-specific debugging info for dev builds.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2021-03-19 08:20:54 -04:00
Emanuele Di Pascale
d2232b3e21 isisd: avoid lsp_sched loop when unstable
no point in scheduling an LSP refresh immediately if we know it is
going to be postponed again due to the network still being in its
instability grace period

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2021-03-19 10:37:58 +01:00
Reuben Dowle
4ddc702ad2 nhrpd: Use %pSU instead of sockunion2str
Signed-off-by: Reuben Dowle <reuben.dowle@4rf.com>
2021-03-19 19:10:53 +13:00
Reuben Dowle
00683a1479 nhrpd: Fix some style issues
Signed-off-by: Reuben Dowle <reuben.dowle@4rf.com>
2021-03-19 09:31:45 +13:00
Mark Stapp
44544f191c
Merge pull request #8286 from donaldsharp/nhrp_xlref
nhrpd: Remove newline from log message
2021-03-18 14:30:33 -04:00
Donald Sharp
e43ba29689
Merge pull request #8263 from opensourcerouting/docker-update
tests: docker fixes & improvements
2021-03-18 13:59:30 -04:00
Donatas Abraitis
0966b412ba
Merge pull request #8283 from chiragshah6/mdev
bgpd: add seqno in bgp as-path access-list policy
2021-03-18 17:24:35 +02:00
Donald Sharp
dccd71c182 nhrpd: Remove newline from log message
We should not be putting new lines in log messages.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-03-18 10:32:01 -04:00
Emanuele Di Pascale
980390ce14 isisd: add debug logs to troubleshoot BFD issues
when we receive an event from BFDD and we end up throwing it away,
make sure that we log (with debug guards) the reason for this, so
we can troubleshoot issues like the one addressed by the previous
commit.

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2021-03-18 12:49:10 +01:00
Emanuele Di Pascale
0d5b1a3a79 isisd: fix BFD session when IPv6 not configured
A wrong check was silently skipping the initialization of the bfd_session
struct in the adjacency if the router was not configured for IPv6. This
would cause BFD events to be ignored regardless of the configuration.

Also add a function to return the "name" of an adjacency and use it in a
couple of places, including the new log, instead of repeating the same
code in a bunch of places.

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2021-03-18 12:49:10 +01:00
Donald Sharp
bb5dddf713
Merge pull request #8284 from mjstapp/fix_bgp_zero_timers
bgpd: use add_event instead of add_timer with zero timeout
2021-03-18 07:29:32 -04:00
Chirag Shah
e6e62ee52d doc: add seqno to bgp as path list section
Add sequence no option to bgp as-path list cli syntax.
Add sequence no to example config.
Add auto generated sequence no in running-config if its not
provided in config.

Signed-off-by: Chirag Shah <chirag@nvidia.com>
2021-03-17 22:06:53 -07:00
Chirag Shah
9b6f73ee9c bgpd: add seqno in bgp as-path access-list policy
Add optional parameter seqno to bgp as-patch policy
to inline with other bgp policies commands at same
level.

Testing Done:

config t
bgp as-path access-list foo1 permit _40_
bgp as-path access-list foo1 seq 5 permit _41_
bgp as-path access-list foo1 seq 8 permit _42_
bgp as-path access-list foo2 permit _43_
no bgp as-path access-list foo1 permit _41_
bgp as-path access-list foo1 permit 41$

show run:
bgp as-path access-list foo1 seq 8 permit _42_
bgp as-path access-list foo1 seq 10 permit 41$
bgp as-path access-list foo2 seq 5 permit _43_

Signed-off-by: Chirag Shah <chirag@nvidia.com>
2021-03-17 22:06:53 -07:00
Amol Lad
e8089de123 nhrpd: Set prefix length in NAT extension in resolution-reply
Signed-off-by: Reuben Dowle <reuben.dowle@4rf.com>
2021-03-18 16:35:41 +13:00
Reuben Dowle
9025515c25 nhrpd: Ensure invalid NAT extension info cannot be used
Signed-off-by: Reuben Dowle <reuben.dowle@4rf.com>
2021-03-18 16:35:41 +13:00
Reuben Dowle
18cc9c4293 nhrpd: Use SU_ADDRSTRLEN where appropriate
Signed-off-by: Reuben Dowle <reuben.dowle@4rf.com>
2021-03-18 16:35:41 +13:00
Amol Lad
611915ae89 nhrpd: populate correct prefix length in NAT extension in Reg-Reply
Signed-off-by: Reuben Dowle <reuben.dowle@4rf.com>
2021-03-18 16:35:41 +13:00
Amol Lad
85365e51f0 nhrpd: Add Claimed NBMA field in sh ip nhrp cache output
Signed-off-by: Reuben Dowle <reuben.dowle@4rf.com>
2021-03-18 16:35:41 +13:00
Amol Lad
94eae49d01 nhrpd: add NHS details in NAT Extension header
Hub uses this to check if is itself behind a NAT

Signed-off-by: Reuben Dowle <reuben.dowle@4rf.com>
2021-03-18 16:35:41 +13:00
Amol Lad
1bd508da17 nhrpd: copy NAT extension if present else attempt to populate
Signed-off-by: Reuben Dowle <reuben.dowle@4rf.com>
2021-03-18 16:35:41 +13:00
Amol Lad
9c292647a9 nhrpd: parse multiple CIEs in NAT extension header
Cisco devices send can send multiple CIEs so we must search for the correct CIE

Signed-off-by: Reuben Dowle <reuben.dowle@4rf.com>
2021-03-18 16:35:41 +13:00
Amol Lad
5e70e83b9e nhrpd: Add empty NAT extension header for Non Natted Spoke in Resolution-Reply
Signed-off-by: Reuben Dowle <reuben.dowle@4rf.com>
2021-03-18 16:35:41 +13:00
Amol Lad
1e52c95464 nhrpd: Set correct MTU in NHRP extensions
Signed-off-by: Reuben Dowle <reuben.dowle@4rf.com>
2021-03-18 16:35:41 +13:00
Reuben Dowle
999a07f0d4 nhrpd: Send prefix length in NAT extension the same as is done by Cisco
Signed-off-by: Reuben Dowle <reuben.dowle@4rf.com>
2021-03-18 16:35:41 +13:00
Gaurav Goyal
c2cffffb37 nhrpd: Add CIE to NAT extension in resolution requests
Signed-off-by: Reuben Dowle <reuben.dowle@4rf.com>
2021-03-18 16:35:41 +13:00