Our coding standard is that all function declarations
should have actual function names. Let's try to clean
up all that is missing this in babeld.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
The code went through a conversion from naming events
'thread' to 'event' a couple of years ago. At this
time we still have a non-trivial number of vestigal
references to a `struct event *thread` let's go ahead
and convert them in mass to `struct event *event`.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Testing for a Sequence number in the sent message makes
no sense as that a MESSAGE_REQUEST never attempts to
send this data. Additionally there is no need to test
for this because this code does not read past it.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
There are places that we are playing fast and loose
with signed -vs- unsigned integers. Let's convert
proto_redistnum to only return a uint8_t. Find
and fix all the places that matter. This was
found by coverity.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
The babeld code was originally kept in a non-standard
format, at least to how FRR formats code, because the
code came from outside the project and it was hoped
that updates would be coming from the originators.
That has not turned out to be true and we've been slowly
getting bug-fixes for the code over the last year
as it is being used. Let's just bite the bullet
and convert over to our internal format for consistency.
Signed-off-by: Donald Sharp <donaldsharp72@gmail.com>
Enable the -Wmissing-noreturn warning, and resolve warnings
for gcc and clang. Add a FRR_NORETURN macro and use that for
the new changes.
Signed-off-by: Mark Stapp <mjs@cisco.com>
A router-id MUST NOT consist of either all binary zeroes (0000000000000000 hexadecimal) or all binary ones (FFFFFFFFFFFFFFFF hexadecimal).
Signed-off-by: zmw12306 <zmw12306@gmail.com>
When all feasible routes to a destination are lost, but unexpired unfeasible routes exist, the node MUST send a seqno request to prevent starvation.
Signed-off-by: zmw12306 <zmw12306@gmail.com>
Modify route selection to check feasibility first, then fall back to non-feasible routes as per SHOULD requirement.
Signed-off-by: zmw12306 <zmw12306@gmail.com>
According to RFC 8966:
Hop Count The maximum number of times that this TLV may be forwarded, plus 1. This MUST NOT be 0.
Signed-off-by: zmw12306 <zmw12306@gmail.com>
1. If the metric is infinite and AE is 0, Plen and Omitted MUST both be 0
2. Use INFINITY to replace 0xFFFF
3. Ignore unkown ae
4. If the metric field if 0xFFFF, a retraction happens So it is acceptable for no router_id when metric is 0xFFFF while ae is not 0.
Signed-off-by: zmw12306 <zmw12306@gmail.com>
Same issue occurring as previously addressed in https://github.com/FRRouting/frr/pull/9092. The root cause is: "Sending a Hello message before restarting the hello timer to avoid session flaps in case of larger hello interval configurations."
Signed-off-by: Shbinging <bingshui@smail.nju.edu.cn>
According to RFC 8966:
Hop Count The maximum number of times that this TLV may be forwarded, plus 1. This MUST NOT be 0.
Signed-off-by: zmw12306 <zmw12306@gmail.com>
As stated in doc, interface's attributes such noninterfering/interfering are reset when the wired/wireless status of an interface is changed. If wired/wireless status is not changed, such as wired->wired, we should not reset internal attributes.
Signed-off-by: Shbinging <bingshui@smail.nju.edu.cn>
When deactivating babel no router babel and later re-enabling it router babel the previous configuration is still in place.
Steps to reproduce:
Enable babel
Configure babel
Disable babel with "no router babel"
Verify config
Expected correct behavior: No config present
Signed-off-by: Yaroslav Kholod <y.kholod@vyos.io>
When deactivating babel no router babel and later re-enabling
it router babel the previous configuration is still in place.
Steps to reproduce:
- Enable babel
- Configure babel
- Disable babel with "no router babel"
- Verify config
Expected correct behavior: No config present
Signed-off-by: Yaroslav Kholod <y.kholod@vyos.io>
When sending down a babel route do not remove then
add it back. Just send down the change. This
change will not cause packets to be dropped now.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Babel was thinking it was talking to the kernel for
route installation instead of zebra. Pass down the
metric instead.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
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>