]> git.puffer.fish Git - mirror/frr.git/log
mirror/frr.git
2 years agobgpd: Show TTL value unconditionally for neighbors 11392/head
Donatas Abraitis [Fri, 10 Jun 2022 13:50:24 +0000 (16:50 +0300)]
bgpd: Show TTL value unconditionally for neighbors

If GTSM configured - show this value, otherwise TTL.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agobgpd: Set TTL for iBGP/eBGP by checking only if Generic TTL security applied
Donatas Abraitis [Fri, 10 Jun 2022 13:32:39 +0000 (16:32 +0300)]
bgpd: Set TTL for iBGP/eBGP by checking only if Generic TTL security applied

We set peer->ttl according if it's iBGP or eBGP, but when setting the TTL,
we technically ignore it.

Relax a bit and set TTL only if no GTSM configured.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agoMerge pull request #11367 from donaldsharp/babel_updates
Donatas Abraitis [Fri, 10 Jun 2022 05:42:01 +0000 (08:42 +0300)]
Merge pull request #11367 from donaldsharp/babel_updates

Babel updates

2 years agoMerge pull request #11328 from opensourcerouting/fix/drop_label_pton_ntop
Russ White [Thu, 9 Jun 2022 18:11:11 +0000 (14:11 -0400)]
Merge pull request #11328 from opensourcerouting/fix/drop_label_pton_ntop

bgpd: Drop label_ntop/label_pton functions

2 years agoMerge pull request #11259 from kuldeepkash/multicast_pim_dr_nondr
Russ White [Thu, 9 Jun 2022 17:42:29 +0000 (13:42 -0400)]
Merge pull request #11259 from kuldeepkash/multicast_pim_dr_nondr

tests: [Topojson] Enhance CLI logging

2 years agoMerge pull request #11372 from donaldsharp/pim_if_cmp_bug
mobash-rasool [Thu, 9 Jun 2022 17:15:49 +0000 (22:45 +0530)]
Merge pull request #11372 from donaldsharp/pim_if_cmp_bug

pimd: Fix pim_channel_oil_empty tests

2 years agoMerge pull request #11377 from donaldsharp/pim_show_interface_traffic
Jafar Al-Gharaibeh [Thu, 9 Jun 2022 17:00:58 +0000 (12:00 -0500)]
Merge pull request #11377 from donaldsharp/pim_show_interface_traffic

pimd: Show interface traffic even if interface is currently `down`

2 years agopimd: Show interface traffic even if interface is currently `down` 11377/head
Donald Sharp [Thu, 9 Jun 2022 14:29:04 +0000 (10:29 -0400)]
pimd: Show interface traffic even if interface is currently `down`

the `show ip pim interface [x] traffic` command was deciding
to skip display of interfaces if they happened to be down at
that moment.  This of course does not make a bunch of sense
to limit the output for a interface that may have sent data
in the past.

This fixes this test crash:
rnode = <lib.topogen.TopoRouter object at 0x7fc755be3880>, dut = 'c1', input_dict = {'c1': {'c1-l1-eth2': ['helloTx', 'helloRx']}}, output_dict = {'c1': {}}

    def show_pim_intf_traffic(rnode, dut, input_dict, output_dict):
        show_pim_intf_traffic_json = run_frr_cmd(
            rnode, "show ip pim interface traffic json", isjson=True
        )

        output_dict[dut] = {}
        for intf, data in input_dict[dut].items():
>           interface_json = show_pim_intf_traffic_json[intf]
E           KeyError: 'c1-l1-eth2'

/home/sharpd/frr8/tests/topotests/lib/pim.py:1496: KeyError

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agopimd: Fixup oil_if_has and oil_if_set to be consistent 11372/head
Donald Sharp [Thu, 9 Jun 2022 11:06:30 +0000 (07:06 -0400)]
pimd: Fixup oil_if_has and oil_if_set to be consistent

the v4 and v6 versions were different.  Make them the same.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agotests: Clarify what test_pim_dr_nondr_with_static_routes_topo1.py is doing
Donald Sharp [Wed, 8 Jun 2022 20:56:22 +0000 (16:56 -0400)]
tests: Clarify what test_pim_dr_nondr_with_static_routes_topo1.py is doing

There are a couple steps listing what is being done that are both inprecise
and missleading.  Fix to actually say what is going on.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agopimd: Fix pim_channel_oil_empty tests
Donald Sharp [Wed, 8 Jun 2022 20:51:48 +0000 (16:51 -0400)]
pimd: Fix pim_channel_oil_empty tests

The pim_channel_oil_empty() function was setting
the pimreg if it ever existed for NULL comparison
but of course the pimreg device is never pulled back
out again when it was needed to be when the pimreg
is not present.

Commit: a5fa982256b23d53d5b833f75224fb7f96054b9b
broke this.

Fixes: #11368
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agobabeld: Ignore sub-tlv's with mandatory bit set 11367/head
Donald Sharp [Wed, 8 Jun 2022 13:01:31 +0000 (09:01 -0400)]
babeld: Ignore sub-tlv's with mandatory bit set

RFC 8966 4.4

   If the mandatory bit is set, then the
   whole enclosing TLV MUST be silently ignored (except for updating the
   parser state by a Router-Id, Next Hop, or Update TLV, as described in
   the next section).

Fixes: #11349
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agobabeld: Update to ignore unicast hellos
Donald Sharp [Wed, 8 Jun 2022 12:41:05 +0000 (08:41 -0400)]
babeld: Update to ignore unicast hellos

RFC 8966 requires a bit of work to make FRR forward compabitble with
it for the moment.

tl;dr -> Flags of hellos should be 0 except the main bit and
The Unicast Hello bit if set should cause the packet to be ignored.
Additionally FRR needs to ignore Hello packets with the interval field
set to 0.

Fixes: #11349
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agoMerge pull request #11370 from donaldsharp/lib_zebra_cleanup
Donatas Abraitis [Thu, 9 Jun 2022 07:17:24 +0000 (10:17 +0300)]
Merge pull request #11370 from donaldsharp/lib_zebra_cleanup

Lib zebra cleanup

2 years agoMerge pull request #11360 from opensourcerouting/fix/distro_changelogs
Jafar Al-Gharaibeh [Thu, 9 Jun 2022 04:56:21 +0000 (23:56 -0500)]
Merge pull request #11360 from opensourcerouting/fix/distro_changelogs

redhat, debian: Update packaging releases

2 years agoMerge pull request #11369 from donaldsharp/pim_addr_cmp
mobash-rasool [Thu, 9 Jun 2022 02:27:24 +0000 (07:57 +0530)]
Merge pull request #11369 from donaldsharp/pim_addr_cmp

pimd: pim_addr_cmp returns 0 for same not -1 or 1

2 years agoospfd: Fixup ospfd.h to declare variable names 11370/head
Donald Sharp [Wed, 8 Jun 2022 14:37:08 +0000 (10:37 -0400)]
ospfd: Fixup ospfd.h to declare variable names

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agolib: Cleanup workqueue.h to have variable declarations
Donald Sharp [Wed, 8 Jun 2022 14:23:58 +0000 (10:23 -0400)]
lib: Cleanup workqueue.h to have variable declarations

Cleanup workqueue.h to have variable declarations as per
our standard.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agolib: Fixup workqueue.c to use proper thread.h semantics
Donald Sharp [Wed, 8 Jun 2022 14:21:35 +0000 (10:21 -0400)]
lib: Fixup workqueue.c to use proper thread.h semantics

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agopimd: pim_addr_cmp returns 0 for same not -1 or 1 11369/head
Donald Sharp [Wed, 8 Jun 2022 15:33:32 +0000 (11:33 -0400)]
pimd: pim_addr_cmp returns 0 for same not -1 or 1

The test for setting pimDesignatedRouterLocal was comparing
the result of pim_addr_cmp to non zero to say that the
pim_dr_addr and primary_address are the same.  This is
not correct in that pim_addr_cmp returns 0 for being the
same, so the correct test is !pim_addr_cmp

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agoMerge pull request #11356 from mobash-rasool/pim-rfc-conform
Donald Sharp [Wed, 8 Jun 2022 12:15:58 +0000 (08:15 -0400)]
Merge pull request #11356 from mobash-rasool/pim-rfc-conform

pimd: Handle receive of (*,G) register stop with src addr as 0

2 years agodebian: Update changelog for new release (8.4) 11360/head
Donatas Abraitis [Tue, 7 Jun 2022 20:06:58 +0000 (23:06 +0300)]
debian: Update changelog for new release (8.4)

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agoredhat: Update changelog for new release (8.4)
Donatas Abraitis [Tue, 7 Jun 2022 20:05:01 +0000 (23:05 +0300)]
redhat: Update changelog for new release (8.4)

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agobuild: FRR 8.4 development version frr-8.4-dev
Donatas Abraitis [Tue, 7 Jun 2022 19:47:17 +0000 (22:47 +0300)]
build: FRR 8.4 development version

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agoMerge pull request #11312 from opensourcerouting/feature/draft-ietf-idr-bfd-subcode base_8.3
Pushpasis Sarkar [Tue, 7 Jun 2022 15:57:12 +0000 (21:27 +0530)]
Merge pull request #11312 from opensourcerouting/feature/draft-ietf-idr-bfd-subcode

bgpd: Add Notification CEASE BFD Down message

2 years agoMerge pull request #11334 from ton31337/fix/deprecation_warning
Olivier Dugeon [Tue, 7 Jun 2022 15:38:52 +0000 (17:38 +0200)]
Merge pull request #11334 from ton31337/fix/deprecation_warning

ospfd: Remove local-block deprecated command

2 years agoMerge pull request #11158 from cyberstormdotmu/master
Pushpasis Sarkar [Tue, 7 Jun 2022 15:35:03 +0000 (21:05 +0530)]
Merge pull request #11158 from cyberstormdotmu/master

lib/md5,lib/sha256: Use explicit_bzero to clean up sensitive data.

2 years agoMerge pull request #11318 from pguibert6WIND/isis_mt_std
Russ White [Tue, 7 Jun 2022 15:30:05 +0000 (11:30 -0400)]
Merge pull request #11318 from pguibert6WIND/isis_mt_std

isisd: add ISIS_MT_STANDARD define

2 years agoMerge pull request #11289 from LabNConsulting/chopps/ospfapi-update
Donald Sharp [Tue, 7 Jun 2022 15:00:56 +0000 (11:00 -0400)]
Merge pull request #11289 from LabNConsulting/chopps/ospfapi-update

ospfapi improvements and fixes

2 years agoospfd: Remove local-block deprecated command 11334/head
Donatas Abraitis [Thu, 2 Jun 2022 10:45:57 +0000 (13:45 +0300)]
ospfd: Remove local-block deprecated command

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agopimd: Handle receive of (*,G) register stop with src addr as 0 11356/head
Mobashshera Rasool [Tue, 7 Jun 2022 12:41:37 +0000 (05:41 -0700)]
pimd: Handle receive of (*,G) register stop with src addr as 0

PIM conformance test case 11.12 sends a register stop msg with
source address as 0. This should trigger a register stop for
all the upstreams. It is not happening as such because we are not
considering 0.0.0.0 source address for starg_handling.

Fixed it.

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2 years agotests: add opaque api test 11289/head
Christian Hopps [Tue, 10 May 2022 16:13:04 +0000 (12:13 -0400)]
tests: add opaque api test

Signed-off-by: Christian Hopps <chopps@labn.net>
2 years agoospfclient: add ospfclient api python class
Christian Hopps [Fri, 24 Dec 2021 07:04:57 +0000 (02:04 -0500)]
ospfclient: add ospfclient api python class

Signed-off-by: Christian Hopps <chopps@labn.net>
2 years agoospfd: api: always ready to receive opaque from client
Christian Hopps [Tue, 25 Jan 2022 09:53:53 +0000 (04:53 -0500)]
ospfd: api: always ready to receive opaque from client

Signed-off-by: Christian Hopps <chopps@labn.net>
2 years agoospfd: api: add new ISM and NSM sync requests
Christian Hopps [Wed, 19 Jan 2022 11:42:03 +0000 (06:42 -0500)]
ospfd: api: add new ISM and NSM sync requests

Signed-off-by: Christian Hopps <chopps@labn.net>
2 years agoospfd: api: remove unused api code/message creation
Christian Hopps [Fri, 14 Jan 2022 15:39:07 +0000 (10:39 -0500)]
ospfd: api: remove unused api code/message creation

Signed-off-by: Christian Hopps <chopps@labn.net>
2 years agoospfd: api: fix recovery of LSA after restart of api client
Christian Hopps [Sat, 8 Jan 2022 21:57:10 +0000 (16:57 -0500)]
ospfd: api: fix recovery of LSA after restart of api client

Prior to this fix, restarting the client just failed b/c the code tried to
"refresh" the existing LSA being added, except that code checked for meta-data
to exist, which was deleted when the client disconnected previously (or had
never connected and the LSA state was picked up from the network).

Signed-off-by: Christian Hopps <chopps@labn.net>
2 years agoospfd: cli: add "show ip ospf reachable-routers" CLI
Christian Hopps [Mon, 17 Jan 2022 12:55:14 +0000 (07:55 -0500)]
ospfd: cli: add "show ip ospf reachable-routers" CLI

Signed-off-by: Christian Hopps <chopps@labn.net>
2 years agoospfd: api: add reachable router notifications
Christian Hopps [Wed, 1 Jun 2022 19:25:35 +0000 (15:25 -0400)]
ospfd: api: add reachable router notifications

Reachable router information is used by OSPF opaque clients in order
to determine if the router advertising the opaque LSA data is
reachable (i.e., 2-way conectivity check).

Signed-off-by: Christian Hopps <chopps@labn.net>
2 years agoospfd: add all_rtrs route table when opaque enabled
Christian Hopps [Sat, 15 Jan 2022 11:13:43 +0000 (06:13 -0500)]
ospfd: add all_rtrs route table when opaque enabled

The reachable router table is used by OSPF opaque clients in order to
determine if the router advertising the opaque LSA data is
reachable (i.e., 2-way conectivity check).

Signed-off-by: Christian Hopps <chopps@labn.net>
2 years agoisisd: replace ipv4-unicast with standard in config and oper contexts 11318/head
Philippe Guibert [Wed, 1 Jun 2022 13:37:49 +0000 (15:37 +0200)]
isisd: replace ipv4-unicast with standard in config and oper contexts

Only the multi-topology command can use 'ipv4-unicast' keyword to
configure standard topology.
The remaining code: dump from show commands, and yang definition,
uses 'standard' keyword instead.

The test have not been modified. The change would consists in
modifying test_fuzz_isis_tlv_tests.h.gz:
- replacing ipv4-unicast occurences with standard
\x69\x70\x76\x34\x2d\x75\x6e\x69\x63\x61\x73\x74
with
\x73\x74\x61\x6e\x64\x61\x72\x64

- align the buffer length by removing 4 bytes per occurence
Instead, a specific isis_mtid2str_fake() routing has been
put in place in isis_tlvs.c file.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2 years agoMerge pull request #11175 from louis-6wind/ip-vrf-exec
Jafar Al-Gharaibeh [Thu, 2 Jun 2022 18:33:49 +0000 (13:33 -0500)]
Merge pull request #11175 from louis-6wind/ip-vrf-exec

topotests: fix "ip vrf exec"

2 years agoMerge pull request #11329 from opensourcerouting/ospf6-frag-rx
Donald Sharp [Thu, 2 Jun 2022 13:11:56 +0000 (09:11 -0400)]
Merge pull request #11329 from opensourcerouting/ospf6-frag-rx

ospf6d: fix rx/tx buffer sizes

2 years agobgpd: Add Notification CEASE BFD Down message 11312/head
Donatas Abraitis [Mon, 30 May 2022 14:40:15 +0000 (17:40 +0300)]
bgpd: Add Notification CEASE BFD Down message

Related: https://datatracker.ietf.org/doc/html/draft-ietf-idr-bfd-subcode

When BFD Down notification comes and BGP is configured to track on BFD events,
send BGP Cease/BFD Down notification to the peer.

If RFC 8538 is enabled (Notification support for Graceful-Restart), notification
should be encapsulated into Hard Reset message.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agoospfd: cli: add client api debug option
Christian Hopps [Mon, 17 Jan 2022 12:54:12 +0000 (07:54 -0500)]
ospfd: cli: add client api debug option

Signed-off-by: Christian Hopps <chopps@labn.net>
2 years agoMerge pull request #11314 from chiragshah6/fdev2
Jafar Al-Gharaibeh [Wed, 1 Jun 2022 17:45:49 +0000 (12:45 -0500)]
Merge pull request #11314 from chiragshah6/fdev2

zebra: add error check condition to sock option

2 years agoospf6d: fix rx/tx buffer sizes 11329/head
David Lamparter [Wed, 1 Jun 2022 15:10:11 +0000 (17:10 +0200)]
ospf6d: fix rx/tx buffer sizes

OSPFv3 packets can be fragmented and up to 64k long, regardless of
interface MTU.  Trying to size these buffers to MTU is just plain wrong.
To not make this a super intrusive change during the 8.3 release freeze,
just code this into ospf6_iobuf_size().

Since the buffer is now always 64k, don't waste time zeroing the entire
thing in receive;  instead just zero kind of a "sled" of 128 bytes after
the buffer as a security precaution.

Fixes: #11298
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2 years agobgpd: Drop label_ntop/label_pton functions 11328/head
Donatas Abraitis [Wed, 1 Jun 2022 12:19:33 +0000 (15:19 +0300)]
bgpd: Drop label_ntop/label_pton functions

Start using mpls_lse_encode/mpls_lse_decode, that is endian-aware, because
we always use host-byte order, should use network-byte.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agoisisd: add ISIS_MT_STANDARD define
Philippe Guibert [Wed, 25 May 2022 09:47:36 +0000 (11:47 +0200)]
isisd: add ISIS_MT_STANDARD define

This define is added to reflect more what the standard
topology means. Actually, the standard topology may
contain not only IPv4 protocol but also IPv6 protocol.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2 years agoMerge pull request #11326 from gromit1811/fix_init_stop_msgs2
Donatas Abraitis [Wed, 1 Jun 2022 12:26:52 +0000 (15:26 +0300)]
Merge pull request #11326 from gromit1811/fix_init_stop_msgs2

tools: Really fix all daemon shutdown without complaining about PID files

2 years agotools: Really fix all daemon shutdown without complaining about PID files 11326/head
Martin Buck [Wed, 1 Jun 2022 09:58:52 +0000 (11:58 +0200)]
tools: Really fix all daemon shutdown without complaining about PID files

Fix daemon shutdown broken by f0cccaa6bf7dda71d0e1ad1b0406a9b453a84bb3. Now
we still don't complain about missing PID files but actually stop the
running daemons.

The previous fix was broken because it passed a new "--all" option to
daemon_stop which wasn't handled properly (it assumed $1 contains the
daemon name when at that time it acutally contained the "--all" option).
Plus, "--all" wasn't actually necessary, because we already passed
"--reallyall" from all_stop to daemon_stop after the daemon name.

So remove "--all" again and simply check for "--reallyall" in $2. This
should *really* fix #11317.

Signed-off-by: Martin Buck <mb-tmp-tvguho.pbz@gromit.dyndns.org>
2 years agoMerge pull request #11315 from gromit1811/fix_init_stop_msgs
Donatas Abraitis [Wed, 1 Jun 2022 08:24:13 +0000 (11:24 +0300)]
Merge pull request #11315 from gromit1811/fix_init_stop_msgs

tools: Don't complain about missing PID files when stopping all damons

2 years agoMerge pull request #11319 from donaldsharp/retry
Donatas Abraitis [Wed, 1 Jun 2022 05:08:55 +0000 (08:08 +0300)]
Merge pull request #11319 from donaldsharp/retry

tests: Remove duplicated work

2 years agoMerge pull request #11322 from donaldsharp/peer_group_route_map_match
Donatas Abraitis [Wed, 1 Jun 2022 05:08:05 +0000 (08:08 +0300)]
Merge pull request #11322 from donaldsharp/peer_group_route_map_match

bgpd: Add ability to match `match peer <PEERGROUPNAME>`

2 years agozebra: add error check condition to sock option 11314/head
Chirag Shah [Tue, 31 May 2022 03:51:17 +0000 (20:51 -0700)]
zebra: add error check condition to sock option

Adding error checking condition which was missed
in PR-11216.

*** CID 1517953:  Error handling issues  (CHECKED_RETURN)
/zebra/kernel_netlink.c: 313 in netlink_socket()
307                     memset(&snl, 0, sizeof(snl));
308                     snl.nl_family = AF_NETLINK;
309                     snl.nl_groups = groups;
310
311     #if defined SOL_NETLINK
312                     if (ext_groups)
>>>     CID 1517953:  Error handling issues  (CHECKED_RETURN)
>>>     Calling "setsockopt(sock, 270, 1, &ext_groups, 8U)" without checking return value. This library function may fail and return an error code.
313                             setsockopt(sock, SOL_NETLINK, NETLINK_ADD_MEMBERSHIP,
314                                        &ext_groups, sizeof(ext_groups));
315     #endif
316
317                     /* Bind the socket to the netlink structure for anything. */
318                     ret = bind(sock, (struct sockaddr *)&snl, sizeof(snl));

Signed-off-by: Chirag Shah <chirag@nvidia.com>
2 years agoMerge pull request #11293 from opensourcerouting/feature/update_workflow_dates
Donald Sharp [Tue, 31 May 2022 17:20:47 +0000 (13:20 -0400)]
Merge pull request #11293 from opensourcerouting/feature/update_workflow_dates

doc, tools: Update release dates in workflow.rst

2 years agobgpd: Add ability to match `match peer <PEERGROUPNAME>` 11322/head
Donald Sharp [Tue, 31 May 2022 16:19:27 +0000 (12:19 -0400)]
bgpd: Add ability to match `match peer <PEERGROUPNAME>`

Allow the end operator to match `match peer <PEERGROUPNAME>`
in a route-map.  If the end operator defines interface
based peers and peer-groups that have names that overlap
the interface based peer will match first.

Fixes: #11316
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agoMerge pull request #11299 from taspelund/update-svi-macip
Donatas Abraitis [Tue, 31 May 2022 14:53:46 +0000 (17:53 +0300)]
Merge pull request #11299 from taspelund/update-svi-macip

zebra: Update advertise-svi-ip MACIPs w/ new MAC

2 years agolib/md5,lib/sha256: Use explicit_bzero to clean up sensitive data. 11158/head
Loganaden Velvindron [Sat, 7 May 2022 17:23:09 +0000 (21:23 +0400)]
lib/md5,lib/sha256: Use explicit_bzero to clean up sensitive data.

explicit_bzero() is available as an API to clean up sensitive data
and avoid compiler optimizations that remove calls to memset() or bzero().

Signed-off-by: Loganaden Velvindron <logan@cyberstorm.mu>
2 years agotests: Remove duplicated work 11319/head
Donald Sharp [Tue, 31 May 2022 13:44:02 +0000 (09:44 -0400)]
tests: Remove duplicated work

If at first you succeed try try again.
No I mean if it works the first time no need to do
the same command again.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agoMerge pull request #10997 from Orange-OpenSource/isis-sr
Russ White [Tue, 31 May 2022 12:27:56 +0000 (08:27 -0400)]
Merge pull request #10997 from Orange-OpenSource/isis-sr

isisd: Stop fulfill MPLS table when SR is disabled

2 years agotools: Don't complain about missing PID files when stopping all damons 11315/head
Martin Buck [Tue, 31 May 2022 12:16:34 +0000 (14:16 +0200)]
tools: Don't complain about missing PID files when stopping all damons

Since 1686b1d4864384ee508b58418f20970f2dff2587, we try to stop all daemons,
even those which are not (no longer) enabled in /etc/frr/daemons. But we
shouldn't complain about missing PID files for daemons which have never been
started and just silently ignore those.

Signed-off-by: Martin Buck <mb-tmp-tvguho.pbz@gromit.dyndns.org>
2 years agoMerge pull request #11300 from c-po/patch-1
Donald Sharp [Tue, 31 May 2022 11:58:40 +0000 (07:58 -0400)]
Merge pull request #11300 from c-po/patch-1

tools: add eigrp support on frr-reload

2 years agoMerge pull request #11304 from opensourcerouting/feature/show_rpki_prefix_json
Donald Sharp [Tue, 31 May 2022 11:57:53 +0000 (07:57 -0400)]
Merge pull request #11304 from opensourcerouting/feature/show_rpki_prefix_json

bgpd: Add JSON output for `show rpki prefix` and other show commands

2 years agotools: add eigrp support on frr-reload 11300/head
Christian Poessinger [Sun, 29 May 2022 08:56:56 +0000 (10:56 +0200)]
tools: add eigrp support on frr-reload

Signed-off-by: Christian Poessinger <christian@poessinger.com>
2 years agoMerge pull request #11297 from donaldsharp/bgp_color_nht
Donatas Abraitis [Mon, 30 May 2022 11:06:30 +0000 (14:06 +0300)]
Merge pull request #11297 from donaldsharp/bgp_color_nht

bgpd: Fix SR color nexthop processing in BGP

2 years agoMerge pull request #11295 from donaldsharp/ospf_gr_helper_breakup
Donatas Abraitis [Mon, 30 May 2022 08:11:49 +0000 (11:11 +0300)]
Merge pull request #11295 from donaldsharp/ospf_gr_helper_breakup

tests: Convert test_ospf_gr_helper into running more parallel

2 years agobgpd: Add JSON output for `show rpki prefix` and other show commands 11304/head
Donatas Abraitis [Mon, 30 May 2022 06:05:34 +0000 (09:05 +0300)]
bgpd: Add JSON output for `show rpki prefix` and other show commands

```
spine1-debian-11# sh rpki prefix 192.168.100.1/32
Prefix                                   Prefix Length  Origin-AS
192.168.100.1                               32 -  32        47583
spine1-debian-11# sh rpki prefix 192.168.100.1/32 json
{
  "prefixes":[
    {
      "prefix":"192.168.100.1",
      "prefixLenMin":32,
      "prefixLenMax":32,
      "asn":47583
    }
  ]
}
```

```
spine1-debian-11# sh rpki as-number 47583 json
{
  "prefixes":[
    {
      "prefix":"192.168.100.1",
      "prefixLenMin":32,
      "prefixLenMax":32,
      "asn":47583
    },
    {
      "prefix":"2606:4700:7000::",
      "prefixLenMin":48,
      "prefixLenMax":48,
      "asn":47583
    }
  ],
  "ipv4PrefixCount":1,
  "ipv6PrefixCount":1
}
spine1-debian-11# sh rpki as-number 47583
RPKI/RTR prefix table
Prefix                                   Prefix Length  Origin-AS
192.168.100.1                               32 -  32        47583
2606:4700:7000::                            48 -  48        47583
Number of IPv4 Prefixes: 1
Number of IPv6 Prefixes: 1
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agozebra: Update advertise-svi-ip MACIPs w/ new MAC 11299/head
Trey Aspelund [Sat, 28 May 2022 07:10:51 +0000 (03:10 -0400)]
zebra: Update advertise-svi-ip MACIPs w/ new MAC

When the kernel was sending an RTM_NEWLINK updating the MAC of a known
SVI, Type-2 routes created by advertise-svi-ip were not getting updated
with the new address.
This adds removal of any old Type-2 routes (with old MAC) and creation
of new Type-2 routes (with new MAC) into RTM_NEWLINK processing.

Fixes: #11174
Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
2 years agobgpd: Fix SR color nexthop processing in BGP 11297/head
Donald Sharp [Fri, 27 May 2022 15:16:47 +0000 (11:16 -0400)]
bgpd: Fix SR color nexthop processing in BGP

Commit:
9f002fa5dd34e7d901b501e7d0306027d85b531a

Accidently broke the handling of SR color for nexthops
in BGP.  Put it back

Fixes: #11237
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agotests: Convert test_ospf_gr_helper into running more parallel 11295/head
Donald Sharp [Thu, 26 May 2022 17:32:27 +0000 (13:32 -0400)]
tests: Convert test_ospf_gr_helper into running more parallel

With this change run time in parallel for these tests go from
10:37 -> 4:11 on my machine.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agotopotests: fix "ip vrf exec" 11175/head
Louis Scalbert [Thu, 12 May 2022 08:16:52 +0000 (10:16 +0200)]
topotests: fix "ip vrf exec"

"ip vrf exec" command is not possible in the topotest shell.

> root@r1:~# ip vrf exec r1-cust5 bash
> mkdir failed for /sys/fs/cgroup/unified: No such file or directory
> Failed to setup vrf cgroup2 directory

Remount cgroup after remounting sysfs.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2 years agoMerge pull request #11290 from donaldsharp/bgp_auth_breakup
Donatas Abraitis [Fri, 27 May 2022 06:52:59 +0000 (09:52 +0300)]
Merge pull request #11290 from donaldsharp/bgp_auth_breakup

Bgp auth breakup

2 years agodoc, tools: Update release dates in workflow.rst 11293/head
Donatas Abraitis [Fri, 27 May 2022 05:25:12 +0000 (08:25 +0300)]
doc, tools: Update release dates in workflow.rst

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agoMerge pull request #11277 from donaldsharp/pim_prefix_list_bug
Russ White [Thu, 26 May 2022 21:47:21 +0000 (17:47 -0400)]
Merge pull request #11277 from donaldsharp/pim_prefix_list_bug

pimd: Allow the LPM match work properly with prefix lists and normal …

2 years agoospfd: cli: add opaque data to json output
Christian Hopps [Sat, 8 Jan 2022 11:17:15 +0000 (06:17 -0500)]
ospfd: cli: add opaque data to json output

Signed-off-by: Christian Hopps <chopps@labn.net>
2 years agoMerge pull request #11291 from opensourcerouting/fix/memory_leak_bgp_alias
Donald Sharp [Thu, 26 May 2022 21:22:00 +0000 (17:22 -0400)]
Merge pull request #11291 from opensourcerouting/fix/memory_leak_bgp_alias

bgpd: Memory leak for community alias

2 years agoMerge pull request #11282 from donaldsharp/pim_v2_v3
Russ White [Thu, 26 May 2022 19:59:39 +0000 (15:59 -0400)]
Merge pull request #11282 from donaldsharp/pim_v2_v3

pimd: Disable handling v3 igmp packets on an interface config'ed for v2

2 years agoMerge pull request #11287 from opensourcerouting/build-llvm-20220526
Donald Sharp [Thu, 26 May 2022 19:14:36 +0000 (15:14 -0400)]
Merge pull request #11287 from opensourcerouting/build-llvm-20220526

build: fix some corners for LLVM analysis tools

2 years agobgpd: Simplify BGP community alias handling 11291/head
Donatas Abraitis [Thu, 26 May 2022 17:15:35 +0000 (20:15 +0300)]
bgpd: Simplify BGP community alias handling

Also, warn in CLI an operator if we are trying to overwrite an existing
community alias with an existing alias.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agotest: Abstract common functions from script break ups in test_bgp_auth.py 11290/head
Donald Sharp [Thu, 26 May 2022 16:16:14 +0000 (12:16 -0400)]
test: Abstract common functions from script break ups in test_bgp_auth.py

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agotests: Break up test_bgp_auth.py into 4 test scripts
Donald Sharp [Thu, 26 May 2022 14:30:22 +0000 (10:30 -0400)]
tests: Break up test_bgp_auth.py into 4 test scripts

This breakup converts run times for test_bgp_auth.py from
~9 minutes to just over 2 and a half minutes of run
time when running in parallel.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agopimd: Allow the LPM match work properly with prefix lists and normal rp's 11277/head
Donald Sharp [Tue, 24 May 2022 17:33:35 +0000 (13:33 -0400)]
pimd: Allow the LPM match work properly with prefix lists and normal rp's

All rp_info's are being saved in the pim->rp_list and the non prefix-list
rp's are supposed to be saved in table pim->rp_table.  What was happening,
though, is that all the plists were being stored at the 224.0.0.0/4 node
of the tree(irrelevant to the fact that we should not be looking up the
non-prefix list rp's in the table) and since we can have multiple prefix lists
and only one rp_info stored at the 224.0.0.0/4 node of the tree, there can be situations
where the 224.0.0.0/4 node can be overwritten due to the order entered.

As such there exists situations where command enter ordering will cause
what we match to, change in pim_rp_find_match_group.

Fixes:

a) Do not store prefix list based rp_info's in the pim->rp_table
b) In pim_rp_find_match_group, ensure that the node lookup does
not correspond to a prefix list based node.
c) When in the situation there are both:
ip pim rp 4.5.6.7 224.0.0.0/16
ip pim rp 5.6.67.8 prefix-list FOO
ip prefix-list FOO permit 224.0.1.0/24
and we receive a group for 224.0.1.5, we were comparing the
224.0.0.0/16 to the 224.0.0.0/4 of the 5.6.67.8 group, when
FRR should have been comparing to entry that matched in the prefix-list

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agotools: fix unused variable in callgraph tool 11287/head
David Lamparter [Thu, 26 May 2022 09:56:36 +0000 (11:56 +0200)]
tools: fix unused variable in callgraph tool

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2 years agobuild: reformat makefile.py
David Lamparter [Thu, 26 May 2022 14:11:00 +0000 (16:11 +0200)]
build: reformat makefile.py

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2 years agobuild: add a bunch of comments to makefile.py
David Lamparter [Thu, 26 May 2022 10:07:18 +0000 (12:07 +0200)]
build: add a bunch of comments to makefile.py

... to (maybe?) make understandable what it's doing.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2 years agobuild: fix LLVM bitcode per-target CFLAGS
David Lamparter [Thu, 26 May 2022 09:55:51 +0000 (11:55 +0200)]
build: fix LLVM bitcode per-target CFLAGS

When automake decides to customize CFLAGS, use those for building LLVM
bitcode files too.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2 years agobgpd: Distinguish BGP community alias memory separately from community
Donatas Abraitis [Thu, 26 May 2022 12:43:42 +0000 (15:43 +0300)]
bgpd: Distinguish BGP community alias memory separately from community

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agobgpd: Fix memory leak for BGP community alias in CLI
Donatas Abraitis [Thu, 26 May 2022 11:03:02 +0000 (14:03 +0300)]
bgpd: Fix memory leak for BGP community alias in CLI

Before:
```
root@spine1-debian-11:~/frr# vtysh -c 'show memory bgpd | include Large Community'
Large Community               :      100     40        4000      100      4000
Large Community value         :      100     12        2400      100      2400
root@spine1-debian-11:~/frr# for x in $(seq 1 100); do vtysh -c 'conf' -c 'bgp community alias 123:123:123 testas' > /dev/null; done
root@spine1-debian-11:~/frr# vtysh -c 'show memory bgpd | include Large Community'
Large Community               :      200     40        8000      200      8000
Large Community value         :      200     12        4800      200      4800
root@spine1-debian-11:~/frr# for x in $(seq 1 100); do vtysh -c 'conf' -c 'bgp community alias 123:123:123 testas' > /dev/null; done
root@spine1-debian-11:~/frr# vtysh -c 'show memory bgpd | include Large Community'
Large Community               :      300     40       12000      300     12000
Large Community value         :      300     12        7200      300      7200
root@spine1-debian-11:~/frr#
```

After:
```
root@spine1-debian-11:~/frr# vtysh -c 'show memory bgpd | include Large Community'
Large Community               :        0     40           0        1        56
Large Community display string:        0   8192           0        1      8200
Large Community value         :        0     12           0        1        24
root@spine1-debian-11:~/frr# for x in $(seq 1 100); do vtysh -c 'conf' -c 'bgp community alias 123:123:123 testas' > /dev/null; done
root@spine1-debian-11:~/frr# vtysh -c 'show memory bgpd | include Large Community'
Large Community               :        0     40           0        1        56
Large Community display string:        0   8192           0        1      8200
Large Community value         :        0     12           0        1        24
root@spine1-debian-11:~/frr#
```

After we call [l]community_str2com(), we should free the memory.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agoMerge pull request #11281 from opensourcerouting/fix/gh_actions
Donald Sharp [Thu, 26 May 2022 11:32:11 +0000 (07:32 -0400)]
Merge pull request #11281 from opensourcerouting/fix/gh_actions

github: Use pull_request_target as a target

2 years agotools: Add `show ip igmp statistics` to support bundle gathering 11282/head
Donald Sharp [Thu, 26 May 2022 00:06:22 +0000 (20:06 -0400)]
tools: Add `show ip igmp statistics` to support bundle gathering

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agopimd: Disable handling v3 igmp packets on an interface config'ed for v2
Donald Sharp [Wed, 25 May 2022 17:15:14 +0000 (13:15 -0400)]
pimd: Disable handling v3 igmp packets on an interface config'ed for v2

pimd is receiving v3 igmp packets on an interface that is setup as v2 and
causing the igmp group as configured on that interface to get a bit
wonky.

Add a check to receiving v3 packets and to drop the packet if the
igmp version configed on the interface is 2.

Fixes: #11105
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agoMerge pull request #11244 from pguibert6WIND/flowspec_added_twice
Stephen Worley [Wed, 25 May 2022 16:29:27 +0000 (12:29 -0400)]
Merge pull request #11244 from pguibert6WIND/flowspec_added_twice

zebra: avoid pbr iptable added twice when used with flowspec

2 years agogithub: Use pull_request_target as a target 11281/head
Donatas Abraitis [Wed, 25 May 2022 16:07:40 +0000 (19:07 +0300)]
github: Use pull_request_target as a target

And drop checkout action - not needed.

Due to the dangers inherent to automatic processing of PRs, GitHub’s standard
pull_request workflow trigger by default prevents write permissions and
secrets access to the target repository. However, in some scenarios such
access is needed to properly process the PR.

To this end the pull_request_target workflow trigger was introduced.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agoMerge pull request #11279 from opensourcerouting/fix/labeler_gh_actions
Donald Sharp [Wed, 25 May 2022 15:44:28 +0000 (11:44 -0400)]
Merge pull request #11279 from opensourcerouting/fix/labeler_gh_actions

github: Add permissions for labeler action

2 years agoisisd: Stop fulfill MPLS table when SR is disabled 10997/head
Olivier Dugeon [Fri, 8 Apr 2022 15:10:25 +0000 (17:10 +0200)]
isisd: Stop fulfill MPLS table when SR is disabled

When Segment Routing is disabled, if isisd received LSP with Segment Routing
information, in particular prefix SIDs, it installs corresponding MPLS entries
while it should not as SR is disabled.

This patch adds extra control to verify if SR is enabled or not before
configuring MPLS LFIB & IP FIB with prefix SIDs and adjust SR & TI-LFA
tests accordingly.

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
2 years agogithub: Add permissions for labeler action 11279/head
Donatas Abraitis [Wed, 25 May 2022 15:25:42 +0000 (18:25 +0300)]
github: Add permissions for labeler action

Should solve this:

```
Error: HttpError: Resource not accessible by integration
Error: Resource not accessible by integration
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agoMerge pull request #11239 from opensourcerouting/feature/topotests_for_notification_gr
Donald Sharp [Wed, 25 May 2022 14:07:49 +0000 (10:07 -0400)]
Merge pull request #11239 from opensourcerouting/feature/topotests_for_notification_gr

tests: Add Notification support for Graceful-Restart tests

2 years agoMerge pull request #11245 from opensourcerouting/fix/doc_overview_package_url
Donald Sharp [Wed, 25 May 2022 14:06:48 +0000 (10:06 -0400)]
Merge pull request #11245 from opensourcerouting/fix/doc_overview_package_url

doc: Use full URL for FRR keyword highlight

2 years agoMerge pull request #11250 from opensourcerouting/feature/add_label_automatically_to_s...
Donald Sharp [Wed, 25 May 2022 14:03:53 +0000 (10:03 -0400)]
Merge pull request #11250 from opensourcerouting/feature/add_label_automatically_to_show_base_branch

github: Add base branch label to every PR to distinguish easily