Commit Graph

30643 Commits

Author SHA1 Message Date
Rafael Zalamena
a89958e508 doc: document new static BFD commands
Let the user know how to use the static route monitoring commands.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2023-01-13 15:32:12 -03:00
Rafael Zalamena
4fd9906bcf staticd: fix bug on route reinstallation
When configuring a route with multiple next hops on boot and the
interface is missing the route never shows up (even after interface is
properly learned).

Fix: force route clean up by uninstalling it and putting it back
entirely instead of just updating the missing next hop.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2023-01-13 15:32:12 -03:00
Rafael Zalamena
d8c78a8db5 staticd: add command to show monitored routes
Add command to visualize all monitored routes and their state.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2023-01-13 15:32:12 -03:00
Rafael Zalamena
e4c3da43ce zebra: send BFD messages to staticd
Add logic to allow `zebra` to reroute BFD messages for `staticd`.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2023-01-13 15:32:12 -03:00
Rafael Zalamena
e280279d5a lib,staticd: BFD integration CLI commands
Implement the static route monitoring feature with BFD integration.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2023-01-13 15:32:12 -03:00
Rafael Zalamena
351ad68405 staticd: BFD integration northbound support
Implement all BFD integration northbound callbacks and integrate BFD
with `staticd` route installation procedure.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2023-01-13 15:32:12 -03:00
Rafael Zalamena
73df597f5e yang: static route BFD monitoring
Define a generic BFD monitoring group template and use it to add support
for static route monitoring.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2023-01-13 15:32:12 -03:00
Rafael Zalamena
4e35b32ee5 lib: BFD integration clean up function
Implement clean up function to be called on shutdown to make daemon exit
clean for valgrind and other memory sanitizers.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2023-01-13 15:32:12 -03:00
Rafael Zalamena
b7ca809d1c lib: BFD automatic source selection
Implement new BFD library issue to allow protocols to configure BFD
sessions with automatic source selection.

The source selection will be based on the Next Hop Tracking feature:
`zebra` will do RIB lookups to determine the output interface and the
primary source address of that interface will be used as source.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2023-01-13 15:32:12 -03:00
Jafar Al-Gharaibeh
c0937881df
Merge pull request #12637 from donaldsharp/revert_pr_11127
Revert "Merge pull request #11127 from louis-6wind/bgp-leak"
2023-01-13 11:20:28 -06:00
Donald Sharp
914c1e35b5 Revert "tests: Fix wrong interface name in SRv6 topotest"
This reverts commit 647c38eab2.
2023-01-13 09:02:34 -05:00
Donald Sharp
930e01aae1
Merge pull request #12626 from opensourcerouting/fix/bgpd_neighbor_password_unnumbered
bgpd: Warn user about mixed order of commands executed
2023-01-13 08:35:36 -05:00
Donald Sharp
2bb8b49ce1 Revert "Merge pull request #11127 from louis-6wind/bgp-leak"
This reverts commit 16aa1809e7, reversing
changes made to f616e71608.
2023-01-13 08:13:52 -05:00
Stephen Worley
1ab8721a5c
Merge pull request #12629 from opensourcerouting/fix/use_static_repo
github: Use static quay.io repository for docker images
2023-01-12 14:27:57 -05:00
Christian Hopps
f3c0056017
Merge pull request #12627 from donaldsharp/pim_igmp_vrf_micronet_failure
tests: the pim_igmp_vrf topotest fails under high load
2023-01-12 08:59:28 -05:00
Donatas Abraitis
826d56036a
Merge pull request #12595 from chiragshah6/fdev1
bgpd: show bgp vrfs per vrf level json support
2023-01-12 10:12:22 +02:00
Chirag Shah
5bfa80138f doc: add documentation for show bgp vrfs
Signed-off-by: Chirag Shah <chirag@nvidia.com>
2023-01-11 21:04:09 -08:00
Sindhu Parvathi Gopinathan
4acd6bc948 bgpd: show bgp vrfs per vrf level json support
json support extended for show [ip] bgp vrfs <vrf-name> json

Before:
```
tor-2# show ip bgp vrfs default json
% JSON option not yet supported for specific VRF
tor-2#
tor-2# show bgp vrfs sym_1 json
% JSON option not yet supported for specific VRF
tor-2#
```

After:
```
tor-1# show ip bgp vrfs default json
{
  "default":{
    "type":"DFLT",
    "vrfId":0,
    "routerId":"27.0.0.7",
    "numConfiguredPeers":2,
    "numEstablishedPeers":2,
    "l3vni":0,
    "rmac":"00:00:00:00:00:00",
    "interface":"unknown"
  }
}
tor-1#
tor-1# show bgp vrfs sym_1 json
{
  "sym_1":{
    "type":"VRF",
    "vrfId":21,
    "routerId":"27.0.0.81",
    "numConfiguredPeers":0,
    "numEstablishedPeers":0,
    "l3vni":8888,
    "rmac":"44:38:39:ff:ff:25",
    "interface":"vlan490_l3"
  }
}
tor-1#

tor-1# show bgp vrfs test json
{
}
tor-1#
```

Ticket:#3314672

Issue:3314672

Testing: UT done

Signed-off-by: Chirag Shah <chirag@nvidia.com>
Signed-off-by: Sindhu Parvathi Gopinathan <sgopinathan@nvidia.com>
2023-01-11 21:04:09 -08:00
Rafael Zalamena
9366844c42
Merge pull request #12609 from mjstapp/fix_bfd_check_len
bfdd: validate incoming control message length
2023-01-11 17:25:23 -03:00
Donatas Abraitis
4179369cd0 github: Drop temporary docker-stable github action
Until we have a consensus how we ship stable/X.Y docker images.

For now we build images based on release tags, not based on HEAD of the branch.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-01-11 21:50:22 +02:00
Donatas Abraitis
be402a42e0 github: Use static quay.io repository for docker images
Not dynamic from username, because tags do not allow using "+" character.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-01-11 21:34:46 +02:00
Donatas Abraitis
bbcfd66d11
Merge pull request #12623 from anlancs/fix/zerbra-debug-cosmetic-changes
zebra: cosmetic changes for debug
2023-01-11 21:04:52 +02:00
Donald Sharp
c72e51ac70 tests: Pim vrf's need 4.19 or better to run properly not 4.15
Tests are failing in micronet because linux kernel needs are 4.19
not 4.15

2023-01-11 17:15:06,657.657 INFO: topolog.r1: vtysh command => "show zebra"
2023-01-11 17:15:06,657.657 DEBUG: topolog.r1: LinuxNamespace(r1): cmd_status("['/bin/bash', '-c', 'vtysh  -c "show zebra" 2>/dev/null']", kwargs: {'encoding': 'utf-8', 'stdout': -1, 'stderr': -2, 'shell': False, 'stdin': None})
2023-01-11 17:15:06,729.729 INFO: topolog.r1: vtysh result:
	OS                             Linux(4.15.0-193-generic)

Notice the missing pimreg11 device needed in vrf blue:

2023-01-11 17:15:06,731.731 DEBUG: topolog.r1: LinuxNamespace(r1): cmd_status("['/bin/bash', '-c', 'vtysh  -c "show int brief" 2>/dev/null']", kwargs: {'encoding': 'utf-8', 'stdout': -1, 'stderr': -2, 'shell': False, 'stdin': None})
2023-01-11 17:15:06,781.781 INFO: topolog.r1: vtysh result:
	Interface       Status  VRF             Addresses
	---------       ------  ---             ---------
	blue            up      blue            192.168.0.1/32
	r1-eth0         up      blue            192.168.100.1/24
	r1-eth1         up      blue            192.168.101.1/24

	Interface       Status  VRF             Addresses
	---------       ------  ---             ---------
	erspan0         down    default
	gre0            down    default
	gretap0         down    default
	lo              up      default
	pimreg          up      default

	Interface       Status  VRF             Addresses
	---------       ------  ---             ---------
	r1-eth2         up      red             192.168.100.1/24
	r1-eth3         up      red             192.168.101.1/24
	red             up      red             192.168.0.1/32

While on a 5.4 machine we have this:

mininet310# show int brief
Interface       Status  VRF             Addresses
---------       ------  ---             ---------
blue            up      blue
dummy1          up      blue
dummy2          up      blue
pimreg11        up      blue

As such let's limit the test to a 4.19 kernel or above that our
documentations states we need for proper pim operation.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-01-11 13:23:51 -05:00
Mark Stapp
979a047780
Merge pull request #12628 from donaldsharp/underlines_too_short_in_doc
doc: Ensure that the underline length is correct
2023-01-11 13:23:45 -05:00
Donald Sharp
57e3f78414 doc: Ensure that the underline length is correct
Builds are complaining about this issue.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-01-11 10:43:39 -05:00
Donatas Abraitis
0edec0dd29 bgpd: Don't warning twice for neighbor_bfd_check_controlplane_failure
When the peer is not defined first.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-01-11 15:58:10 +02:00
Donatas Abraitis
3b56a646b2 bgpd: Warn an operator, that the peer MUST be created before configuring rest
For now, if the order was mixed, most of the commands are just silently
ignored. Let the operator notice that.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-01-11 15:56:21 +02:00
Donatas Abraitis
2d02b3372d
Merge pull request #12622 from taspelund/adj-rib-json
bgpd: add "detail" for advertised/received-routes
2023-01-11 15:25:48 +02:00
Donatas Abraitis
01dbc4b384
Merge pull request #12577 from louis-6wind/fix-bgp-evpn-all
bgpd: fix show bgp all with evpn
2023-01-11 14:20:16 +02:00
anlan_cs
64a29a00f7 zebra: cosmetic changes for debug
Just remove redundant white spaces in debug information.

Before:
```
2023/01/11 05:04:48 ZEBRA: [W8V7C-6W4DS] init neigh ctx NEIGH_INSTALL: ifp vlan100, mac  9a:68:e9:73:74:88, ip 88.88.88.88
2023/01/11 05:04:48 ZEBRA: [NH6N7-54CD1] Tx RTM_NEWNEIGH family ipv4 IF vlan100(8) Neigh 88.88.88.88 MAC  9a:68:e9:73:74:88 flags 0x10 state 0x40 ext_flags 0x0
```

After:
```
2023/01/11 05:17:26 ZEBRA: [W8V7C-6W4DS] init neigh ctx NEIGH_INSTALL: ifp vlan100, mac 9a:68:e9:73:74:88, ip 88.88.88.88
2023/01/11 05:17:26 ZEBRA: [NH6N7-54CD1] Tx RTM_NEWNEIGH family ipv4 IF vlan100(8) Neigh 88.88.88.88 MAC 9a:68:e9:73:74:88 flags 0x10 state 0x40 ext_flags 0x0
```

Signed-off-by: anlan_cs <vic.lan@pica8.com>
2023-01-11 18:16:40 +08:00
Donatas Abraitis
4b6667ce61
Merge pull request #12578 from Pdoijode/evpn-mac-vni-det
zebra: Evpn mac vni detail show command
2023-01-11 12:06:37 +02:00
Donatas Abraitis
387385d961
Merge pull request #12521 from patrasar/issue_11347_fix
pimd, pim6d: Handling SGRPT prune received
2023-01-11 12:05:19 +02:00
Donatas Abraitis
e789cc0725
Merge pull request #12590 from anlancs/fix/bgpd-remove-ec-log
bgpd: remove one EC log
2023-01-11 12:04:04 +02:00
Mark Stapp
1eef2527d4
Merge pull request #12602 from opensourcerouting/fix/drop_deprecated_BGP_ATTR_AS_PATHLIMIT
bgpd: Drop deprecated BGP_ATTR_AS_PATHLIMIT path attribute
2023-01-10 16:37:51 -05:00
Mark Stapp
f931e35b59
Merge pull request #12620 from donaldsharp/continue_reading
zebra: Continue fpm_read when we decide a netlink message is not needed
2023-01-10 16:30:26 -05:00
Trey Aspelund
1b9d2d6091 doc: add "detail" advertised/received routes
Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
2023-01-10 20:05:11 +00:00
Trey Aspelund
e960b4ca06 bgpd: add "detail" for advertised/received-routes
Introduce a "detail" keyword for per-neighbor/per-afi-safi
advertised-routes and received-routes show commands.
Includes json support.

Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
2023-01-10 20:05:08 +00:00
Quentin Young
8475c2d62b
Merge pull request #12612 from opensourcerouting/fix/use_quay.io_for_github_actiobns
github: Use quay.io as docker registry for github action generated images
2023-01-10 11:30:00 -05:00
Donald Sharp
c0275ab189 zebra: Continue fpm_read when we decide a netlink message is not needed
When FRR receives a netlink message that it decides to stop parsing
it returns a 0 ( instead of a -1 ).  Just make the dplane continue
reading other data instead of aborting the read.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-01-10 08:36:50 -05:00
Mark Stapp
f067ab5d9f bfdd: validate incoming control message length
Apply upper bound on incoming control messages, drop invalid
messages.

Signed-off-by: Mark Stapp <mjs@labn.net>
2023-01-10 08:03:09 -05:00
Donatas Abraitis
6f0898f5e6
Merge pull request #12567 from YutaroHayakawa/YutaroHayakawa/isl-dev
docker,alpine: Remove isl from dependencies
2023-01-10 09:55:01 +02:00
Donatas Abraitis
41aa48cce1
Merge pull request #12614 from chiragshah6/zdev
zebra: Add missing json attributes for show evpn
2023-01-10 09:53:17 +02:00
Sindhu Parvathi Gopinathan
826beeffe6 zebra: Add missing json attributes for show evpn
Missing json attributes added for show evpn json

Before:
```
tor-1# show evpn json
{
  "advertiseGatewayMacip":"No",
  "numVnis":26,
  "numL2Vnis":21,
  "numL3Vnis":5,
  "isDuplicateAddrDetection":true,
  "maxMoves":5,
  "detectionTime":180,
  "detectionFreezeTime":0,
  "macHoldtime":1080,
  "neighHoldtime":1080,
  "startupDelay":180,
  "startupDelayTimer":"--:--:--",
  "uplinkConfigCount":0,
  "uplinkActiveCount":0
}
tor-1#
```

After:
```
tor-1# show evpn json
{
  "advertiseGatewayMacip":"No",
  "advertiseSviMacip":"No",
  "advertiseSviMac":"No",
  "numVnis":26,
  "numL2Vnis":21,
  "numL3Vnis":5,
  "isDuplicateAddrDetection":true,
  "maxMoves":5,
  "detectionTime":180,
  "detectionFreezeTime":0,
  "macHoldtime":1080,
  "neighHoldtime":1080,
  "startupDelay":180,
  "startupDelayTimer":"--:--:--",
  "uplinkConfigCount":0,
  "uplinkActiveCount":0
}
tor-1#
```

Ticket:#3323248

Issue:3323248

Testing: UT done

Signed-off-by: Sindhu Parvathi Gopinathan's <sgopinathan@nvidia.com>
2023-01-09 15:36:41 -08:00
Donatas Abraitis
ed3a0c3bfb github: Use quay.io as docker registry for github action generated images
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-01-09 21:33:39 +02:00
Jafar Al-Gharaibeh
61615e4dfd
Merge pull request #12606 from opensourcerouting/fixes-20230106
*: various build fixes
2023-01-09 12:26:29 -06:00
Donatas Abraitis
a8adf1b3cb
Merge pull request #12573 from Pdoijode/bgp-nexthop-json-changes
Bgp nexthop json changes
2023-01-07 21:01:06 +02:00
Donatas Abraitis
fa1c9d3e22
Merge pull request #12586 from LabNConsulting/chopps/json-cli-note
doc: add guidance for CLI cmds that output JSON
2023-01-07 20:56:26 +02:00
Donatas Abraitis
07e914e924
Merge pull request #12605 from Jafaral/lsa2
ospfd: report the router IP with opaque capability mismatch
2023-01-07 20:43:39 +02:00
David Lamparter
26eaf6e386 build: add doc files missing from dist tarball
The override.css/js files for sphinx docs were not being included into
the tarball created by `make dist`.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2023-01-06 17:07:47 +01:00
David Lamparter
a185874504 lib/clippy: fix symbol validity check
If symvalid is false, looking at symidx is bogus.

This fixes a build-time SEGV on mips64el.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2023-01-06 17:05:25 +01:00