Donatas Abraitis
ef56aee47c
bgpd: Add BGP Extended message support
...
Implement https://www.rfc-editor.org/rfc/rfc8654.txt
```
> | jq '."192.168.10.25".neighborCapabilities.extendedMessage'
"advertisedAndReceived"
```
Another side is Bird:
```
BIRD 2.0.7 ready.
Name Proto Table State Since Info
v4 BGP --- up 19:39:15.689 Established
BGP state: Established
Neighbor address: 192.168.10.123
Neighbor AS: 65534
Local AS: 65025
Neighbor ID: 192.168.100.1
Local capabilities
Multiprotocol
AF announced: ipv4
Route refresh
Extended message
Graceful restart
4-octet AS numbers
Enhanced refresh
Long-lived graceful restart
Neighbor capabilities
Multiprotocol
AF announced: ipv4
Route refresh
Extended message
Graceful restart
4-octet AS numbers
ADD-PATH
RX: ipv4
TX:
Enhanced refresh
Session: external AS4
Source address: 192.168.10.25
Hold timer: 140.139/180
Keepalive timer: 9.484/60
Channel ipv4
State: UP
Table: master4
Preference: 100
Input filter: ACCEPT
Output filter: ACCEPT
Routes: 9 imported, 3 exported, 8 preferred
Route change stats: received rejected filtered ignored accepted
Import updates: 9 0 0 0 9
Import withdraws: 2 0 --- 2 0
Export updates: 11 8 0 --- 3
Export withdraws: 0 --- --- --- 0
BGP Next hop: 192.168.10.25
```
Tested at least as well with to make sure it works with backward compat.:
ExaBGP 4.0.2-1c737d99.
Arista vEOS 4.21.14M
Testing by injecint 10k routes with:
```
sharp install routes 172.16.0.1 nexthop 192.168.10.123 10000
```
Before extended message support:
```
2021/03/01 07:18:51 BGP: u1:s1 send UPDATE len 4096 (max message len: 4096) numpfx 809
2021/03/01 07:18:51 BGP: u1:s1 send UPDATE len 4096 (max message len: 4096) numpfx 809
2021/03/01 07:18:51 BGP: u1:s1 send UPDATE len 4096 (max message len: 4096) numpfx 809
2021/03/01 07:18:51 BGP: u1:s1 send UPDATE len 4096 (max message len: 4096) numpfx 809
2021/03/01 07:18:51 BGP: u1:s1 send UPDATE len 4096 (max message len: 4096) numpfx 809
2021/03/01 07:18:51 BGP: u1:s1 send UPDATE len 4096 (max message len: 4096) numpfx 809
2021/03/01 07:18:52 BGP: u1:s1 send UPDATE len 4096 (max message len: 4096) numpfx 809
2021/03/01 07:18:52 BGP: u1:s1 send UPDATE len 4096 (max message len: 4096) numpfx 809
2021/03/01 07:18:52 BGP: u1:s1 send UPDATE len 4096 (max message len: 4096) numpfx 809
2021/03/01 07:18:52 BGP: u1:s1 send UPDATE len 4096 (max message len: 4096) numpfx 809
2021/03/01 07:18:52 BGP: u1:s1 send UPDATE len 4096 (max message len: 4096) numpfx 809
2021/03/01 07:18:52 BGP: u1:s1 send UPDATE len 2186 (max message len: 4096) numpfx 427
2021/03/01 07:18:53 BGP: u1:s1 send UPDATE len 3421 (max message len: 4096) numpfx 674
```
After extended message support:
```
2021/03/01 07:20:11 BGP: u1:s1 send UPDATE len 50051 (max message len: 65535) numpfx 10000
```
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-03-04 21:32:36 +02:00
Donatas Abraitis
b764e4682a
doc: Add rfc8654 to supported RFCs list
...
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-03-03 22:21:08 +02:00
Donatas Abraitis
8b6ff0de56
tests: Use BGP Extended Message length
...
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-03-03 22:21:08 +02:00
Rafael Zalamena
fecbc5d2e7
Merge pull request #8189 from idryzhov/topotest-mkdir
...
tests: don't complain when /tmp/topotests exists
2021-03-03 19:30:11 +00:00
Igor Ryzhov
f60e5fd3d1
Merge pull request #8183 from kuldeepkash/multicast_pim_bsm
...
tests: Fix for test failure in PR #8158
2021-03-03 18:05:41 +03:00
Igor Ryzhov
cac0ed050e
tests: don't complain when /tmp/topotests exists
...
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-03-03 14:22:15 +03:00
Patrick Ruddy
6e2489de37
Merge pull request #8168 from donaldsharp/test_evpn
...
Test cleanup and fix evpn_type5_test_topo1
2021-03-03 10:28:39 +00:00
Donald Sharp
6640d900cd
Merge pull request #8170 from mjstapp/fix_sa_pim
...
bgpd, pimd: fix coverity SA warnings
2021-03-02 15:51:57 -05:00
Donald Sharp
17d1e8a386
tests: Don't generate support bundles when we get the results we want
...
We are generating support bundles for tests being run that
are passing. Tell the system...
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-03-02 13:41:50 -05:00
Donald Sharp
9dfe1acd2a
tests: Remove sleep(60) and look for convergence
...
Sleeping when convergence is not guaranteed in 60 seconds
and then testing the rib to see if it has the data is
not a great way to have a test complete all the time.
Modify the code so that we check for convergence
and if we have converged then look in the rib.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-03-02 13:41:50 -05:00
Stephen Worley
b1077f0fa2
Merge pull request #8152 from idryzhov/fix-zebra-blackhole
...
zebra: don't use kernel nexthops for blackhole routes
2021-03-02 11:50:46 -05:00
Russ White
4d3cdc2cf9
Merge pull request #8150 from pguibert6WIND/ecomm_seq_0_possible
...
bgpd: accept (ext)community list sequence number set to 0
2021-03-02 11:46:41 -05:00
Russ White
8b52859575
Merge pull request #8175 from mjstapp/fix_printfrr_nulls
...
lib, bgpd: handle NULL inputs in printfrr extensions
2021-03-02 11:36:49 -05:00
Kuldeep Kashyap
d99438d27d
tests: Fix for test failure in PR #8158
...
1. There were few tests where routes were configured with blackhole and
non-blackhole nexthops simultaneously, enhanced tests accordingly and
verified in master branch and with PR #8158 changes.
Signed-off-by: Kuldeep Kashyap <kashyapk@vmware.com>
2021-03-02 05:32:28 -08:00
Donald Sharp
e7528866cb
Merge pull request #8084 from ranjanyash54/spf_json
...
ospf6d: Json support added for command "show ipv6 ospf6 spf tree [json]"
2021-03-02 07:26:49 -05:00
Donald Sharp
fe914c4b60
Merge pull request #7951 from mjstapp/fix_cancel_event
...
libs, bgpd: improve task cancellation by argument value
2021-03-02 07:21:47 -05:00
Patrick Ruddy
e1cfd75ffb
Merge pull request #8021 from AnuradhaKaruppiah/evpn-weak-override-fix
...
zebra: disable setting weak override flag in neigh updates
2021-03-02 10:44:43 +00:00
Patrick Ruddy
11b5777f13
Merge pull request #8117 from AnuradhaKaruppiah/evpn-consistency-checks
...
bgpd: enable ES consistency checks on first ES add
2021-03-02 10:37:59 +00:00
Yash Ranjan
305b639bca
ospf6d: Json support added for command "show ipv6 ospf6 spf tree [json]"
...
Modify code to add JSON format output in show command
"show ipv6 ospf6 spf tree" with proper formating
Signed-off-by: Yash Ranjan <ranjany@vmware.com>
2021-03-02 02:14:57 -08:00
Donatas Abraitis
c103ac43de
Merge pull request #8172 from donaldsharp/more_pytest_bgp
...
More pytest stuff
2021-03-02 09:30:06 +02:00
Donatas Abraitis
3ca7090fdc
Merge pull request #8178 from donaldsharp/bgp_fib_install
...
bgpd: Wait for Install should not always set the flag
2021-03-02 08:56:35 +02:00
Donald Sharp
188b0db9d4
Merge pull request #8171 from mjstapp/print_nh_null
...
lib: print NULL for NULL nexthops
2021-03-01 20:22:54 -05:00
Mark Stapp
8e2c653ed3
lib: protect printfrr extensions from NULL input
...
Protect the lib printfrr extension handlers from NULL inputs.
Signed-off-by: Mark Stapp <mjs@voltanet.io>
2021-03-01 15:41:30 -05:00
Mark Stapp
001ab42b19
bgpd: protect bgp printfrr extension from NULLs
...
Protect the bgp printfrr extension from NULL input.
Signed-off-by: Mark Stapp <mjs@voltanet.io>
2021-03-01 15:40:51 -05:00
Donald Sharp
a1b773e287
bgpd: Wait for Install should not always set the flag
...
If we are filtering a route due to any of the filter reasons
we should not be setting the BGP_NODE_FIB_INSTALL_FIB_PENDING
flag. This is especially evident with say a loopback that
is covered by a network statement. When we receive the route
back from our peer we should not be setting the
BGP_NODE_FIB_INSTALL_PENDING flag on it.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-03-01 13:09:11 -05:00
Igor Ryzhov
4be03ff4ca
zebra: don't use kernel nexthops for blackhole routes
...
Fixes #6522 and #8149 .
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-03-01 17:47:38 +03:00
Donald Sharp
5980ad0ae0
tests: Run black
against tests again to clean up formatting
...
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-03-01 09:18:49 -05:00
Donald Sharp
b9a210f951
tests: Add pytest.mark.snmp
...
Add the ability to run snmp tests
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-03-01 09:17:53 -05:00
Donald Sharp
5ad1fd54a8
tests: Add some pytest.mark.bgpd
...
Add some pytest.mark.bgpd. This is about all I could stomach doing
in one patch. I'll do another pass at another time.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-03-01 09:11:38 -05:00
Mark Stapp
e0b5ca875b
lib: print NULL for NULL nexthops
...
Instead of crashing, print "NULL" when printfrr callback for
nexthops is called for a NULL nexthop argument.
Signed-off-by: Mark Stapp <mjs@voltanet.io>
2021-03-01 08:51:13 -05:00
Mark Stapp
d934e491ca
bgpd, pimd: fix coverity SA warnings
...
Fix a couple of coverity warnings in pim and bgp.
Signed-off-by: Mark Stapp <mjs@voltanet.io>
2021-03-01 08:46:29 -05:00
Santosh P K
0a1e7b612a
Merge pull request #8073 from idryzhov/vtysh-show-config
...
lib: allow "show config running" command for non-transactional CLI
2021-03-01 18:40:06 +05:30
Philippe Guibert
a08032feae
bgpd: accept (ext)community list sequence number set to 0
...
now that sequence number is configurable, there is no problem in
permitting to configure seq 0 sequence number.
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2021-03-01 11:21:13 +01:00
Mark Stapp
8cf565010c
Merge pull request #8166 from donaldsharp/ospfv3_info
...
ospf6d: turn some info->debug
2021-02-28 10:57:01 -05:00
Donald Sharp
1bc19a9e1a
ospf6d: turn some info->debug
...
The log is being spammed every spf interval:
Feb 27 16:19:34 ospf6d[462371]: SPF processing: # Areas: 1, SPF runtime: 0 sec 2043 usec, Reason: R+, R-, N+
Feb 27 16:20:59 ospf6d[462371]: SPF: Scheduled in 0 msec
Feb 27 16:20:59 ospf6d[462371]: SPF processing: # Areas: 1, SPF runtime: 0 sec 2284 usec, Reason: R+, R-
Feb 27 16:21:01 ospf6d[462371]: SPF: Scheduled in 0 msec
Feb 27 16:21:01 ospf6d[462371]: SPF processing: # Areas: 1, SPF runtime: 0 sec 2153 usec, Reason: R+, R-, N-
There is no reason to do this
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-02-27 10:42:07 -05:00
Mark Stapp
ae34a9c5bd
Merge pull request #8164 from opensourcerouting/isisd-ti-lfa-fixes
...
isisd: TI-LFA fixes
2021-02-27 10:13:14 -05:00
Renato Westphal
784f92f052
isisd: handle corner case involving TI-LFA and the SR No-PHP flag
...
When the last SID in the TI-LFA repair list is an Adj-SID from the
penultimate hop router towards the final hop, the No-PHP flag of the
original Prefix-SID must be honored in the repair list itself since
the penultimate hop router won't have a chance to process that SID
and pop it if necessary.
Reported-by: Fredi Raspall <fredi@voltanet.io>
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-02-26 15:54:01 -03:00
Renato Westphal
5dd20c560e
isisd: remove assert from the TI-LFA repair list computation algorithm
...
In some cases it's possible that the TI-LFA algorithms will try to
compute a SID repair list more than once for the same backup nexthop
[1]. This of course shouldn't be allowed, as a backup nexthop can't
have multiple label stacks. When that happens, we should just ignore
the new repair list if one is already applied, instead of asserting
and crashing the daemon.
[1] One scenario this can happen is when there's ECMP involving
different P-nodes in the PQ-space intersection.
Reported-by: Fredi Raspall <fredi@voltanet.io>
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-02-26 15:54:01 -03:00
Renato Westphal
f691f2ebbd
doc: improve documentation of the IS-IS fast reroute commands
...
* Clarify which commands are applicable to which flavors of LFA;
* Explain the default prefix priority for different prefix types;
* Rearrange some command descriptions so that they appear in this
order: local LFA, remote LFA and then TI-LFA.
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2021-02-26 15:54:01 -03:00
Mark Stapp
ca7b6587b2
Merge pull request #8157 from kuldeepkash/multicast_pim_bsm
...
tests: Fix for blackhole test in test_mcast_pim_bsmp suite
2021-02-26 11:48:17 -05:00
Kuldeep Kashyap
5900cf46f7
tests: Fix for blackhole test in test_mcast_pim_bsmp suite
...
1. Fixed for blackhole test in test_mcast_pim_bsmp suite
Signed-off-by: Kuldeep Kashyap <kashyapk@vmware.com>
2021-02-25 23:49:58 -08:00
Donald Sharp
30b3fb20d4
Merge pull request #8139 from volta-networks/fix_ospf6_show_database
...
ospf6d: fix display of unknown LSAs in show ipv6 ospf6 database command
2021-02-25 06:34:52 -05:00
Patrick Ruddy
797fa75222
Merge pull request #8025 from AnuradhaKaruppiah/lacp-bypass
...
bgp, zebra: Support for lacp bypass with EVPN-MH
2021-02-25 09:26:11 +00:00
Donatas Abraitis
2993bf94a0
Merge pull request #8146 from qlyoung/doc-fix-tracing-indent
...
doc: fix indent depth in tracing doc
2021-02-25 09:54:50 +02:00
Jafar Al-Gharaibeh
cb4756fa74
Merge pull request #8148 from qlyoung/fix-pim-nb-static-mroute-loop-check
...
pimd: do static mroute loop check in NB VALIDATE
2021-02-24 17:50:57 -06:00
Quentin Young
e348e10e21
pimd: do static mroute loop check in NB VALIDATE
...
We can proactively check whether this mroute will be nacked by loopfree
MFC checks so let's do it in the apply phase and emit a useful error
message.
Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-02-24 17:57:26 -05:00
Mark Stapp
eb3e4dc35c
Merge pull request #8128 from qlyoung/docs-cleanup
...
General docs cleanup
2021-02-24 16:53:42 -05:00
Quentin Young
7f4d2e5aea
doc: fix indent depth in tracing doc
...
Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-02-24 14:53:33 -05:00
Quentin Young
e024c08200
Merge pull request #7957 from idryzhov/ospf-instance
2021-02-24 13:30:10 -05:00
Quentin Young
7a32a3ec53
Merge pull request #8023 from volta-networks/feat_add_agentx_enabled_hook
...
lib: add agentx_enabled hook
2021-02-24 13:24:33 -05:00