| Age | Commit message (Collapse) | Author | 
 | 
parse_request_subtlv accesses type using fixed offset instead of current position.
Signed-off-by: zmw12306 <zmw12306@gmail.com>
(cherry picked from commit 1571607c6bcba8f6861bdb90f472fe534df78a80)
 | 
 | 
Add checking for port == 6696.
Signed-off-by: zmw12306 <zmw12306@gmail.com>
(cherry picked from commit 6f88868f325f0269198fb8e0c00b40a7bbe0e53f)
 | 
 | 
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>
 | 
 | 
these changes are for improving the code maintainability and readability
Signed-off-by: sri-mohan1 <sri.mohan@samsung.com>
 | 
 | 
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>
 | 
 | 
a) call vector_delete on created vector on shutdown.
b) Call babel_clean_routing_process on shutdown
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
 | 
 | 
Asserting the further instructions when the babel interface pointer is
NULL
Signed-off-by: y-bharath14 <y.bharath@samsung.com>
 | 
 | 
these changes are for improving the code maintainability and readability
Signed-off-by: sri-mohan1 <sri.mohan@samsung.com>
 | 
 | 
these changes are for improving the code maintainability and readability
Signed-off-by: sri-mohan1 <sri.mohan@samsung.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>
 | 
 | 
This doesn't align with what the code actually loads, remove it.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
 | 
 | 
clang-format doesn't understand FRR_DAEMON_INFO is a long macro where
laying out items semantically makes sense.
(Also use only one `FRR_DAEMON_INFO(` in isisd so editors don't get
confused with the mismatching `( ( )`.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
 | 
 | 
Also remove frr_init_vtydir(), just initialize to default.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
 | 
 | 
Currently, we always use access-list autocompletion, even if configuring
prefix-lists. We should differentiate.
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
 | 
 | 
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
 | 
 | 
Signed-off-by: Christian Hopps <chopps@labn.net>
 | 
 | 
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
 | 
 | 
Replace `struct list *` with `DLIST(if_connected, ...)`.
NB: while converting this, I found multiple places using connected
prefixes assuming they were IPv4 without checking:
- vrrpd/vrrp.c: vrrp_socket()
- zebra/irdp_interface.c: irdp_get_prefix(), irdp_if_start(),
  irdp_advert_off()
(these fixes are really hard to split off into separate commits as that
would require going back and reapplying the change but with the old list
handling)
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
 | 
 | 
INTERFACE_NAMSIZ is just a redefine of IFNAMSIZ and IFNAMSIZ
is the standard for interface name length on all platforms
that FRR currently compiles on.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
 | 
 | 
Ensure proper memory cleanup by freeing the `babel_ifp->ipv4` when
babel interface is deleted. This prevents memory leaks.
The ASan leak log for reference:
```
***********************************************************************************
Address Sanitizer Error detected in all_protocol_startup.test_all_protocol_startup/r1.asan.babeld.4141
=================================================================
==4141==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 40 byte(s) in 10 object(s) allocated from:
    #0 0x7f1cde6a9b40 in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xdeb40)
    #1 0x562b8eff328d in babel_interface_address_add babeld/babel_interface.c:112
    #2 0x7f1cde1772cb in zclient_read lib/zclient.c:4425
    #3 0x7f1cde14729c in event_call lib/event.c:1980
    #4 0x7f1cde08a3bf in frr_run lib/libfrr.c:1214
    #5 0x562b8eff481b in main babeld/babel_main.c:202
    #6 0x7f1cdd8acc86 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21c86)
SUMMARY: AddressSanitizer: 40 byte(s) leaked in 10 allocation(s).
***********************************************************************************
```
Signed-off-by: Keelan Cannoo <keelan.cannoo@icloud.com>
 | 
 | 
Release memory allocated for the IPv4 address during the interface reset.
The addition of `free(babel_ifp->ipv4)` ensures proper cleanup, preventing
potential memory leaks.
The ASan leak log for reference:
```
***********************************************************************************
Address Sanitizer Error detected in babel_topo1.test_babel_topo1/r2.asan.babeld.18864
=================================================================
==18864==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 8 byte(s) in 2 object(s) allocated from:
    #0 0x7f3f4531bb40 in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xdeb40)
    #1 0x55c1806cb28d in babel_interface_address_add babeld/babel_interface.c:112
    #2 0x7f3f44de9e29 in zclient_read lib/zclient.c:4425
    #3 0x7f3f44db9dfa in event_call lib/event.c:1965
    #4 0x7f3f44cfd3bf in frr_run lib/libfrr.c:1214
    #5 0x55c1806cc81b in main babeld/babel_main.c:202
    #6 0x7f3f4451fc86 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21c86)
SUMMARY: AddressSanitizer: 8 byte(s) leaked in 2 allocation(s).
***********************************************************************************
```
Signed-off-by: Keelan Cannoo <keelan.cannoo@icloud.com>
 | 
 | 
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
 | 
 | 
...so that multiple functions can be subscribed.
The create/destroy hooks are renamed to real/unreal because that's what
they *actually* signal.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
 | 
 | 
*: Rearrange vrf_bitmap_X api to reduce memory footprint
 | 
 | 
babeld: add AE!=0 check when type is 7 or 10.
 | 
 | 
When running all daemons with config for most of them, FRR has
sharpd@janelle:~/frr$ vtysh -c "show debug hashtable"  | grep "VRF BIT HASH" | wc -l
3570
3570 hashes for bitmaps associated with the vrf.  This is a very
large number of hashes.  Let's do two things:
a) Reduce the created size of the actually created hashes to 2
instead of 32.
b) Delay generation of the hash *until* a set operation happens.
As that no hash directly implies a unset value if/when checked.
This reduces the number of hashes to 61 in my setup for normal
operation.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
 | 
 | 
Signed-off-by: zmw12306 <zmw12306@gmail.com>
 | 
 | 
babeld: add parse_request_subtlv into parse_packet
 | 
 | 
Ignore all other bits(except U) in Hello TLVs, according to RFC8966
Signed-off-by: zmw12306 <zmw12306@gmail.com>
 | 
 | 
when type is MESSAGE_REQUEST, babel should be able to handle sub_tlvs
Signed-off-by: zmw12306 <zmw12306@gmail.com>
 | 
 | 
Unlikely routemap
 | 
 | 
We should probably prevent any type of namespace collision
with something else.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
 | 
 | 
Let's find a better name for it.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
 | 
 | 
Convert the `struct thread_master` to `struct event_master`
across the code base.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
 | 
 | 
Modify the code base so that thread_cancel becomes event_cancel
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
 | 
 | 
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
 | 
 | 
Effectively a massive search and replace of
`struct thread` to `struct event`.  Using the
term `thread` gives people the thought that
this event system is a pthread when it is not
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
 | 
 | 
This is a first in a series of commits, whose goal is to rename
the thread system in FRR to an event system.  There is a continual
problem where people are confusing `struct thread` with a true
pthread.  In reality, our entire thread.c is an event system.
In this commit rename the thread.[ch] files to event.[ch].
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
 | 
 | 
We have 2 competing versions of likely and unlikely
in babeld and nhrpd.  Standardize onto lower case
versions and consolidate in the code.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
 | 
 | 
Replacing continue in loops to goto done so that index of packet buffer
increases.
Signed-off-by: harryreps <harryreps@gmail.com>
 | 
 | 
*: convert to SPDX License identifiers
 | 
 | 
babeld: changes for code maintainability
 | 
 | 
These changes are for improving the code maintainability and readability
Signed-off-by: sri-mohan1 <sri.mohan@samsung.com>
 | 
 | 
babeld: changes for code maintainability
 | 
 | 
Done with a combination of regex'ing and banging my head against a wall.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
 | 
 | 
New "introduction" note in `COPYING`, and all the licenses moved into
`doc/licenses/`.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
 | 
 | 
these changes are for improving the code maintainability and readability
Signed-off-by: sri-mohan1 <sri.mohan@samsung.com>
 | 
 | 
The first argument of `access_list_lookup` and `prefix_list_lookup`
should be `AFI_` constants instead of `AF_` constants.
Signed-off-by: Yuxiang Zhu <vfreex@gmail.com>
 |