Commit Graph

744 Commits

Author SHA1 Message Date
Chirag Shah
814a89f6e5 tools: fix style check babletrace file
python3 -m black tools/frr_babeltrace.py

Signed-off-by: Chirag Shah <chirag@nvidia.com>
2024-11-25 09:00:03 -08:00
Chirag Shah
91119dab9b tools: add helper function to print family
Ticket: #4127810
Testing:
2024-11-20T01:52:10.073 frr_zebra:netlink_neigh_update_msg_encode
{'mac': '00:00:00:00:00:00', 'ip': '27.0.0.4', 'nhg': 0, 'flags': 2,
'state': 192, 'family': 'bridge', 'type': 0, 'op': 23}

Signed-off-by: Chirag Shah <chirag@nvidia.com>
2024-11-25 09:00:03 -08:00
Carmine Scarpitta
c8e83c3bfd tools: Add missing keyword encapsulation in frr-reload
Consider the following scenario.

You start from the configuration below:

```
!
segment-routing
 srv6
  encapsulation
   source-address fc00:0:1::1
  !
 !
!
```

Then you change the source address:

```
r1# configure
r1(config)# segment-routing
r1(config-sr)# srv6
r1(config-srv6)# encapsulation
r1(config-srv6-encap) source-address 1::1
```

And finally, reload the configuration
`python3 frr-reload.py --reload /etc/frr/frr.conf`

frr-reload returns the error below:

```
Failed to execute segment-routing  srv6   no source-address 1::1  exit exit
"segment-routing --  srv6 --   no source-address 1::1 --  exit -- exit" we failed to remove this command
% Unknown command:   no source-address 1::1

[79975|mgmtd] sending configuration
line 3: % Unknown command[76]:   source-address fc00:0:1::1
[79975|mgmtd] Configuration file[/etc/frr/frr.conf] processing failure: 2
```

The reason is that the keyword `encapsulation` is missing in frr-reload.

This patch adds the missing keyword `encapsulation`.

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-11-24 10:08:47 +01:00
Carmine Scarpitta
458e8a8516 tools: Add missing keyword node-msd in frr-reload
Fix the error below:

```
[58564|mgmtd] sending configuration
[58565|zebra] sending configuration,
line 14: % Unknown command[52]:  max-segs-left 3
line 18: % Unknown command[52]:  max-end-pop 3
line 22: % Unknown command[52]:  max-h-encaps 2
line 26: % Unknown command[52]:  max-end-d 5
[58573|isisd] sending configuration
[58565|zebra] Configuration file[/etc/frr/frr.conf] processing failure: 2
```

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-11-23 08:56:05 +01:00
Carmine Scarpitta
b4babae93b tools: Add missing keyword segment-routing srv6 in frr-reload
Fix the error below:

```
[58564|mgmtd] sending configuration
[58565|zebra] sending configuration,
line 10: % Unknown command[52]:  node-msd
[58573|isisd] sending configuration
[58565|zebra] Configuration file[/etc/frr/frr.conf] processing failure: 2
```

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-11-23 08:55:55 +01:00
Corey Siltala
ef650aca27 tools: Add pim show commands to support bundle
Add more data gathering for pim and pim6 support bundles

Signed-off-by: Corey Siltala <csiltala@atcorp.com>
2024-11-21 17:37:39 -06:00
Donald Sharp
dca9915059 tools: Add pim msdp show commands to support bundle
The support bundle was not gathering any msdp data
for pim at all.  Let's add a bit to allow us to
have more data here when a suppport bundle is generated

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2024-11-21 09:16:14 -05:00
Donald Sharp
274156f4d3 tools: Add zebra label show commands to support bundle
There were no zebra show commands related to mpls labels
being generated for support bundles.  Let's rectify that
situation.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2024-11-21 09:15:22 -05:00
Donald Sharp
910b384094 tools: Add isis command generation to support bundle
When a support bundle is created no isis commands were
issued to attempt to gather data about what is going
on in isis.  Let's rectify that

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2024-11-21 09:14:19 -05:00
Donald Sharp
b1fbcb6d13 tools: Add bmp command to support bundle generation
Add a bit of bmp data gathering for bgp support bundle generation

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2024-11-21 09:13:24 -05:00
David Lamparter
cf4fc9c484 tools: remove strncpy() use
`checkpatch` has sufficiently annoyed me to fix this.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2024-10-22 14:53:52 +02:00
David Lamparter
070ce19d0c tools/gcc-plugins: don't crash on array parameters
Need to have arrays as a stop condition in this type normalization
function, like pointers and function pointers.  Actual arrays as
argument types are extremely rare to see because C has this
array-decay-to-pointer thing, but it can happen.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2024-10-15 13:35:24 +02:00
Donatas Abraitis
f57a56bca0 tools: Add missing mgmtd into logrotate/rsyslogd
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-10-10 13:01:05 +03:00
Christian Hopps
e8648a0c72 lib: add flag to have libyang load internal ietf-yang-library module
Mgmtd makes use of libyang's internal ietf-yang-library module to add
support for said module to FRR management. Previously, mgmtd was loading
this module explicitly; however, that required that libyang's
`ietf-yang-library.yang` module definition file be co-located with FRR's
yang files so that it (and ietf-datastore.yang) would be found when
searched for by libyang using FRRs search path. This isn't always the
case depending on how the user compiles and installs libyang so mgmtd
was failing to run in some cases.

Instead of doing it the above way we simply tell libyang to load it's
internal version of ietf-yang-library when we initialize the libyang
context.

This required adding a boolean to a couple of the init functions which
is why so many files are touched (although all the changes are minimal).

Signed-off-by: Christian Hopps <chopps@labn.net>
2024-10-07 03:32:44 +00:00
anlan_cs
e3a846754d tools: fix some special commands for reloading pim
The issue is we can't remove all pim configurations including some
special configurations (e.g., `no ip pim bsm`) for one interface.

For one pim-disable interface, all such pim depdendent options
(including `ip pim ` and `no ip pim `) should be completely removed.

Also append `no ip multicast` for the same purpose, it is no use at present,
but for future use.

The running config:
```
interface A
 ip pim
 no ip pim bsm
exit
```

Reload the new config:
```
interface A
exit
```

Before:
```
2024-10-05 20:52:33,467  INFO: Executed "interface A  no ip pim exit"
2024-10-05 20:52:33,482  INFO: Executed "interface A  ip pim bsm exit"
```
And the pim configurations in running configuration are not removed after reloading:
```
interface A
 ip pim <- Wrong
exit
```

After:
```
2024-10-05 20:56:27,489  INFO: Executed "interface A  no ip pim exit"
```
And all the pim configuration are removed.

Signed-off-by: anlan_cs <anlan_cs@126.com>
2024-10-05 22:00:01 +08:00
anlan_cs
1276eaaa90 tools: fix missing check interfaces for reloading pim
Without checking interfaces, the other interfaces' changes will be wrongly
lost.

Running config:
```
interface A
ip pim
ip pim use-source 11.0.0.1
exit
!
interface B
ip pim
ip pim use-source 22.0.0.1
exit
!
```

Reload the new config:
```
interface A
exit
!
interface B
ip pim
exit
```

Before:
```
2024-09-29 10:08:27,686  INFO: Executed "interface A  no ip pim exit"
```

After:
```
2024-09-29 10:05:01,356  INFO: Executed "interface A  no ip pim exit"
2024-09-29 10:05:01,376  INFO: Executed "interface B  no ip pim use-source 22.0.0.1 exit"
```

Signed-off-by: anlan_cs <anlan_cs@126.com>
2024-09-29 10:51:39 +08:00
Donatas Abraitis
3dbef7a119
Merge pull request #16733 from gtataranni/fix/regex-string
tools: fix invalid escape on regex string
2024-09-04 08:13:19 +03:00
Giovanni Tataranni
fe9e148aaa tools: fix invalid escape on regex string
fix usage of regex string without proper escaping

Signed-off-by: Giovanni Tataranni <g.tataranni@gmail.com>
2024-09-03 19:14:45 +02:00
Jafar Al-Gharaibeh
b3dc3680bc tools, ospfclient: add a config option to skip installing python scripts
The new config option --disable-python-runtime allows make install to proceed
without installing any of the python scripts. When installing from deb/rpm
packages those are bundled as frr-pythontools, which is independent from the
frr binaries and can already be skipped. I.e, this PR gives the option to skip
those scripts when building/installing from sources too.

Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
2024-08-22 13:46:30 -05:00
Donatas Abraitis
850076b3a1 tools: Fix python string escape warnings for frr-reload.py
When using a regex (or anything that uses `\?` escapes) in python, raw
strings (`r"content"`) should be used so python doesn't consume the
escapes itself.  Otherwise we get either broken behavior and/or
`SyntaxWarning: invalid escape sequence '\['`

Fixes: 8916953b53 ("build: fix a few python string escape warnings")
Fixes: https://github.com/FRRouting/frr/issues/16522

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-08-08 08:46:39 +03:00
David Lamparter
67a76894b7 tools/checkpatch: recognize + as unary operator
Allow using "+1" when meaningful (i.e. cmd_graph_merge wants -1 or +1)

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2024-07-31 08:08:53 -04:00
Donatas Abraitis
01b7bd3b13 tools: Apply black formatting for the recent frr-reload.py changes
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-07-20 03:30:08 +03:00
Donatas Abraitis
d022a4099c tools: Do not append an empty list (pim_vrfs) to the config lines
If pim_vrfs is empty, we append [] into the lines array, and the reload is broken
since it expects only strings, but gets an array inside at the end.

```
Traceback (most recent call last):
  File "/usr/lib/frr/frr-reload.py", line 2227, in <module>
    log.debug("New Frr Config\n%s", newconf.get_lines())
  File "/usr/lib/frr/frr-reload.py", line 436, in get_lines
    return "\n".join(self.lines)
TypeError: sequence item 45: expected str instance, list found
```

Fixes: 98d47f43fb ("tools: Fix frr-reload to support legacy pim configuration from file")

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-07-20 03:29:21 +03:00
Nathan Bahr
98d47f43fb tools: Fix frr-reload to support legacy pim configuration from file
Fix load from file in frr-reload to detect and convert legacy pim
configuration so that the tool can continue to be used with legacy
configurations.

Signed-off-by: Nathan Bahr <nbahr@atcorp.com>
2024-07-16 13:41:18 -05:00
David Lamparter
f9d4d1626d tools/checkpatch: accept pim_* typedefs
pimd uses "v4/v6 dispatch" typedefs.  Don't complain about those in
checkpatch.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2024-06-21 11:32:42 +02:00
David Lamparter
da3677e719 tools/gcc-plugins: warn for suseconds_t format
The plugin was already catching attempts to print `time_t` without
casting it first (there is no valid printf specifier without a cast),
but `__suseconds64_t` needs the same treatment.  (Probably
`__suseconds_t` too, if it exists, which I'm not sure it does - but that
doesn't matter, the plugin ignores non-existing types.)

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2024-05-02 22:26:53 +02:00
Donald Sharp
611d6ac0d8
Merge pull request #15834 from pguibert6WIND/alias_path_iproute2
tools: add iproute2 alias for pathd daemon
2024-04-29 09:21:48 -04:00
Philippe Guibert
ce614c2971 tools: add iproute2 alias for pathd daemon
With SRv6 traffic engineering, some ipv6 routes will
be installed by the Pathd daemon.
Populate the iproute2 aliasing table with pathd.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2024-04-29 08:20:37 +02:00
Chirag Shah
439c6f70b5 tools: Handle seq num for BGP as-path in frr-reload.py
If frr.conf has bgp as-path access-list clause without sequence number
then upon performing frr-rleoad, the running config clause with sequence
number will always be deleted and the new ones without sequence will
be re-added.
This could lead to blackholing until the config gets reapplied.

Testing:

frr.conf:
bgp as-path access-list important_internet_bgp_as_numbers permit _16509_

Running config:
bgp as-path access-list important_internet_bgp_as_numbers seq 5 permit
_16509_
!

Before fix
Upon frr-reload it deletes and readd line as without seq

2024-04-26 03:16:45,772  INFO: Executed "no bgp as-path access-list
important_internet_bgp_as_numbers seq 5 permit _16509_"

'bgp as-path access-list important_internet_bgp_as_numbers permit
_16509_\n'

After fix:
no form is not executed and no delta determine between frr.conf
and running-config.

Signed-off-by: Chirag Shah <chirag@nvidia.com>
2024-04-25 20:30:12 -07:00
Chirag Shah
da2093ba39 tools: fix frr-reload for no ip msdp peer cmd
no form of 'ip pm msdp peer <> source <>' does not
accept source argument. Stip the 'source <>' part from
config line being deleted via frr-reload.

Ticket: #3874971
Testing:

Config:
vrf blue
 ip msdp peer 1.1.1.1 source 1.1.1.1

frr-reload failure log:
2024-04-23 02:08:32,501  INFO: Failed to execute vrf blue  no ip
msdp peer 1.1.1.1 source 1.1.1.1 exit
2024-04-23 02:08:32,501 ERROR: "vrf blue --  no ip msdp peer 1.1.1.1
source 1.1.1.1 -- exit" we failed to remove this command
2024-04-23 02:08:32,501 ERROR: % Unknown command:  no ip msdp peer
1.1.1.1 source 1.1.1.1

Signed-off-by: Chirag Shah <chirag@nvidia.com>
2024-04-23 13:40:13 -07:00
Chirag Shah
bb52e5ebdc tools: fix pim interface config deletionII
When no ip pim is performed subsequent pim related
configs under the interface also implicitly deleted.
The previous fix was attempting to remove from the same
list which was being integrated.
First collect the lines to remove in separate list
then at the end remove from the original lines_to_del.

commit 623af04e1c does not work properly if tries to delete
an entry from existing list which is being walked on.

Ticket: #3869779

Testing done:

frr.conf:
no interface config

running-config:
--------------
interface swp1
ip pim
ip pim active-active
ip pim allow-rp rp-list sample
ip pim bfd
ip pim use-source 1.1.1.1
ip multicast boundary oil test
exit

frr-reload log pointing only no ip pim config
is removed under interface:
2024-04-18 18:44:37,202  INFO: "frr defaults datacenter" cannot be removed
2024-04-18 18:44:37,202  INFO: "service integrated-vtysh-config" cannot be removed
2024-04-18 18:44:37,504  INFO: Executed "interface swp1  no ip pim exit"
2024-04-18 18:44:37,505  INFO: /var/run/frr/reload-YHS51E.txt content

Signed-off-by: Chirag Shah <chirag@nvidia.com>
2024-04-23 13:40:07 -07:00
Mark Stapp
84d1fb19e2
Merge pull request #15709 from chiragshah6/fdev2
tools: frr-reload strip interface vrf ctx line
2024-04-16 11:32:18 -04:00
Chirag Shah
c1356f0e85 tools: frr-reload strip interface vrf ctx line
if frr.conf file contains 'interface x vrf <name> config
it causes protocol (like ospf) neighbor session flap,
as it deletes interface base config line ('interface x') from
running config and readds with 'interface x vrf <name>'
line from frr.conf.
This deletion and readdition of lines leads to neighborship
flaps.

This issue is by product of (PR-10411 | https://github.com/FRRouting/frr/pull/10411)
(commit id: 788a036fdb)
where running config for interface config no loger displays associated
vrf line.

Ticket: #3858146
Testing:

frr.conf
interface swp1.2 vrf vrf1012
ip ospf network point-to-point

running-config:
interface swp1.2
 ip ospf network point-to-point
 exit

Before fix:
frr-reload logs:

2024-04-09 00:28:31,096  INFO: Executed "interface swp1.2  no ip ospf
network point-to-point exit"

 'interface swp1.2 vrf vrf1012\n ip ospf network
 point-to-point\nexit\n',

After fix:
frr-reload strips vrf line, thus no config change between
frr.conf and running config.

Signed-off-by: Chirag Shah <chirag@nvidia.com>
2024-04-10 16:24:03 -07:00
Andrew Cooks
e443644fdd tools/indent.py: fix encoded byte stream handling
Python subprocess communication now operates on bytes, not strings.

Signed-off-by: Andrew Cooks <acooks.at.bda@gmail.com>
2024-04-10 16:05:03 +10:00
Donatas Abraitis
874242f129 *: Add missing SPDX-License-Identifier for some .c/.h files
Adding them as others: GPL-2.0-or-later

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-03-21 16:46:58 +02:00
Donald Sharp
852a74807f doc, tools: Remove ARRAY_SIZE check
checkpatch.pl wants you to use ARRAY_SIZE in a kernel
header file.  We don't have access to this kernel header
file for normal compilation.  I'm just going to remove it.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2024-03-04 11:03:46 -05:00
Donatas Abraitis
36ae7f331a
Merge pull request #14898 from chiragshah6/mdev
tools: fix frr-reload for nbr deletion
2024-02-29 09:26:13 +02:00
Mark Stapp
77143ce77a tools: add config-write callbacks to nb templates
Add the cli_show (config write) callback when emitting the
create or modify callback in the northbound template. Split
the config-handling and config-output callbacks into two
structs/arrays; this seems to be helpful when doing mgmtd
conversion.

Signed-off-by: Mark Stapp <mjs@labn.net>
2024-01-30 08:09:25 -05:00
Igor Ryzhov
3625360d88 lib: add support for "features" when loading YANG modules
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-28 23:28:40 +02:00
David Lamparter
bbd858935f build: homologize path handling
Use consistent `e_somepath` names for expanded versions of `somepath`.
Also remove all paths from `config.h` and put them into
`lib/config_paths.h` - this is to make more obvious when someone is
doing something probably not quite properly structured.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2024-01-27 19:02:52 +01:00
Igor Ryzhov
5d1a314038 lib: split nb_operation into two types
Currently, nb_operation enum means two different things - edit operation
type (frontend part), and callback type (backend part). These types
overlap, but they are not identical. We need to add more operation
types to support NETCONF/RESTCONF integration, so it's better to have
separate enums to identify different entities.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-01-11 15:06:50 +02:00
Donald Sharp
848dcf3d03 *: remove sys/stat.h from zebra.h
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2024-01-09 12:39:23 -05:00
Donatas Abraitis
2435c218e9 tools: Rename show thread ... to show event ...
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-01-07 14:14:56 +02:00
Chirag Shah
2db979522e tools: fix frr-reload for nbr deletion
bgp neighbor config can have multiple lines, if neighbor is
deleted via frr-reload, no neighbor remote-as <> wipes out
the neighbor, subsequent neighbor associated config deletion
would throw generic error.
Frr-reload needs to move neighbor remote-as line to end and allow
all other config lines to be removed.

Ticket:#3588361 #3589216

Testing Done:
config:
neighbor swp3 interface remote-as external
 neighbor swp3 bfd 3 300 300
 neighbor swp3 password leaf11-spine

INFO: Executed "router bgp 65101  no neighbor swp3 interface remote-as external"
INFO: Failed to execute router bgp 65101  no neighbor swp3 bfd 3 300 300
INFO: Failed to execute router bgp 65101  no neighbor swp3 bfd 3 300
INFO: Failed to execute router bgp 65101  no neighbor swp3 bfd 3
INFO: Failed to execute router bgp 65101  no neighbor swp3 bfd
INFO: Failed to execute router bgp 65101  no neighbor swp3
INFO: Failed to execute router bgp 65101  no neighbor
INFO: Failed to execute router bgp 65101  no
  ERROR: "router bgp 65101 --  no" we failed to remove this command
  ERROR: % Specify remote-as or peer-group commands first

INFO: Failed to execute router bgp 65101  no neighbor swp3 password leaf11-spine
INFO: Failed to execute router bgp 65101  no neighbor swp3 password
INFO: Failed to execute router bgp 65101  no neighbor swp3
INFO: Failed to execute router bgp 65101  no neighbor
INFO: Failed to execute router bgp 65101  no
 ERROR: "router bgp 65101 --  no" we failed to remove this command
 ERROR: % Specify remote-as or peer-group commands first

After fix:

move the neighbor remote-as deletion line to end which allows to remove
other neighbor associated lines to be deleted.
router bgp 65101  no neighbor swp3 interface remote-as external

Signed-off-by: Chirag Shah <chirag@nvidia.com>
2024-01-06 14:58:41 -08:00
Donald Sharp
daa80a5afa tools: Add some more data to support bundles
The ipv[4|6] vpn tables in bgp were not being
gathered.  This would be useful for some situations

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-12-21 10:26:47 -05:00
Donatas Abraitis
204508433d tools: Use error log level when failing to execute commands via frr-reload.py
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-12-14 09:05:02 +02:00
Chirag Shah
8a5c6e4389 tools: fix frr-reload multiple no description cmds
Ensure to change description for index 0 from the list.

Ticket: #3628756
Testing Done:

After fix:
start with three interfaces description delete in lines_to_del:
(Pdb) lines_to_del
[(('interface swp1',), "description swp1 -> sp1's swp1"),
(('interface swp2',), "description swp2 -> sp2's swp
1"), (('interface swp3',), "description swp3 -> sp3's swp1")]

After first iteration swp1:
(Pdb) index
0
(Pdb) lines_to_del
[(('interface swp1',), 'description'), (('interface swp2',),
"description swp2 -> sp2's swp1"), (('interface swp
1s2',), "description swp3 -> sp3's swp1")]

After second iteration swp2:
(Pdb) lines_to_del
[(('interface swp1',), 'description'), (('interface swp2',),
'description'), (('interface swp3',), "description
swp3 -> sp3's swp1")]

After third iteration swp3 fix
(Pdb) lines_to_del
[(('interface swp1',), 'description'), (('interface swp2',),
'description'), (('interface swp3',), 'description'
)]

Signed-off-by: Chirag Shah <chirag@nvidia.com>
2023-12-12 17:47:00 -08:00
Chirag Shah
ac30911160 bgpd: lttng tp add evpn route events
Ticket:#3597393
Testing Done:

2023-09-08T22:53:03.532 frr_bgp:evpn_withdraw_type5 {'vrf_id': 42, 'ip':
'53.1.1.0'}
2023-09-08T22:53:06.207 frr_bgp:evpn_advertise_type5 {'vrf_id': 42,
'ip': '53.1.1.0', 'rmac': '00:02:00:00:00:38', 'vtep': '27.0.0.15'}

2023-09-08T21:51:15.637 frr_bgp:evpn_mh_local_ead_es_evi_route_upd
{'esi': '03:44:38:39:ff:ff:01:00:00:03', 'vni': 1000, 'route_type': 1,
'vtep': '27.0.0.15'}

2023-09-08T20:45:17.059 frr_bgp:evpn_mh_local_ead_es_evi_route_del
{'esi': '03:44:38:39:ff:ff:01:00:00:01', 'vni': 0, 'route_type': 4,
'vtep': '27.0.0.15'}

2023-09-08T21:51:18.363 frr_bgp:evpn_mh_es_evi_vtep_add {'esi':
'03:44:38:39:ff:ff:01:00:00:02', 'vni': 1000, 'vtep': '27.0.0.16',
'ead_es': 1}

2023-09-08T20:43:50.206 frr_bgp:evpn_mh_es_evi_vtep_del {'esi':
'03:44:38:39:ff:ff:01:00:00:01', 'vni': 1002, 'vtep': '27.0.0.16',
'ead_es': 0}

Signed-off-by: Chirag Shah <chirag@nvidia.com>
2023-11-29 21:44:30 -08:00
Chirag Shah
00b96f70df tools: fix frr-reload interface desc cmd
Fix frr-reload script to only render 'no description'
rather than 'no description blah'

Ticket:#3628756
Testing Done:

Before:
2023-11-29 02:38:55,758  INFO: Failed to execute interface hostbond_1
no description hostbond_1_to_host exit
2023-11-29 02:38:55,758 ERROR: "interface hostbond_1 --  no description
hostbond_1_to_host -- exit" we failed to remove this command
2023-11-29 02:38:55,758 ERROR: % Unknown command:  no description
hostbond_1_to_host

Signed-off-by: Chirag Shah <chirag@nvidia.com>
2023-11-28 19:04:22 -08:00
David Lamparter
8b23c0b0bd *: convert struct interface->connected to DLIST
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>
2023-11-22 23:00:30 +01:00