Commit Graph

5752 Commits

Author SHA1 Message Date
Igor Ryzhov
19631dcab5 zebra: coverity fixes
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-02-04 22:28:33 +02:00
Donald Sharp
3d57f04395
Merge pull request #10151 from pguibert6WIND/ensure_routing_protocols_good_bw
zebra: avoid having speed set to UINT32_MAX
2024-02-02 12:51:35 -05:00
Jafar Al-Gharaibeh
080054686f
Merge pull request #15216 from donaldsharp/zebra_opaque_mem_leak
zebra: Fix opaque memory leak in rare situation
2024-02-02 10:54:20 -06:00
Mark Stapp
72b31b96fc *: create a single registry of daemons' default port values
Create a single registry of default port values that daemons
are using. Most of these are vty ports, but there are some
others for features like ospfapi and zebra FPM.

Signed-off-by: Mark Stapp <mjs@labn.net>
2024-02-01 11:40:02 -05:00
Philippe Guibert
e3c62b2aeb doc, yang, zebra: allow bandwidth up to 1 terabit/sec
Allow bandwidth up to 1000000 Mb/s (ie. 1 Tb/s) and document it.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2024-01-29 14:52:35 +01:00
Philippe Guibert
51cb6aee4b zebra: fix speed set to UINT32_MAX
get_iflink_speed() returns UINT32_MAX when the speeds is unknown.
Routing daemons (at least ospfd) interprets it as the high value.

Return errors in get_iflink_speed() to avoid the confusion.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2024-01-29 14:52:32 +01:00
Christian Hopps
a403a71fbc zebra: fix compiler warning about truncation.
Signed-off-by: Christian Hopps <chopps@labn.net>
2024-01-29 08:35:56 -05:00
Igor Ryzhov
15514b6d28 lib, mgmtd, zebra: cleanup of zebra conversion to mgmtd
- use `apply_finish` callback when possible to avoid multiple applies per commit
- move table range working to the CLI handler
- remove unnecessary conditional compilation
- remove unnecessary boolean conversion

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:46:38 +02:00
Igor Ryzhov
3900813298 zebra: convert to mgmtd
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:40 +02:00
Igor Ryzhov
741d1d0090 zebra: convert vrf configuration output to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:40 +02:00
Igor Ryzhov
d6bd4fca97 zebra: make vrf netns commands do nothing
These commands don't really provide any functionality. VRF is associated
with netns automatically based on its name, and it's not possible to
associate VRF and netns with different names with these commands:

- When trying to assosiate a VRF with an already existing netns with a
  different name:
  `NS /run/netns/test is already configured with VRF 1(test)`

- When trying to assiciate a VRF with a non-existing netns, so they
  become linked once the netns is created:
  `Invalid pathname for /run/netns/test: No such file or directory`

- When doing "no netns" to unlink the netns and link it back to the same
  VRF:
  `VRF 1 is already configured with VRF test`

- When doing "no netns" to unlink the netns and link it to another VRF:
  `Can not associate NS 4294967295 with NETNS /run/netns/test`

As shown above, not a single usecase is working. We can't remove them
completely to preserve backwards-compatibility, so just make them empty.

The main reason for this change is not to spend a lot of time trying to
figure out how to convert them to northbound.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:40 +02:00
Igor Ryzhov
86855aed78 zebra: convert table range command to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:40 +02:00
Igor Ryzhov
2117faf1cf zebra: convert resolve-via-default commands to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:40 +02:00
Igor Ryzhov
1f2b7c1058 zebra: fix vni NB conversion
- unnecessary command duplication
- usage of oper data during validation
- unnecessary checks for things that can't happen

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:40 +02:00
Igor Ryzhov
010bd3e570 zebra: convert route-map delay-timer command to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:40 +02:00
Igor Ryzhov
cc619176fe zebra: convert ip nht commands to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:40 +02:00
Igor Ryzhov
f776dda1ec zebra: convert ip protocol commands to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:40 +02:00
Igor Ryzhov
244e6ebd16 zebra: convert router-id commands to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:40 +02:00
Igor Ryzhov
218b5017ee zebra: convert interface configuration output to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:40 +02:00
Igor Ryzhov
185fd140cf zebra: fix build with --disable-rtadv
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:40 +02:00
Igor Ryzhov
8763946ab2 zebra: convert PTM configuration to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:40 +02:00
Igor Ryzhov
27c21ffd94 zebra: convert interface ipv6 nd dnssl command to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:40 +02:00
Igor Ryzhov
61c7ba7557 zebra: convert interface ipv6 nd rdnss command to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:40 +02:00
Igor Ryzhov
36131494c2 zebra: convert interface ipv6 nd prefix command to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:40 +02:00
Igor Ryzhov
788319433f zebra: convert interface ipv6 nd router-preference command to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:40 +02:00
Igor Ryzhov
a003ecda71 zebra: convert interface ipv6 nd home-agent-lifetime command to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:40 +02:00
Igor Ryzhov
8a1fdff198 zebra: convert interface ipv6 nd home-agent-preference command to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:40 +02:00
Igor Ryzhov
f36cdd4a00 zebra: convert interface ipv6 nd adv-interval-option command to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:39 +02:00
Igor Ryzhov
509eb9c297 zebra: convert interface ipv6 nd home-agent-config-flag command to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:39 +02:00
Igor Ryzhov
26f80e9669 zebra: convert interface ipv6 nd ra-fast-retrans command to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:39 +02:00
Igor Ryzhov
a4fee0cb52 zebra: convert interface ipv6 nd ra-hop-limit command to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:39 +02:00
Igor Ryzhov
224429da6f zebra: convert interface ipv6 nd ra-retrans-interval command to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:39 +02:00
Igor Ryzhov
966fcb6c0f zebra: convert interface ipv6 nd mtu command to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:39 +02:00
Igor Ryzhov
b829d5fca2 zebra: convert interface ipv6 nd other-config-flag command to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:39 +02:00
Igor Ryzhov
55b1b923ca zebra: convert interface ipv6 nd managed-config-flag command to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:39 +02:00
Igor Ryzhov
0e2798d2b0 zebra: convert interface ipv6 nd reachable-time command to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:39 +02:00
Igor Ryzhov
5d029a0e87 zebra: convert interface ipv6 nd ra interval/lifetime commands to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:39 +02:00
Igor Ryzhov
d617c9175a zebra: convert interface ipv6 nd suppress-ra command to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:39 +02:00
Igor Ryzhov
10757acae6 zebra: convert interface evpn mh uplink command to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:39 +02:00
Igor Ryzhov
4a18818b02 zebra: convert interface evpn mh bypass command to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:39 +02:00
Igor Ryzhov
7c6e41ecff zebra: convert interface evpn mh es-df-pref command to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:39 +02:00
Igor Ryzhov
a6db1c14a4 zebra: convert interface evpn mh es-id commands to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:39 +02:00
Igor Ryzhov
be712fc697 zebra: convert interface link-params packet-loss command to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:39 +02:00
Igor Ryzhov
0a5b944aef zebra: convert interface link-params delay commands to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:39 +02:00
Igor Ryzhov
217b65e5bf zebra: convert interface link-params neighbor command to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:39 +02:00
Igor Ryzhov
93744dbe88 zebra: convert interface link-params bandwidth commands to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:39 +02:00
Igor Ryzhov
59e3ce08fa zebra: convert interface link-params metric command to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:39 +02:00
Igor Ryzhov
b688eb7e9e zebra: convert interface link-params command to NB
Make link-params a presence container and activate it when entering the
node. The "enable" command is not necessary anymore but kept hidden for
backwards compatibility.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:39 +02:00
Igor Ryzhov
7fc02c462c zebra: mark interface mpls command as yang
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:39 +02:00
Igor Ryzhov
fa500fd8ec zebra: convert interface ip/ipv6 address commands to NB
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:39 +02:00