Donatas Abraitis
2d4da959a6
tests: Check if match ipv6 address [prefix-list]
CMDs work for ripng
...
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-06-22 00:14:03 +03:00
Donatas Abraitis
bfbe4e629d
doc: Add documentation for route-maps for ripng
...
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-06-22 00:14:02 +03:00
Igor Ryzhov
29642ac378
ripngd: add ability to match by ipv6 access/prefix list in route-maps
...
Closes #8141 .
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2023-06-21 23:20:18 +03:00
mobash-rasool
d94c373266
Merge pull request #13731 from cyberstorm-mauritius/cid1519841
...
vrrp: check return value for turning off multicast for v6
2023-06-21 23:15:41 +05:30
Donatas Abraitis
fd8a8b7596
Merge pull request #13797 from sri-mohan1/srib-ripng
...
ripngd: changes for code maintainability
2023-06-21 17:00:00 +03:00
Russ White
be4cfbd2b8
Merge pull request #13790 from pguibert6WIND/set_aspath_exclude
...
bgpd: add 'set as-path exclude all' command
2023-06-21 08:48:21 -04:00
Mark Stapp
b20acd03f1
Merge pull request #13780 from opensourcerouting/fix/use_sync_zapi_for_labels
...
bgpd: Use synchronous way to get labels from Zebra
2023-06-21 07:49:07 -04:00
Donatas Abraitis
52dde8747b
zebra: Ignore non GR-aware zclient handling for BGP
...
This is for synchronous client (label/table manager) - aka session_id == 1.
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-06-20 20:50:40 +03:00
Donatas Abraitis
257a0e0688
bgpd: Do not initialize global variable zclient_sync to NULL
...
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-06-20 20:50:40 +03:00
Donatas Abraitis
20c2c8787a
zebra: Show session id when printing an error when the client disconnects
...
Before:
```
2023/06/18 22:00:42 ZEBRA: [VXKFG-8SJRV][EC 4043309121] Client 'bgp' encountered an error and is shutting down.
2023/06/18 22:00:42 ZEBRA: [VXKFG-8SJRV][EC 4043309121] Client 'bgp' encountered an error and is shutting down.
```
After:
```
2023/06/18 22:06:44 ZEBRA: [N5M5Y-J5BPG][EC 4043309121] Client 'bgp' (session id 0) encountered an error and is shutting down.
2023/06/18 22:06:44 ZEBRA: [N5M5Y-J5BPG][EC 4043309121] Client 'bgp' (session id 1) encountered an error and is shutting down.
```
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-06-20 20:50:40 +03:00
Donatas Abraitis
cf8a749934
bgpd: Reuse bgp_zebra_label_manager_ready() helper function
...
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-06-20 20:50:40 +03:00
Donatas Abraitis
2b768c5295
bgpd: Retry connecting to synchronouse label manager if not ready
...
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-06-20 20:50:38 +03:00
Donatas Abraitis
0043ebab99
bgpd: Use synchronous way to get labels from Zebra
...
Both the label manager and table manager zapi code send data requests via zapi
to zebra and then immediately listen for a response from zebra. The problem here
is of course that the listen part is throwing away any zapi command that is not
the one it is looking for.
ISIS/OSPF and PIM all have synchronous abilities via zapi, which they all
do through a special zapi connection to zebra. BGP needs to follow this model
as well. Additionally the new zclient_sync connection that should be created,
a once a second timer should wake up and read any data on the socket to
prevent problems too much data accumulating in the socket.
```
r3# sh bgp labelpool summary
Labelpool Summary
-----------------
Ledger: 3
InUse: 3
Requests: 0
LabelChunks: 1
Pending: 128
Reconnects: 1
r3# sh bgp labelpool inuse
Prefix Label
---------------------------
10.0.0.1/32 16
192.168.31.0/24 17
192.168.32.0/24 18
r3#
```
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-06-20 20:50:10 +03:00
Donatas Abraitis
508deadf3d
tests: Adjust tests for BGP LU labelpool output
...
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-06-20 20:46:34 +03:00
Jafar Al-Gharaibeh
2be9ce6cd8
Merge pull request #13801 from LabNConsulting/chopps/latest-checkpatch
...
Import latest checkpatch.pl from linux
2023-06-20 10:41:01 -05:00
Russ White
eb28d67ed7
Merge pull request #13800 from idryzhov/fix-rip-ripd-crash
...
fix crashes in rip and ripng
2023-06-20 10:40:52 -04:00
Jafar Al-Gharaibeh
3917d78f4c
Merge pull request #13809 from LabNConsulting/chopps/mgmtdoc
...
doc: start of mgmtd developer doc
2023-06-20 09:04:55 -05:00
Russ White
158920f16b
Merge pull request #13811 from dpward/ospfv3-seqnum-wrap
...
ospf6d: Increment sequence number correctly in Authentication Trailer
2023-06-20 09:26:19 -04:00
Russ White
4d9fb376c8
Merge pull request #13728 from opensourcerouting/fix/addpath_drop_non_best_addpaths
...
bgpd: Implement neighbor X addpath-tx-best-selected command
2023-06-20 09:20:36 -04:00
Russ White
554c2e0350
Merge pull request #13750 from louis-6wind/fix-no-retain-memory-usage
...
bgpd: fix memory usage of vpn no retain
2023-06-20 09:19:50 -04:00
Russ White
e6b33e137f
Merge pull request #13758 from cscarpitta/bugfix/fix-read-beyond-stream-isis-asla
...
isisd: Fix read beyond end of stream of ASLA Sub-TLV parsing
2023-06-20 09:19:23 -04:00
Russ White
c57667022c
Merge pull request #13769 from opensourcerouting/fix/bgp_peer-group_show_advertised
...
bgpd: Allow using peer-group for listing advertised-routes, etc.
2023-06-20 09:18:52 -04:00
Russ White
2cfc0ba8e9
Merge pull request #13665 from pguibert6WIND/issue_13616_pr
...
topotests: label per nexthop test adds add a while loop for mpls table
2023-06-20 09:18:16 -04:00
Russ White
514d3b397a
Merge pull request #13666 from pguibert6WIND/issue_13638_pr
...
topotests: structural issues in bgp_local_as_dotplus_private_remove
2023-06-20 09:17:51 -04:00
Russ White
68da3eab07
Merge pull request #13524 from pguibert6WIND/mpls_vpn_lsr_redistribute
...
MPLS vpn LSR redistribute
2023-06-20 09:13:33 -04:00
Russ White
95070f2eef
Merge pull request #13557 from anlancs/fix/bgpd-evpn-rmac-best-path
...
bgpd: Fix missing deletion of evpn routes
2023-06-20 09:12:51 -04:00
Russ White
40502902f4
Merge pull request #13394 from mjstapp/fix_zebra_mpls_config
...
zebra: clarify interface-level mpls config
2023-06-20 09:10:53 -04:00
Russ White
56a10caa03
Merge pull request #12971 from taspelund/trey/mac_vrf_soo_upstream
...
bgpd: Add MAC-VRF Site-of-Origin support
2023-06-20 09:08:28 -04:00
mobash-rasool
53a9aee618
Merge pull request #13810 from chiragshah6/fdev2
...
vrrpd: add priority field into interface json
2023-06-20 12:45:18 +05:30
Philippe Guibert
f2732f531f
topotests: label per nexthop test adds add a while loop for mpls table
...
The bgp_vpnv4_per_nexthop_label tests only check to see if the mpls labels
are installed one time. Test runs show that all but one label is installed.
More than likely the test has asked for data while zebra is still installing
it. the mpls_label_check functions must check this result multiple times as
that system may be under heavy load.
A loop is introduced in order to let zebra check the mpls table.
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2023-06-20 09:09:22 +02:00
Philippe Guibert
d1e16777d5
topotests: structural issues in bgp_local_as_dotplus_private_remove
...
This test has several issues:
A) The convergence function is spamming the show neighbor command until success,
if the neighbor never comes up the test will never finish. This adds unnecessary
load to an already loaded test system. Use run_and_expect to properly wait for
the neighbor relationship to come up.
B) The convergence function should not sleep for 1 second *After* the neighbor
is established
C) The _bgp_as_path() function fails if the prefix has not been received yet.
This looking for the prefix data should be within a run_and_expect() functionality.
Else a loaded test system will fail in this function because while we may be in
an established state, prefixes might not yet have been exchanged and there is no
point in failing the test without giving the system some time to actually converge.
Fix those points, similarly to what has been fixed in
bgp_local_as_private_remove test.
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2023-06-20 09:08:33 +02:00
Christian Hopps
181fab6d06
tools: checkpatch: FRR modifications to linux checkpatch.pl
...
Signed-off-by: Christian Hopps <chopps@labn.net>
2023-06-20 01:05:30 -04:00
Christian Hopps
786a1e95bc
doc: add the linux doc for checkpatch.pl
...
Signed-off-by: Christian Hopps <chopps@labn.net>
2023-06-20 01:05:30 -04:00
Christian Hopps
f7bec5aab1
tools: unmodified import of scripts/checkpatch.pl from linux
...
0ee3e7b8893e * checkpatch: get default codespell dictionary path from package location
Signed-off-by: Christian Hopps <chopps@labn.net>
2023-06-20 01:05:30 -04:00
Christian Hopps
a552543640
doc: start of mgmtd developer doc
...
- docs on how to convert daemon to mgmtd and some diagrams
- and a fix for code-block in cspf.rst
Signed-off-by: Christian Hopps <chopps@labn.net>
2023-06-19 18:13:37 -04:00
David Ward
9a2d6d98ec
ospf6d: Increment sequence number correctly in Authentication Trailer
...
According to RFC 7166, the sequence number should be treated as an
unsigned 64-bit value, although it is stored as two 32-bit values.
When incrementing it, the code caused the lower-order 32-bit value
to skip from 0xFFFFFFFE to 0. As a side effect, an error was never
produced if the full 64-bit sequence number wrapped.
Fixes : #13805
Signed-off-by: David Ward <david.ward@ll.mit.edu>
2023-06-19 16:00:38 -04:00
Sindhu Parvathi Gopinathan
232e8ef704
vrrpd: add priority field into interface json
...
'Priority' attribute is missing in "show vrrp interface <intf> json"
output. Whereas it is there in non-json output.
It has been added now in show vrrp interface json output.
Before Fix:
```
vrrp1# show vrrp interface swp5.101 json
[
{
"vrid":2,
"version":3,
"autoconfigured":false,
"shutdown":false,
"preemptMode":true,
"acceptMode":true,
"interface":"swp5.101",
"advertisementInterval":1000,
"v4":{
"interface":"vrrp4-11-2",
"vmac":"00:00:5e:00:01:02",
"primaryAddress":"50.0.0.2",
"status":"Master",
"effectivePriority":110,
"masterAdverInterval":1000,
"skewTime":570,
"masterDownInterval":3570,
"stats":{
"adverTx":248456,
"adverRx":1,
"garpTx":1,
"transitions":2
},
"addresses":[
"50.0.0.1"
]
},
"v6":{
"interface":"vrrp6-11-2",
"vmac":"00:00:5e:00:02:02",
"primaryAddress":"fe80::7f1:49e7:768c:aa73",
"status":"Master",
"effectivePriority":110,
"masterAdverInterval":1000,
"skewTime":570,
"masterDownInterval":3570,
"stats":{
"adverTx":248455,
"adverRx":1,
"neighborAdverTx":1,
"transitions":2
},
"addresses":[
"2001:50::1"
]
}
}
]
vrrp1#
```
After Fix:
```
vrrp1# show vrrp interface swp5.101 json
[
{
"vrid":2,
"version":3,
"autoconfigured":false,
"shutdown":false,
"preemptMode":true,
"acceptMode":true,
"interface":"swp5.101",
"advertisementInterval":1000,
"priority":110, ====> priority added into json output
"v4":{
"interface":"vrrp4-11-2",
"vmac":"00:00:5e:00:01:02",
"primaryAddress":"50.0.0.2",
"status":"Master",
"effectivePriority":110,
"masterAdverInterval":1000,
"skewTime":570,
"masterDownInterval":3570,
"stats":{
"adverTx":15,
"adverRx":4,
"garpTx":1,
"transitions":2
},
"addresses":[
"50.0.0.1"
]
},
"v6":{
"interface":"vrrp6-11-2",
"vmac":"00:00:5e:00:02:02",
"primaryAddress":"fe80::7f1:49e7:768c:aa73",
"status":"Master",
"effectivePriority":110,
"masterAdverInterval":1000,
"skewTime":570,
"masterDownInterval":3570,
"stats":{
"adverTx":13,
"adverRx":5,
"neighborAdverTx":1,
"transitions":2
},
"addresses":[
"2001:50::1"
]
}
}
]
```
Ticket:#3502432
Issue:3502432
Testing: UT done
Signed-off-by: Sindhu Parvathi Gopinathan's <sgopinathan@nvidia.com>
2023-06-19 10:59:06 -07:00
Philippe Guibert
92550adfc7
bgpd: add 'set as-path exclude all' command
...
It is not possible to flush all the incoming as-path list
from a given BGP update.
Add a route-map set command to remove all as-paths
from a given AS path. Add the necessary tests.
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2023-06-19 18:04:44 +02:00
sri-mohan1
df22d15d7c
ripngd: changes for code maintainability
...
these changes are for improving the code maintainability and readability
Signed-off-by: sri-mohan1 <sri.mohan@samsung.com>
2023-06-19 14:55:45 +05:30
Donatas Abraitis
4230f85bef
Merge pull request #13798 from donaldsharp/bgp_suppression
...
bgpd: some safi's do not mix with bgp suppress-fib
2023-06-18 11:58:08 +03:00
Donatas Abraitis
253135ca2c
Merge pull request #13765 from AbhishekNR/query-max-response-time
...
pim6d: Correcting the help string
2023-06-18 11:48:29 +03:00
Donatas Abraitis
27d23c1ce7
Merge pull request #13796 from anlancs/doc-wrong-code-block
...
doc: Fix one syntax error for code block
2023-06-18 11:35:29 +03:00
Louis Scalbert
e3d2aeac17
topotests: import vpn to default vrf in bgp_vpnv4_noretain
...
Test that importing VPN prefixes into the default VRF is possible with
the no retain feature.
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-06-16 14:18:44 +02:00
Louis Scalbert
22dfa04b78
topotests: more tests in bgp_vpnv4_noretain
...
Add more VRFs in bgp_vpnv4_noretain and test combinations of no-retain
/ retain and import / un-import.
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-06-16 14:18:34 +02:00
Louis Scalbert
d629c2f419
topotests: check protocol convergence at init in bgp_vpnv4_noretain
...
Check that the BGP session is Established before starting the tests.
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-06-16 14:18:25 +02:00
Louis Scalbert
1a2b340892
topotests: check r2 vpn table in bgp_vpnv4_noretain
...
Remove no retain in r2 and check that r2 VPN table remains the same
after r1 configuration changes.
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-06-16 14:18:25 +02:00
Louis Scalbert
9aa2e5b1cd
topotests: do not import r1 vrf1 to itself bgp_vpnv4_noretain
...
Do not import r1 vrf1 to itself in order to check that r1 vrf1 prefixes
are only in VPN table because it is needed for advertising the prefixes
to other routers.
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-06-16 14:18:25 +02:00
Louis Scalbert
a92a2683a3
topotests: filter out void RD in bgp_vpnv4_noretain
...
Filter out route-distinguishers that have no prefix in "show bgp table
json"
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-06-16 14:18:25 +02:00
Louis Scalbert
fe993cb25f
topotests: router relative variables in bgp_vpnv4_noretain
...
Change IP addresses, label, RD and RT to match the router number
and VRF number.
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-06-16 14:18:25 +02:00
Louis Scalbert
bf636d3712
topotests: apply style to bgp_vpnv4_noretain
...
Apply style cosmetic changes to bgp_vpnv4_noretain with "black".
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-06-16 14:18:25 +02:00