]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
2 years agobgp: Add a 15 minute warning to missing policy
Donald Sharp [Mon, 14 Feb 2022 12:57:45 +0000 (07:57 -0500)]
bgp: Add a 15 minute warning to missing policy

Add a 15 minute warning to the logging system when
bgp policy is not setup properly.  Operators keep asking
about the missing policy( on upgrade typically ).  Let's
try to give them a bit more of a hint when something is
going wrong as that they are clearly missing the other
various places FRR tells them about it.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agoMerge pull request #10573 from ton31337/fix/doc_rc_tag
Russ White [Tue, 15 Feb 2022 16:33:02 +0000 (11:33 -0500)]
Merge pull request #10573 from ton31337/fix/doc_rc_tag

doc: An example how we do RC tagging for stabilization branch

2 years agoMerge pull request #10577 from donaldsharp/speeling
Donatas Abraitis [Mon, 14 Feb 2022 20:17:54 +0000 (22:17 +0200)]
Merge pull request #10577 from donaldsharp/speeling

Speeling

2 years agozebra: Fix spelling mistake
Donald Sharp [Mon, 14 Feb 2022 17:56:44 +0000 (12:56 -0500)]
zebra: Fix spelling mistake

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agoyang: Fix spelling mistake
Donald Sharp [Mon, 14 Feb 2022 17:56:21 +0000 (12:56 -0500)]
yang: Fix spelling mistake

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agovtysh: Fix spelling mistakes
Donald Sharp [Mon, 14 Feb 2022 17:56:04 +0000 (12:56 -0500)]
vtysh: Fix spelling mistakes

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agotests: Fix spelling and grammar mistakes
Donald Sharp [Mon, 14 Feb 2022 17:55:20 +0000 (12:55 -0500)]
tests: Fix spelling and grammar mistakes

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agopceplib: Fix spelling mistakes
Donald Sharp [Mon, 14 Feb 2022 17:54:05 +0000 (12:54 -0500)]
pceplib: Fix spelling mistakes

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agopathd: Fix spelling mistakes
Donald Sharp [Mon, 14 Feb 2022 17:53:48 +0000 (12:53 -0500)]
pathd: Fix spelling mistakes

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agoospfd: Fix spelling mistakes
Donald Sharp [Mon, 14 Feb 2022 17:53:16 +0000 (12:53 -0500)]
ospfd: Fix spelling mistakes

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agoospf6d: Fix spelling mistakes
Donald Sharp [Mon, 14 Feb 2022 17:52:05 +0000 (12:52 -0500)]
ospf6d: Fix spelling mistakes

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agodoc: Fix spelling mistakes
Donald Sharp [Mon, 14 Feb 2022 17:51:22 +0000 (12:51 -0500)]
doc: Fix spelling mistakes

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agobgpd: Fix spelling mistakes
Donald Sharp [Mon, 14 Feb 2022 17:50:58 +0000 (12:50 -0500)]
bgpd: Fix spelling mistakes

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agodoc: An example how we do RC tagging for stabilization branch
Donatas Abraitis [Sun, 13 Feb 2022 19:23:53 +0000 (21:23 +0200)]
doc: An example how we do RC tagging for stabilization branch

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2 years agoMerge pull request #10533 from taspelund/ip_rule_nl_debugs
Jafar Al-Gharaibeh [Fri, 11 Feb 2022 17:37:40 +0000 (11:37 -0600)]
Merge pull request #10533 from taspelund/ip_rule_nl_debugs

zebra: add netlink debugs for ip rules

2 years agoMerge pull request #9697 from SaiGomathiN/igmp-sources
Donatas Abraitis [Fri, 11 Feb 2022 05:53:02 +0000 (07:53 +0200)]
Merge pull request #9697 from SaiGomathiN/igmp-sources

pimd: json support added

2 years agozebra: cleanup multiline strings in debug_nl.c
Trey Aspelund [Thu, 10 Feb 2022 21:37:45 +0000 (21:37 +0000)]
zebra: cleanup multiline strings in debug_nl.c

NetDEF CI has been whining about multiline string style.
Make the strings single-line and call it a day.

Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
2 years agozebra: add netlink debugs for ip rules
Trey Aspelund [Tue, 8 Feb 2022 03:37:23 +0000 (03:37 +0000)]
zebra: add netlink debugs for ip rules

Adds functions to parse + decode netlink rules.
Adds RTM_NEWRULE + RTM_DELRULE to "debug zebra kernel".

Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
2 years agoMerge pull request #8890 from rameshabhinay/ospf6_auth_trailer
Russ White [Thu, 10 Feb 2022 19:17:13 +0000 (14:17 -0500)]
Merge pull request #8890 from rameshabhinay/ospf6_auth_trailer

OSPF6: Support OSPF6 authentication trailer RFC 7166

2 years agoMerge pull request #10537 from mjstapp/fix_dplane_strdup
Rafael Zalamena [Thu, 10 Feb 2022 13:24:22 +0000 (10:24 -0300)]
Merge pull request #10537 from mjstapp/fix_dplane_strdup

zebra: use frr mem apis in dplane

2 years agoMerge pull request #10552 from idryzhov/frr-reload-nodes
Donald Sharp [Thu, 10 Feb 2022 13:12:07 +0000 (08:12 -0500)]
Merge pull request #10552 from idryzhov/frr-reload-nodes

tools: fix frr-reload context keywords

2 years agoMerge pull request #10540 from idryzhov/attr-extra-revert
Donatas Abraitis [Thu, 10 Feb 2022 12:46:49 +0000 (14:46 +0200)]
Merge pull request #10540 from idryzhov/attr-extra-revert

revert recent bgp attr->extra changes

2 years agoMerge pull request #10545 from ton31337/feature/get_set_for_lcommunity
Igor Ryzhov [Thu, 10 Feb 2022 12:35:21 +0000 (15:35 +0300)]
Merge pull request #10545 from ton31337/feature/get_set_for_lcommunity

bgpd: Use get/set helpers for attr->lcommunity

2 years agobgpd: Use get/set helpers for attr->lcommunity
Donatas Abraitis [Wed, 9 Feb 2022 11:44:25 +0000 (13:44 +0200)]
bgpd: Use get/set helpers for attr->lcommunity

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2 years agoRevert "bgpd: Move out ipv6_ecommunity struct from attr to attr_extra"
Igor Ryzhov [Wed, 9 Feb 2022 10:06:51 +0000 (13:06 +0300)]
Revert "bgpd: Move out ipv6_ecommunity struct from attr to attr_extra"

This reverts commit 2703b7db19cebad82772d5210132dab412b855c3.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2 years agoRevert "bgpd: Move attr->pmsi_tnl_type to attr->extra->pmsi_tnl_type"
Igor Ryzhov [Wed, 9 Feb 2022 10:02:12 +0000 (13:02 +0300)]
Revert "bgpd: Move attr->pmsi_tnl_type to attr->extra->pmsi_tnl_type"

This reverts commit fc6ba64f04696416a1216bb57a7fd72efc5a0904.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2 years agoRevert "bgpd: Free only subattributes, not the whole attr_extra pointer"
Igor Ryzhov [Wed, 9 Feb 2022 10:02:02 +0000 (13:02 +0300)]
Revert "bgpd: Free only subattributes, not the whole attr_extra pointer"

This reverts commit 0911206097dc04315bcd6b3accd6236a047a1e06.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2 years agoMerge pull request #10549 from idryzhov/bgp-coverity
Donatas Abraitis [Thu, 10 Feb 2022 08:36:06 +0000 (10:36 +0200)]
Merge pull request #10549 from idryzhov/bgp-coverity

bgpd: fix null pointer dereferences

2 years agoMerge pull request #10550 from idryzhov/bgp-attr-undup
Donatas Abraitis [Thu, 10 Feb 2022 07:02:02 +0000 (09:02 +0200)]
Merge pull request #10550 from idryzhov/bgp-attr-undup

bgpd: remove bgp_attr_undup

2 years agoMerge pull request #10551 from idryzhov/bgpd-memleaks
Donatas Abraitis [Thu, 10 Feb 2022 06:53:26 +0000 (08:53 +0200)]
Merge pull request #10551 from idryzhov/bgpd-memleaks

bgpd: fix a couple of memleaks

2 years agotools: fix frr-reload context keywords
Igor Ryzhov [Wed, 9 Feb 2022 23:51:49 +0000 (02:51 +0300)]
tools: fix frr-reload context keywords

There are singline-line commands inside `router bgp` that start with
`vnc ` or `bmp `. Those commands are currently treated as node-entering
commands. We need to specify such commands more precisely.

Fixes #10548.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2 years agobgpd: remove bgp_attr_undup
Igor Ryzhov [Wed, 9 Feb 2022 22:43:37 +0000 (01:43 +0300)]
bgpd: remove bgp_attr_undup

bgp_attr_undup does the same thing as bgp_attr_flush – frees the
temporary data that might be allocated when applying a route-map. There
is no need to have two separate functions for that.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2 years agobgpd: fix aspath memleak on error in vnc_direct_bgp_add_nve
Igor Ryzhov [Wed, 9 Feb 2022 22:23:41 +0000 (01:23 +0300)]
bgpd: fix aspath memleak on error in vnc_direct_bgp_add_nve

bgp_attr_default_set creates a new empty aspath. If family error happens,
this aspath is not freed. Move attr initialization after we checked the
family.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2 years agobgpd: fix aspath memory leak in aggr_suppress_map_test
Igor Ryzhov [Wed, 9 Feb 2022 22:20:03 +0000 (01:20 +0300)]
bgpd: fix aspath memory leak in aggr_suppress_map_test

aspth_empty a couple of lines earlier creates an aspath and it must be
freed.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2 years agobgpd: fix missing bgp_attr_flush on errors in bgp_update
Igor Ryzhov [Wed, 9 Feb 2022 22:15:57 +0000 (01:15 +0300)]
bgpd: fix missing bgp_attr_flush on errors in bgp_update

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2 years agobgpd: fix null pointer dereferences
Igor Ryzhov [Wed, 9 Feb 2022 21:14:39 +0000 (00:14 +0300)]
bgpd: fix null pointer dereferences

They were introduced during recent ecommunity rework in b53e67a3.

CID 1511347 and 1511348.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2 years agoMerge pull request #10482 from donaldsharp/zebra_buffering
Russ White [Wed, 9 Feb 2022 17:56:37 +0000 (12:56 -0500)]
Merge pull request #10482 from donaldsharp/zebra_buffering

Zebra buffering

2 years agoMerge pull request #9631 from donaldsharp/more_workflow
Jafar Al-Gharaibeh [Wed, 9 Feb 2022 15:03:41 +0000 (09:03 -0600)]
Merge pull request #9631 from donaldsharp/more_workflow

doc: Update workflow.rst for release management

2 years agodoc: Update workflow.rst for release management
Donald Sharp [Thu, 16 Sep 2021 18:36:17 +0000 (14:36 -0400)]
doc: Update workflow.rst for release management

Some release management updates

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agotests: Added ospf6 authentication trailer topotest
Abhinay Ramesh [Mon, 28 Jun 2021 09:47:17 +0000 (09:47 +0000)]
tests: Added ospf6 authentication trailer topotest

Have added topotest to verify below combination.
Auth support for md5
Auth support for hmac-sha-256
Auth support with keychain for md5
Auth support with keychain for hmac-sha-256

Have sussessfully run all 4 test cases in my local setup.

Signed-off-by: Abhinay Ramesh <rabhinay@vmware.com>
2 years agoospf6d: Enable the feature using configure.ac
Abhinay Ramesh [Tue, 8 Jun 2021 12:40:21 +0000 (12:40 +0000)]
ospf6d: Enable the feature using configure.ac

Problem Statement:
=================
The feature is not enabled, needs to be enabled by doing required
initialization.

RCA:
====
Changes to support the feature is present, but the feature macro
needs to be enabled.

Fix:
====
This commit has changes to enable the code.

Risk:
=====
Medium

Need to ensure all existing ospf6 related topotests pass. to ensure
packet processing is not impacted.

Tests Executed:
===============
Have tested the functionality with enabling openssl and also disabling
openssl.

Signed-off-by: Abhinay Ramesh <rabhinay@vmware.com>
2 years agoospf6d: Documentation for authentication trailer support.
Abhinay Ramesh [Tue, 8 Jun 2021 07:54:18 +0000 (07:54 +0000)]
ospf6d: Documentation for authentication trailer support.

Problem Statement:
=================
This commit is to add document support for OSPF6 authentication
trailer feature, which is adding support for RFC7166.

RCA:
====
NA

Fix:
====
To add detailed description for feature support.
This document caputres
Configuration CLI
Show commands
Debug commands
Clear command

That are added as part of the feature with examples.

Risk:
=====
Low

Tests Executed:
===============
NA

Signed-off-by: Abhinay Ramesh <rabhinay@vmware.com>
2 years agoospf6d: Stitching the auth trailer code with rest of ospf6.
Abhinay Ramesh [Sun, 30 May 2021 16:33:41 +0000 (16:33 +0000)]
ospf6d: Stitching the auth trailer code with rest of ospf6.

Problem Statement:
==================
RFC 7166 support for OSPF6 in FRR code.

RCA:
====
This feature is newly supported in FRR

Fix:
====
Core functionality implemented in previous commit is
stitched with rest of ospf6 code as part of this commit.

Risk:
=====
Low risk

Tests Executed:
===============
Have executed the combination of commands.

Signed-off-by: Abhinay Ramesh <rabhinay@vmware.com>
2 years agoospf6d: Core functionality of auth trailer implementation..
Abhinay Ramesh [Sun, 30 May 2021 16:27:13 +0000 (16:27 +0000)]
ospf6d: Core functionality of auth trailer implementation..

Problem Statement:
==================
Implement RFC 7166 support for OSPF6 in FRR code.

RCA:
====
This feature is newly supported in FRR.

Fix:
====
Changes are done to implement ospf6 ingress and egress
packet processing.
This commit has the core functionality.

It supports below debugability commands:
---------------------------------------
debug ospf6 authentication [<tx|rx>]

It supports below clear command:
--------------------------------
clear ipv6 ospf6 auth-counters interface [IFNAME]

It supports below show commands:
--------------------------------
frr# show ipv6 ospf6 interface ens192
ens192 is up, type BROADCAST
  Interface ID: 5
  Number of I/F scoped LSAs is 2
    0 Pending LSAs for LSUpdate in Time 00:00:00 [thread off]
    0 Pending LSAs for LSAck in Time 00:00:00 [thread off]
  Authentication trailer is enabled with manual key         ==> new info added
    Packet drop Tx 0, Packet drop Rx 0     ==> drop counters

frr# show ipv6 ospf6 neighbor 2.2.2.2 detail
 Neighbor 2.2.2.2%ens192
    Area 1 via interface ens192 (ifindex 3)
    0 Pending LSAs for LSUpdate in Time 00:00:00 [thread off]
    0 Pending LSAs for LSAck in Time 00:00:00 [thread off]
    Authentication header present                           ==> new info added
                         hello        DBDesc       LSReq        LSUpd        LSAck
      Higher sequence no 0x0          0x0          0x0          0x0          0x0
      Lower sequence no  0x242E       0x1DC4       0x1DC3       0x23CC       0x1DDA

frr# show ipv6 ospf6
 OSPFv3 Routing Process (0) with Router-ID 2.2.2.2
 Number of areas in this router is 1
 Authentication Sequence number info                       ==> new info added
  Higher sequence no 3, Lower sequence no 1656

Risk:
=====
Low risk

Tests Executed:
===============
Have executed the combination of commands.

Signed-off-by: Abhinay Ramesh <rabhinay@vmware.com>
2 years agoospf6d: Auth trailer CLI implementation.
Abhinay Ramesh [Sun, 30 May 2021 16:22:41 +0000 (16:22 +0000)]
ospf6d: Auth trailer CLI implementation.

Problem Statement:
==================
RFC 7166 support for OSPF6 in FRR code.

RCA:
====
This feature is newly supported in FRR

Fix:
====
Changes are done to add support for two new CLIs to configure
ospf6 authentication trailer feature.
One CLI is to support manual key configuration.
Other CLI is to configure key using keychain.

below CLIs are implemented as part of this commit. this configuration
is applied on interface level.

Without openssl:
ipv6 ospf6 authentication key-id (1-65535) hash-algo <md5|hmac-sha-256> key WORD

With openssl:
ipv6 ospf6 authentication key-id (1-65535) hash-algo <md5|hmac-sha-256|hmac-sha-1|hmac-sha-384|hmac-sha-512> key WORD

With keychain support:
ipv6 ospf6 authentication keychain KEYCHAIN_NAME

Running config for these command:

frr# show running-config
Building configuration...

Current configuration:
!
interface ens192
 ipv6 address 2001:DB8:1::2/64
 ipv6 ospf6 authentication key-id 10 hash-algo hmac-sha-256 key abhinay
!
interface ens224
 ipv6 address 2001:DB8:2::2/64
 ipv6 ospf6 authentication keychain abhinay
!

Risk:
=====
Low risk

Tests Executed:
===============
Have executed the combination of commands.

Signed-off-by: Abhinay Ramesh <rabhinay@vmware.com>
2 years agoospf6d: support keychain for ospf6 authentication
Abhinay Ramesh [Tue, 11 May 2021 12:50:05 +0000 (12:50 +0000)]
ospf6d: support keychain for ospf6 authentication

Problem Statement:
==================
As of now there is no support for ospf6 authentication.
To support ospf6 authentication need to have keychain support for
managing the auth key. 
 
RCA:
====
New support
 
Fix:
====
Enabling keychain for ospf6 authentication feature.
 
Risk:
=====
Low risk
 
Tests Executed:
===============
Have verified the support for ospf6 auth trailer feature.

Signed-off-by: Abhinay Ramesh <rabhinay@vmware.com>
2 years agolib: Changes to support hash algo in keychain.
Abhinay Ramesh [Tue, 11 May 2021 10:00:38 +0000 (10:00 +0000)]
lib: Changes to support hash algo in keychain.

Problem Statement:
==================
Currently there is no support for configuring hash algorithm in
keychain. 
 
RCA:
====
Not implemented yet.
 
Fix:
====
Changes are done to configure hash algorithm as part of keychain.
which will easy the configuration from modules using keychain.
 
Risk:
=====
Low risk
 
Tests Executed:
===============
Have tested the configuration and unconfiguration flow for newly
implemented CLI.

!
key chain abcd
 key 100
  key-string password
  cryptographic-algorithm sha1
 exit
 key 200
  key-string password
  cryptographic-algorithm sha256
 exit
!

Signed-off-by: Abhinay Ramesh <rabhinay@vmware.com>
2 years agolib: Support auto completion of configured keychain.
Abhinay Ramesh [Tue, 11 May 2021 08:43:25 +0000 (08:43 +0000)]
lib: Support auto completion of configured keychain.

Problem Statement:
=================
When modules use keychain there is no option for auto completion
of configured keychains.

RCA:
====
Not implemented.

Fix:
====
Changes to support auto completion of configured keychain names.

Risk:
=====
Low risk

Tests Executed:
===============
Have tested auto completion of configured keychain names with newly
implemented auth CLI.

frr(config-if)# ipv6 ospf6 authentication keychain
  KEYCHAIN_NAME  Keychain name
     abcd pqr 12345

Signed-off-by: Abhinay Ramesh <rabhinay@vmware.com>
2 years agozebra: Make netlink buffer reads resizeable when needed
Donald Sharp [Wed, 2 Feb 2022 18:28:42 +0000 (13:28 -0500)]
zebra: Make netlink buffer reads resizeable when needed

Currently when the kernel sends netlink messages to FRR
the buffers to receive this data is of fixed length.
The kernel, with certain configurations, will send
netlink messages that are larger than this fixed length.
This leads to situations where, on startup, zebra gets
really confused about the state of the kernel.  Effectively
the current algorithm is this:

read up to buffer in size
while (data to parse)
     get netlink message header, look at size
        parse if you can

The problem is that there is a 32k buffer we read.
We get the first message that is say 1k in size,
subtract that 1k to 31k left to parse.  We then
get the next header and notice that the length
of the message is 33k.  Which is obviously larger
than what we read in.  FRR has no recover mechanism
nor is there a way to know, a priori, what the maximum
size the kernel will send us.

Modify FRR to look at the kernel message and see if the
buffer is large enough, if not, make it large enough to
read in the message.

This code has to be per netlink socket because of the usage
of pthreads.  So add to `struct nlsock` the buffer and current
buffer length.  Growing it as necessary.

Fixes: #10404
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agozebra: Remove `struct nlsock` from dataplane information and use `int fd`
Donald Sharp [Wed, 2 Feb 2022 18:21:52 +0000 (13:21 -0500)]
zebra: Remove `struct nlsock` from dataplane information and use `int fd`

Store the fd that corresponds to the appropriate `struct nlsock` and pass
that around in the dplane context instead of the pointer to the nlsock.
Modify the kernel_netlink.c code to store in a hash the `struct nlsock`
with the socket fd as the key.

Why do this?  The dataplane context is used to pass around the `struct nlsock`
but the zebra code has a bug where the received buffer for kernel netlink
messages from the kernel is not big enough.  So we need to dynamically
grow the receive buffer per socket, instead of having a non-dynamic buffer
that we read into.  By passing around the fd we can look up the `struct nlsock`
that will soon have the associated buffer and not have to worry about `const`
issues that will arise.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agozebra: Store the sequence number to use as part of the dp_info
Donald Sharp [Tue, 8 Feb 2022 14:47:24 +0000 (09:47 -0500)]
zebra: Store the sequence number to use as part of the dp_info

Store and use the sequence number instead of using what is in
the `struct nlsock`.  Future commits are going away from storing
the `struct nlsock` and the copy of the nlsock was guaranteeing
unique sequence numbers per message.  So let's store the
sequence number to use instead.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agozebra: use frr mem apis
Mark Stapp [Tue, 8 Feb 2022 20:57:57 +0000 (15:57 -0500)]
zebra: use frr mem apis

Replace a couple of strdup/free with XSTRDUP/XFREE.

Signed-off-by: Mark Stapp <mstapp@nvidia.com>
2 years agoMerge pull request #8458 from opensourcerouting/xref-5424
Donald Sharp [Tue, 8 Feb 2022 20:56:20 +0000 (15:56 -0500)]
Merge pull request #8458 from opensourcerouting/xref-5424

lib: RFC5424 syslog support

2 years agoMerge pull request #9066 from donaldsharp/ships_in_the_night
Russ White [Tue, 8 Feb 2022 19:41:01 +0000 (14:41 -0500)]
Merge pull request #9066 from donaldsharp/ships_in_the_night

zebra: Fix ships in the night issue

2 years agoMerge pull request #10531 from idryzhov/bgp-nexthop-cmp
Donald Sharp [Tue, 8 Feb 2022 19:40:03 +0000 (14:40 -0500)]
Merge pull request #10531 from idryzhov/bgp-nexthop-cmp

bgpd: avoid memcmp comparison of struct nexthop

2 years agoMerge pull request #10530 from idryzhov/ipaddr-cmp
Mark Stapp [Tue, 8 Feb 2022 19:35:43 +0000 (14:35 -0500)]
Merge pull request #10530 from idryzhov/ipaddr-cmp

*: use ipaddr_cmp instead of memcmp

2 years agoMerge pull request #10445 from ton31337/fix/frr-reload_stop_disabled_daemons
Donald Sharp [Tue, 8 Feb 2022 19:15:05 +0000 (14:15 -0500)]
Merge pull request #10445 from ton31337/fix/frr-reload_stop_disabled_daemons

tools: Stop disabled daemons when doing reload

2 years agoMerge pull request #10492 from ton31337/feature/pmsi_tnl_type_attr_extra
Donald Sharp [Tue, 8 Feb 2022 19:13:04 +0000 (14:13 -0500)]
Merge pull request #10492 from ton31337/feature/pmsi_tnl_type_attr_extra

bgpd: Move attr->pmsi_tnl_type to attr->extra->pmsi_tnl_type

2 years agoMerge pull request #10496 from ton31337/fix/move_struct_ecommunity_to_extra
Donald Sharp [Tue, 8 Feb 2022 19:12:15 +0000 (14:12 -0500)]
Merge pull request #10496 from ton31337/fix/move_struct_ecommunity_to_extra

bgpd: Use bgp_attr_[sg]et_ecommunity for struct ecommunity

2 years agoMerge pull request #10509 from mobash-rasool/fixes2
Donald Sharp [Tue, 8 Feb 2022 19:06:33 +0000 (14:06 -0500)]
Merge pull request #10509 from mobash-rasool/fixes2

pimd: Querier to non-querier transistion to be ignored in a case

2 years agoMerge pull request #10529 from Jafaral/doc-fix-order
Donatas Abraitis [Tue, 8 Feb 2022 19:03:19 +0000 (21:03 +0200)]
Merge pull request #10529 from Jafaral/doc-fix-order

doc: the dev tag should come after the new version commit step

2 years agoMerge pull request #10527 from idryzhov/topotest-literals
Donald Sharp [Tue, 8 Feb 2022 18:32:48 +0000 (13:32 -0500)]
Merge pull request #10527 from idryzhov/topotest-literals

tests: fix strings with topologies

2 years agoMerge pull request #10292 from opensourcerouting/pim6-addr-aux
Donald Sharp [Tue, 8 Feb 2022 18:09:08 +0000 (13:09 -0500)]
Merge pull request #10292 from opensourcerouting/pim6-addr-aux

pimd: start tackling IPv6 address operations

2 years agoMerge pull request #10511 from anlancs/ospf-substitute
Igor Ryzhov [Tue, 8 Feb 2022 17:50:22 +0000 (20:50 +0300)]
Merge pull request #10511 from anlancs/ospf-substitute

ospfd: fix loss of mixed form in "range" command

2 years agobgpd: avoid memcmp comparison of struct nexthop
Igor Ryzhov [Tue, 8 Feb 2022 17:34:28 +0000 (20:34 +0300)]
bgpd: avoid memcmp comparison of struct nexthop

Using memcmp is wrong because struct nexthop may contain unitialized
padding bytes that should not be compared.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2 years ago*: use ipaddr_cmp instead of memcmp
Igor Ryzhov [Tue, 8 Feb 2022 17:31:34 +0000 (20:31 +0300)]
*: use ipaddr_cmp instead of memcmp

Using memcmp is wrong because struct ipaddr may contain unitialized
padding bytes that should not be compared.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2 years agodoc: the dev tag should come after the new version commit step
Jafar Al-Gharaibeh [Tue, 8 Feb 2022 16:50:15 +0000 (10:50 -0600)]
doc: the dev tag should come after the new version commit step

Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
2 years agoMerge pull request #10504 from qingkaishi/master
Donald Sharp [Tue, 8 Feb 2022 15:10:52 +0000 (10:10 -0500)]
Merge pull request #10504 from qingkaishi/master

babeld: fix the checks for truncated packets

2 years agotests: fix strings with topologies
Igor Ryzhov [Tue, 8 Feb 2022 14:00:44 +0000 (17:00 +0300)]
tests: fix strings with topologies

Add `r` prefix to treat backslashes as literals.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2 years agoMerge pull request #10517 from idryzhov/isis_router_cap_tlv_fixes
Russ White [Tue, 8 Feb 2022 13:35:45 +0000 (08:35 -0500)]
Merge pull request #10517 from idryzhov/isis_router_cap_tlv_fixes

isisd: fix router capability TLV parsing issues

2 years agoMerge pull request #10293 from rgirada/ospf_lsid
Russ White [Tue, 8 Feb 2022 13:33:33 +0000 (08:33 -0500)]
Merge pull request #10293 from rgirada/ospf_lsid

ospfd: Modifying LSID generation algorithm

2 years agoMerge pull request #9649 from proelbtn/add-support-for-end-dt4
Russ White [Tue, 8 Feb 2022 13:30:02 +0000 (08:30 -0500)]
Merge pull request #9649 from proelbtn/add-support-for-end-dt4

add support for SRv6 IPv4 L3VPN

2 years agoMerge pull request #10417 from Orange-OpenSource/TE
Russ White [Tue, 8 Feb 2022 13:26:29 +0000 (08:26 -0500)]
Merge pull request #10417 from Orange-OpenSource/TE

Add Constraints Shortest Path First algorithm

2 years agoisisd: fix router capability TLV parsing issues
Juraj Vijtiuk [Wed, 13 Oct 2021 16:32:53 +0000 (18:32 +0200)]
isisd: fix router capability TLV parsing issues

isis_tlvs.c would fail at multiple places if incorrect TLVs were
received causing stream assertion violations.
This patch fixes the issues by adding missing length checks, missing
consumed length updates and handling malformed Segment Routing subTLVs.

Signed-off-by: Juraj Vijtiuk <juraj.vijtiuk@sartura.hr>
Small adjustments by Igor Ryzhov:
- fix incorrect replacement of srgb by srlb on lines 3052 and 3054
- add length check for ISIS_SUBTLV_ALGORITHM
- fix conflict in fuzzing data during rebase

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2 years agoMerge pull request #10524 from donaldsharp/pim_assert
Jafar Al-Gharaibeh [Tue, 8 Feb 2022 04:45:46 +0000 (22:45 -0600)]
Merge pull request #10524 from donaldsharp/pim_assert

pimd: Modify `show ip pim assert` to only show interesting bits

2 years agopimd: Modify `show ip pim assert` to only show interesting bits
Donald Sharp [Tue, 8 Feb 2022 00:55:00 +0000 (19:55 -0500)]
pimd: Modify `show ip pim assert` to only show interesting bits

`show ip pim assert` shows S,G ifchannel information even when
there is no information available about the assert process.

Fix the code to not dump non-interesting cases.

Fixes: 10462
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agozebra: Abstract nhg deletion to reduce code duplication
Donald Sharp [Thu, 22 Jul 2021 13:21:15 +0000 (09:21 -0400)]
zebra: Abstract nhg deletion to reduce code duplication

Reduce code duplication when we are cleaning up nexthop
groups.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agozebra: Fix ships in the night issue
Donald Sharp [Thu, 24 Jun 2021 16:23:33 +0000 (12:23 -0400)]
zebra: Fix ships in the night issue

When using wait for install there exists situations where
zebra will issue several route change operations to the kernel
but end up in a state where we shouldn't be at the end
due to extra data being received.  Example:

a) zebra receives from bgp a route change, installs sends the
route to the kernel.
b) zebra receives a route deletion from bgp, removes the
struct route entry and then sends to the kernel a deletion.
c) zebra receives an asynchronous notification that (a) succeeded
but we treat this as a new route.

This is the ships in the night problem.  In this case if we receive
notification from the kernel about a route that we know nothing
about and we are not in startup and we are doing asic offload
then we can ignore this update.

Ticket: #2563300
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agoMerge pull request #10518 from donaldsharp/af_unspec
Igor Ryzhov [Mon, 7 Feb 2022 20:29:33 +0000 (23:29 +0300)]
Merge pull request #10518 from donaldsharp/af_unspec

Af unspec

2 years agoMerge pull request #10441 from donaldsharp/pim_bsr_warning_remove
Russ White [Mon, 7 Feb 2022 19:03:53 +0000 (14:03 -0500)]
Merge pull request #10441 from donaldsharp/pim_bsr_warning_remove

pimd: Only remove bsr NHT if we actually have tracked something

2 years agobfdd: Use AF_UNSPEC instead of comparing to 0
Donald Sharp [Mon, 7 Feb 2022 18:25:21 +0000 (13:25 -0500)]
bfdd: Use AF_UNSPEC instead of comparing to 0

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agozebra: Use AF_UNSPEC instead of setting to 0
Donald Sharp [Mon, 7 Feb 2022 18:22:41 +0000 (13:22 -0500)]
zebra: Use AF_UNSPEC instead of setting to 0

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agolib: Use AF_UNSPEC intead of setting to 0
Donald Sharp [Mon, 7 Feb 2022 18:21:55 +0000 (13:21 -0500)]
lib: Use AF_UNSPEC intead of setting to 0

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agoospfd: Use AF_UNSPEC instead of setting to 0
Donald Sharp [Mon, 7 Feb 2022 18:20:43 +0000 (13:20 -0500)]
ospfd:  Use AF_UNSPEC instead of setting to 0

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agobgpd: Use AF_UNSPEC instead of setting to 0
Donald Sharp [Mon, 7 Feb 2022 18:16:59 +0000 (13:16 -0500)]
bgpd: Use AF_UNSPEC instead of setting to 0

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agoMerge pull request #10510 from ton31337/fix/rmap_dummy_attr_flush
Igor Ryzhov [Mon, 7 Feb 2022 14:40:13 +0000 (17:40 +0300)]
Merge pull request #10510 from ton31337/fix/rmap_dummy_attr_flush

bgpd: Flush temporary attributes after route-map apply

2 years agobgpd: Print route-map name for filtred outgoing prefixes
Donatas Abraitis [Mon, 7 Feb 2022 10:04:10 +0000 (12:04 +0200)]
bgpd: Print route-map name for filtred outgoing prefixes

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2 years agopimd: Querier to non-querier transistion to be ignored in a case
Mobashshera Rasool [Mon, 7 Feb 2022 07:23:21 +0000 (23:23 -0800)]
pimd: Querier to non-querier transistion to be ignored in a case

As per RFC 2236 section 3, when the leave message is received at a querier,
it starts sending Query messages for "last Member Query Interval*query count"
During this time there should not be any querier to non-querier
transition and the same router needs to send the remaning queries.

Fixes: #10422
Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2 years agobgpd: Flush temporary attributes after route-map apply
Donatas Abraitis [Mon, 7 Feb 2022 08:50:33 +0000 (10:50 +0200)]
bgpd: Flush temporary attributes after route-map apply

Fixes crash:

```
Received signal 6 at 1644222173 (si_addr 0x6f000012d2, PC 0x7f79274cbfb7); aborting...
/usr/lib/x86_64-linux-gnu/frr/libfrr.so.0(zlog_backtrace_sigsafe+0x6d) [0x7f79282e079d]
/usr/lib/x86_64-linux-gnu/frr/libfrr.so.0(zlog_signal+0xf3) [0x7f79282e0993]
/usr/lib/x86_64-linux-gnu/frr/libfrr.so.0(+0xbd881) [0x7f792830b881]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x12980) [0x7f7927890980]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0xc7) [0x7f79274cbfb7]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x141) [0x7f79274cd921]
/lib/x86_64-linux-gnu/libc.so.6(+0x89967) [0x7f7927516967]
/lib/x86_64-linux-gnu/libc.so.6(+0x909da) [0x7f792751d9da]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x620) [0x7f7927525050]
/usr/lib/frr/bgpd(+0x1e7c1c) [0x55b5c53b1c1c]
/usr/lib/frr/bgpd(aspath_free+0x28) [0x55b5c53b1c78]
/usr/lib/frr/bgpd(bgp_attr_flush+0x245) [0x55b5c52abc15]
/usr/lib/frr/bgpd(subgroup_announce_check+0x1137) [0x55b5c530c5d7]
```

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2 years agoMerge pull request #10432 from sworleys/PBR-Fix
Jafar Al-Gharaibeh [Sun, 6 Feb 2022 21:18:22 +0000 (15:18 -0600)]
Merge pull request #10432 from sworleys/PBR-Fix

pbrd: pbr route maps get addr family of nhgs

2 years agoMerge pull request #10471 from ton31337/fix/release_candidate_procedure
Jafar Al-Gharaibeh [Sun, 6 Feb 2022 21:06:16 +0000 (15:06 -0600)]
Merge pull request #10471 from ton31337/fix/release_candidate_procedure

doc: Add a commands snippet to workflow about what to do in RC1 phase

2 years agoMerge pull request #10323 from opensourcerouting/ospf6-lsa-stats
Igor Ryzhov [Sun, 6 Feb 2022 18:46:13 +0000 (21:46 +0300)]
Merge pull request #10323 from opensourcerouting/ospf6-lsa-stats

ospf6d: LSA statistics

2 years agoMerge pull request #10475 from ton31337/fix/coverity_bgpd
Igor Ryzhov [Sun, 6 Feb 2022 18:06:15 +0000 (21:06 +0300)]
Merge pull request #10475 from ton31337/fix/coverity_bgpd

bgpd: Coverity fixes

2 years agoMerge pull request #10494 from whichbug/fix#10487
Igor Ryzhov [Sun, 6 Feb 2022 17:55:26 +0000 (20:55 +0300)]
Merge pull request #10494 from whichbug/fix#10487

babeld: add a check for truncated packets

2 years agodoc: Add a commands snippet to workflow about what to do in the 1st phase
Donatas Abraitis [Tue, 1 Feb 2022 20:25:22 +0000 (22:25 +0200)]
doc: Add a commands snippet to workflow about what to do in the 1st phase

What we should do when creating stabilization branch from the master.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2 years agobgpd: Free only subattributes, not the whole attr_extra pointer
Donatas Abraitis [Sat, 5 Feb 2022 08:01:57 +0000 (10:01 +0200)]
bgpd: Free only subattributes, not the whole attr_extra pointer

Avoid use-after-free situation. Flush attr_extra structure only when flushing
all attributes, not just for unintern.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2 years agobgpd: Move attr->pmsi_tnl_type to attr->extra->pmsi_tnl_type
Donatas Abraitis [Sat, 5 Feb 2022 08:01:45 +0000 (10:01 +0200)]
bgpd: Move attr->pmsi_tnl_type to attr->extra->pmsi_tnl_type

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2 years agoMerge pull request #10472 from ton31337/fix/no_need_to_decorate
Jafar Al-Gharaibeh [Sat, 5 Feb 2022 01:41:43 +0000 (19:41 -0600)]
Merge pull request #10472 from ton31337/fix/no_need_to_decorate

tools: Skip decorating commits with references (branch name, remote)

2 years agoMerge pull request #9926 from donaldsharp/update_issues
Jafar Al-Gharaibeh [Sat, 5 Feb 2022 01:40:55 +0000 (19:40 -0600)]
Merge pull request #9926 from donaldsharp/update_issues

zebra: Fix v6 route replace failure turned into success

2 years agobabeld: fix #10502 #10503 by repairing the checks on length
qingkaishi [Fri, 4 Feb 2022 21:41:11 +0000 (16:41 -0500)]
babeld: fix #10502 #10503 by repairing the checks on length

This patch repairs the checking conditions on length in four functions:
babel_packet_examin, parse_hello_subtlv, parse_ihu_subtlv, and parse_update_subtlv

Signed-off-by: qingkaishi <qingkaishi@gmail.com>