Commit Graph

30458 Commits

Author SHA1 Message Date
Donatas Abraitis
1b484abc7d tests: Check if community-list works as expected
AND/OR cases.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-12-04 22:25:38 +02:00
Donatas Abraitis
5772fdff79 github: Build master daily docker images and for stable/X.Y on push
frrouting/frr:master will be generated every day
frrouting/frr:vX.Y.Z will be generated every time a new push is done on the
stable/X.Y branch.

Takes up to 3 hours to build and publish images.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-12-04 21:25:22 +02:00
Ryoga Saito
f784007d67 bgpd: Stop overriding nexthop when BGP unnumberred
When we use vrf-to-vrf export, the nexthop has already not been
overridden when the peer is BGP unnumberred. However, when we use normal
export, the nexthop will be oberridden. This behavior will make the VPN
routes invalid in VPN RIB.

This PR stops overriding nexthop even if we use normal export.

Signed-off-by: Ryoga Saito <ryoga.saito@linecorp.com>
2022-12-05 00:06:40 +09:00
Ryoga Saito
4915b5fd88 bgpd: Fix delete_vrf_tovpn_sid
The first argument of sid_unregister should be default bgp instance.
However, these functions passed VRF bgp instance to this funciton.

Signed-off-by: Ryoga Saito <ryoga.saito@linecorp.com>
2022-12-04 17:02:37 +09:00
Ryoga Saito
625fe20b6d tests: Fix topotests for bgp_srv6l3vpn
In bgp_srv6l3vpn tests, check_ping checks reachability. However, this
function have a bug and if we set expect_connected to True, check will
pass even if all ping packets are lost. This commit fixes this issue.

Signed-off-by: Ryoga Saito <ryoga.saito@linecorp.com>
2022-12-04 17:02:30 +09:00
Mark Stapp
4011543282 lib: use specific MTYPE for interface descriptions
Don't use MTYPE_TMP, use a real mem type.

Signed-off-by: Mark Stapp <mjs@labn.net>
2022-12-02 11:10:24 -05:00
Donald Sharp
c7e804c900
Merge pull request #12429 from opensourcerouting/fix/bgp_nits
bgpd: Cosmetic changes
2022-12-02 10:42:18 -05:00
Donatas Abraitis
784ca7702d docker: Use Alpine 3.17 as base image
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-12-02 15:42:00 +02:00
Donatas Abraitis
146c574ba6 bgpd: Fix unaligned output of advertised-routes, bestpath-routes, etc.
This commit eaeba5e868 changed a bit a formatting,
but this part was missed, let's fix it.

An example before the patch:

```
r3# sh ip bgp ipv4 labeled-unicast neighbors 192.168.34.4 advertised-routes
BGP table version is 3, local router ID is 192.168.34.3, vrf id 0
Default local pref 100, local AS 65003
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

    Network          Next Hop            Metric LocPrf Weight Path
*> 10.0.0.1/32      0.0.0.0                                0 65001 ?

Total number of prefixes 1
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-12-02 10:39:20 +02:00
Donatas Abraitis
c4cb7019c3 bgpd: Do not print cumulated bandwidth prefixed with u
This seems just a mistake, drop `u` prefix.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-12-02 10:20:10 +02:00
Jafar Al-Gharaibeh
78464691ee
Merge pull request #12427 from mjstapp/pim6d_enabled
build: enable pim6d by default
2022-12-01 23:55:55 -06:00
Mark Stapp
cee45b84f4 build: enable pim6d by default
Change configure.ac so that pim6d is enabled by default; a
command-line option can disable it.

Signed-off-by: Mark Stapp <mjs@labn.net>
2022-12-01 13:57:46 -05:00
Donald Sharp
5eb310087b
Merge pull request #12397 from opensourcerouting/vscode-intro
lib: handle visual studio code C/C++ extension
2022-12-01 11:01:45 -05:00
Donald Sharp
0ec0fee279
Merge pull request #12418 from opensourcerouting/fix/tests_for_while_true
Fix old tests with `while true`
2022-12-01 11:00:23 -05:00
Rafael Zalamena
60ee19e20b
Merge pull request #12425 from cscarpitta/fix/fix-bgp-srv6l3vpn-to-bgp-vrf2-topotest
tests: Fix `bgp_srv6l3vpn_to_bgp_vrf2` topotest failures
2022-12-01 07:46:52 -03:00
Carmine Scarpitta
6e502a0a75 tests: Fix bgp_srv6l3vpn_to_bgp_vrf2 topotest
The `bgp_srv6l3vpn_to_bgp_vrf2` topotest tests the SRv6 IPv4 L3VPN
functionality. It applies the appropriate configuration in `bgpd` and
`zebra`, and then checks that the RIB is updated correctly.

The topotest expects to find the AS-Path in the RIB, which is only
present if the `bgp send-extra-data zebra` option is enabled in the
`bgpd` configuration.

Currently, the `bgp send-extra-data zebra` option is not set in the
`bgpd` configuration, which always causes the topotest to fail.

This commit fixes the `bgp_srv6l3vpn_to_bgp_vrf2` topotest by enabling
the `bgp send-extra-data zebra` option for both routers `r1` and `r2`.

Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
2022-11-30 22:18:49 +01:00
Donatas Abraitis
a677c44802
Merge pull request #12325 from AbhishekNR/ttable_pim_nexthop
pimd, pim6d: Using ttable for displaying "show ip/ipv6 pim nexthop" command output
2022-11-30 21:40:30 +02:00
mobash-rasool
14a6791256
Merge pull request #12416 from opensourcerouting/fix/inet_ntop
bgpd: inet_ntop() adjustments
2022-11-30 23:57:11 +05:30
Donatas Abraitis
32655aa212 tests: Improve bgp_maximum_prefix_invalid_update test case
Drop `grep'ing` stuff, and check JSON data if notification was send or not.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-11-30 17:22:43 +02:00
Sergei Rozhkov
012f7ae4e9 vtysh: add motd command
Add "show motd" commad.
The vtysh user can call the "show motd" command to re-show the welcome message.
This is necessary if the user saves frequently used commands in motd.

Signed-off-by: Sergei Rozhkov <gh@zserg.ru>
2022-11-30 09:43:55 +05:00
Russ White
c0a4793035
Merge pull request #12367 from rgirada/ospf_valgrind_fix
ospfd: Fixing a memleak.
2022-11-29 11:23:27 -05:00
Donatas Abraitis
073801481b bgpd: inet_ntop() adjustments
Use %pI4/%pI6 where possible, otherwise at least atjust stack buffer sizes
for inet_ntop() calls.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-11-29 17:36:13 +02:00
Russ White
1407cbaea6
Merge pull request #12334 from ylopez/patch-1
Increase maximum packet size in ospf API
2022-11-29 10:11:32 -05:00
Russ White
0cf6c95a63
Merge pull request #12384 from opensourcerouting/feature/snmp_bgp4V2PeerErrorsTable
bgpd: Implement SNMP BGP4V2-MIB (bgp4V2PeerErrorsTable)
2022-11-29 10:05:29 -05:00
Russ White
24604f5608
Merge pull request #12386 from opensourcerouting/bfd-ipv4-source-bind
bfdd: fix IPv4 socket source selection
2022-11-29 10:03:44 -05:00
Donatas Abraitis
b381ed97a6 bgpd: Adjust received prefix count only when we validate the nexthop
bgp_pcount_adjust() is called only when calling bgp_path_info_set_flag().

Before this patch the pcount is not advanced before checking for overflow.

Additionally, print:

```
[RZMGQ-A03CG] 192.168.255.1(r1) rcvd UPDATE about 172.16.255.254/32 IPv4 unicast -- DENIED due to: maximum-prefix overflow
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-11-29 17:02:41 +02:00
Donatas Abraitis
7591803d88 tests: Refactor bgp_maximum_prefix_invalid_update test case
Just drop `while true` stuff.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-11-29 17:02:40 +02:00
Russ White
dd6e0bc0cc
Merge pull request #12329 from opensourcerouting/feature/graceful-shutdown_per_peer
bgpd: Implement graceful-shutdown command per neighbor
2022-11-29 08:47:20 -05:00
Donatas Abraitis
27858b3be9 tests: Refactor bgp_local_as_private_remove test case
Just drop `while true` stuff.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-11-29 15:19:56 +02:00
Donatas Abraitis
52ffb4e6c0 tests: Refactor bgp_comm-list_delete test case
Just drop `while true` stuff.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-11-29 15:08:09 +02:00
Donatas Abraitis
a70449c214
Merge pull request #12413 from donaldsharp/misc_and_then_some
Misc and then some
2022-11-29 10:27:43 +02:00
Donatas Abraitis
c81213a96e
Merge pull request #12375 from chiragshah6/fdev1
zebra: json support for show ip nht
2022-11-29 09:39:53 +02:00
Sindhu Parvathi Gopinathan
780563cc8b zebra: json support for show ip nht
show ip/ipv6 nht vrf <all | name> json support added.

Commands enhanced with JSON:
----------------------------
show ip nht json
show ip nht <addr> json
show ipv6 nht json
show ipv6 nht <addr> json
show ip nht vrf <name> json
show ip nht vrf all json
show ipv6 nht vrf <name> json
show ipv6 nht vrf all json
show ip nht vrf default <addr> json
show ipv6 nht vrf default <addr> json

Sample JSON output:
-------------------

tor-1# show ip nht vrf default json
{
  "default":{
    "nexthops":{
      "27.0.0.5":{
        "nhtConnected":false,
        "clientList":[
          {
            "protocol":"bgp",
            "socket":70,
            "protocolFiltered":"none"
          }
        ],
        "gates":[
          {
            "ip":"fe80::202:ff:fe00:2b",
            "interface":"uplink_1"
          },
          {
            "ip":"fe80::202:ff:fe00:35",
            "interface":"uplink_2"
          }
        ],
        "resolvedProtocol":"bgp"
      },
      "27.0.0.6":{
        "nhtConnected":false,
        "clientList":[
          {
            "protocol":"bgp",
            "socket":70,
            "protocolFiltered":"none"
          }
        ],
        "gates":[
          {
            "ip":"fe80::202:ff:fe00:2b",
            "interface":"uplink_1"
          },
          {
            "ip":"fe80::202:ff:fe00:35",
            "interface":"uplink_2"
          }
        ],
        "resolvedProtocol":"bgp"
      }
    }
  }
}

tor-1# show ipv6 nht vrf default json
{
  "default": {
    "nexthops": {
      "fe80::202:ff:fe00:25": {
        "nhtConnected": true,
        "clientList": [
          {
            "protocol": "bgp",
            "socket": 45,
            "protocolFiltered": "none"
          }
        ],
        "gates": [
          {
            "interface": "swp1",
            "directlyConnected": true
          }
        ],
        "resolvedProtocol": "connected"
      },
      "fe80::202:ff:fe00:2b": {
        "nhtConnected": true,
        "clientList": [
          {
            "protocol": "bgp",
            "socket": 45,
            "protocolFiltered": "none"
          }
        ],
        "gates": [
          {
            "interface": "swp1",
            "directlyConnected": true
          }
        ],
        "resolvedProtocol": "connected"
      }
    }
  }
}

tor-1# show ipv6 nht vrf all json
{
  "default": {
    "nexthops": {
      "fe80::202:ff:fe00:25": {
        "nhtConnected": true,
        "clientList": [
          {
            "protocol": "bgp",
            "socket": 45,
            "protocolFiltered": "none"
          }
        ],
        "gates": [
          {
            "interface": "swp1",
            "directlyConnected": true
          }
        ],
        "resolvedProtocol": "connected"
      },
      "fe80::202:ff:fe00:2b": {
        "nhtConnected": true,
        "clientList": [
          {
            "protocol": "bgp",
            "socket": 45,
            "protocolFiltered": "none"
          }
        ],
        "gates": [
          {
            "interface": "swp1",
            "directlyConnected": true
          }
        ],
        "resolvedProtocol": "connected"
      }
    }
  },
  "mgmt": {
    "nexthops": {}
  },
  "sym_1": {
    "nexthops": {}
  }
}

Ticket:#3229013
Issue:3229013

Testing Done: Unit test completed.

Signed-off-by: Chirag Shah <chirag@nvidia.com>
Signed-off-by: Sindhu Parvathi Gopinathan <sgopinathan@nvidia.com>
2022-11-28 15:38:09 -08:00
Siger Yang
7ef70ad5d4
doc: add vrrp interoperability help and command
Add VRRPv3 `checksum-with-ipv4-pseudoheader` command and
interoperability help text.

Signed-off-by: Siger Yang <siger.yang@outlook.com>
2022-11-29 03:59:23 +08:00
Jafar Al-Gharaibeh
e7ae04259d
Merge pull request #12414 from opensourcerouting/fix/update_workflow
Some doc changes
2022-11-28 14:36:54 -05:00
Donatas Abraitis
f4ebc6f04e doc: Do not forget to update the reference table for release dates
As a part of release, an additional checkpoint when creating a stabilization
branch.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-11-28 17:37:24 +02:00
Donatas Abraitis
9de44c0a1b doc: Update release dates and add a hint on how to get dates correctly
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-11-28 17:37:23 +02:00
Donald Sharp
0ec939675a ospf6d: Consolidate to ospf6_route_is_identical
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-11-28 10:30:31 -05:00
Donald Sharp
8f1bf68740 ospf6d: ospf6_route_cmp_nexthops make return sane
The ospf6_route_cmp_nexthops function was returning 0 for same
and 1 for not same.  Let's reverse the polarity and actually make
the returns useful long term.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-11-28 09:41:03 -05:00
Donald Sharp
7b7ca2d319 ospfd: Do not auto-debug DR-Election notifications
Every 1/2 hour my logs are filling up with this:
2022-11-26 13:54:47.531 [DEBG] ospfd: [P4PQ9-K4XFD] DR-Election[1st]: Backup 192.168.119.229
2022-11-26 13:54:47.531 [DEBG] ospfd: [HBZ7F-65Y86] DR-Election[1st]: DR     192.168.119.229
2022-11-26 13:54:47.531 [DEBG] ospfd: [H01MF-RN00N] DR-Election[2nd]: Backup 0.0.0.0
2022-11-26 13:54:47.531 [DEBG] ospfd: [R7BJ4-KP8JT] DR-Election[2nd]: DR     192.168.119.229

This should be guarded by an if check to ensure that the operator really
wants to see this.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-11-28 08:57:38 -05:00
Donald Sharp
15e78e64b4 ospfd: Do not always debug joining AllDRouters Multicast group
My log file is filling up with:
2022-11-26 13:24:47.532 [DEBG] ospfd: [RY794-DQ7AK] interface 192.168.119.229 [2] join AllDRouters Multicast group.

Every 1/2 hour.  There is nothing an operator needs to do here and nothing
that they can change.  Let's guard this output.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-11-28 08:53:20 -05:00
Donald Sharp
74f3656d12 bgpd: Null checking is not needed on failure
Memory allocations that fail crash the program.  Checking
for NULL is not going to do anything.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-11-28 08:52:48 -05:00
Donald Sharp
89eb8c8e4d
Merge pull request #12389 from opensourcerouting/ospf6d-asbr-infinite-loop
ospf6d: fix infinite loop when adding ASBR route
2022-11-28 08:45:50 -05:00
Francois Dumontet
bb31900439 topotest: add test for confederation
add a test dedicated to confederation. it also take into
account the support of AS memberwith same id  that the
confederation id.

Signed-off-by: Francois Dumontet <francois.dumontet@6wind.com>
2022-11-28 14:24:49 +01:00
Donald Sharp
b90a00d151
Merge pull request #12405 from opensourcerouting/static-improv
staticd: improve CLI/northbound translation code
2022-11-28 08:13:09 -05:00
Donald Sharp
d58334ea1c
Merge pull request #12342 from opensourcerouting/fix/small_waiting_times
tests: Fail tests immediately if they use too low wait/count values
2022-11-28 08:10:23 -05:00
Donald Sharp
398c407399
Merge pull request #12363 from opensourcerouting/feature/add_size_label_github
github: Create size label for every PR
2022-11-28 07:48:52 -05:00
Donald Sharp
e54bb3e725
Merge pull request #12408 from opensourcerouting/fix/mpls_vtysh_print
zebra: Use `mpls enable`, not `mpls` when generating a config
2022-11-28 07:48:16 -05:00
Rafael Zalamena
a082324649 lib: handle visual studio code C/C++ extension
Add some `pragma`s to handle errors that the C/C++ extension is not able
to understand.

Move `TRANSPARENT_UNION` to `lib/compiler.h` for consistency.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2022-11-28 08:21:25 -03:00
Donatas Abraitis
79e9f21287
Merge pull request #12369 from mruprich/frr-run-as-non-root
tools: Enable start of FRR for non-root user
2022-11-28 11:31:36 +02:00