Commit Graph

30776 Commits

Author SHA1 Message Date
Philippe Guibert
a04f1c42eb bgpd: imported vpn entries get appropriate distance
MPLS VPN networks can either peer with iBGP or eBGP. When
calculating the distance to send to zebra, the imported prefix
is never sent with distance information, even if the vty
command is used under the ipv4 unicast address family:

router bgp 65505 vrf vrf1
 address-family ipv4 unicast
  distance bgp 26 27 28
  [vpn config]

The observation is that the distance sent to zebra for an
imported prefix is still 20:

[..]
VRF vrf1:
B>  192.168.0.0/24 [20/0] via 2.2.2.2 (vrf default) (recursive), label 20, weight 1, 00:00:12
  *                          via 10.125.0.6, ntfp3 (vrf default), label implicit-null/20, weight 1, 00:00:12

The expectation is that the incoming prefix has to follow the
distance that is configured, or the distance derived from the peer
relationship established by the parent prefix.

In the case, an iBGP relationship is done, and no distance
configuration is done, the below show is expected:

   [..]
   VRF vrf1:
   B*>  192.168.0.0/24 [200/0] via 192.168.0.2, r1-gre0 (vrf default), label 20, weight 1, 00:00:12

In the case an iBGP relationship is done, and distance configuration
is performed as below:
   [..]
   distance bgp 21 201 41
   [..]

Then the below show is expected:

   [..]
   VRF vrf1:
   B*>  192.168.0.0/24 [201/0] via 192.168.0.2, r1-gre0 (vrf default), label 20, weight 1, 00:00:12

To get this behaviour, get the peer origin where the prefix is coming
from.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2023-01-17 13:24:33 +01:00
anlan_cs
47f5eb7487 bgpd: cosmetic changes for debug
Two changes for debug log -
1. Display empty VRF as "None".
2. Correct wrong "type-2" word for type-3 route.

Before:
```
2023/01/17 04:00:30 BGP: [Z5AV7-75RTE] VRF   vni 100 type-2 route evp [3]:[0]:[32]:[88.88.88.88] RMAC 00:00:00:00:00:00 nexthop 88.88.88.88 esi (null)
```

After:
```
2023/01/17 04:05:24 BGP: [M3X4Y-24DVB] VRF None vni 100 type-3 route evp [3]:[0]:[32]:[88.88.88.88] RMAC 00:00:00:00:00:00 nexthop 88.88.88.88 esi (null)
```

Signed-off-by: anlan_cs <vic.lan@pica8.com>
2023-01-17 17:16:39 +08:00
Kuldeep Kashyap
244f2df015 tests: Fix for frr-bot style issues
Fixed style issues repoted by frr-bot

Signed-off-by: Kuldeep Kashyap <kashyapk@vmware.com>
2023-01-17 14:07:23 +05:30
Kuldeep Kashyap
db726bb8b7 tests: [topojson]Update assert/error messages
Few assert/error messages are updated for test
scripts for better debugging.

Signed-off-by: Kuldeep Kashyap <kashyapk@vmware.com>
2023-01-17 14:00:49 +05:30
anlan_cs
efa354a978 lib: fix wrong returned value for filter
When setting rule for access-list ( and prefix-list ) without sequence, it
will automatically get a sequence by `acl_get_seq()`, and return
`CMD_SUCCESS` for command even this sequence value is wrong.

In this scene, `CMD_WARNING_CONFIG_FAILED` should be returned with a
warning.

So, add the check in `acl_get_seq()` and move `nb_cli_enqueue_change()`
after the check of wrong sequence.

Both `plist_remove_if_empty()` and `acl_remove_if_empty()` should ignore
this check, there is no change on them.

Before:
```
anlan(config)# access-list aa seq 4294967295 deny 6.6.6.6/32
anlan(config)# access-list aa deny 6.6.6.7/32  <- Return CMD_SUCCESS
YANG error(s):
 Value "4294967300" is out of uint32's min/max bounds.
 Value "4294967300" is out of uint32's min/max bounds.
 Value "4294967300" is out of uint32's min/max bounds.
 Value "4294967300" is out of uint32's min/max bounds.
 Value "4294967300" is out of uint32's min/max bounds.
 YANG path: Schema location /frr-filter:lib/prefix-list/entry/sequence.
% Failed to edit configuration.
```

After:
```
anlan(config)# access-list aa seq 4294967295 deny 6.6.6.6/32
anlan(config)# access-list aa deny 6.6.6.7/32  <- Return CMD_WARNING_CONFIG_FAILED
% Malformed sequence value
```

Additionally, fixed the overflow issue on `acl_get_seq()` on **32bit** platforms.
Just change the returned type of `acl_get_seq()` from `long` to `int64_t`.

Before:
```
anlan(config)# access-list bb seq 4294967295 deny 6.6.6.6/32
anlan(config)# access-list bb deny 6.6.6.7/32
anlan(config)# do show run
...
access-list bb seq 4294967295 deny 6.6.6.6/32
access-list bb seq 4 deny 6.6.6.7/32 <- Overflow
```

After:
```
anlan(config)# access-list bb seq 4294967295 deny 6.6.6.6/32
anlan(config)# access-list bb deny 6.6.6.7/32
% Malformed sequence value
```

Signed-off-by: anlan_cs <vic.lan@pica8.com>
2023-01-17 09:36:50 +08:00
Rafael Zalamena
e96817f877 zebra: fix use after free on RIB processing
After calling `rib_unlink` the variable `re` will point to `free()`d
memory, so don't attempt to use it after this point.

Found by Coverity Scan (Coverity ID 1519784)

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2023-01-16 17:40:54 -03:00
Donatas Abraitis
b2a100e439 bgpd: Drop redundant vrf keyword in BGP debug log changes
Before:

```
nexthop is not valid (in vrf VRF vrf100)
updating RD 65001:100, 10.100.1.1/32 to vrf VRF vrf200
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-01-16 21:36:08 +02:00
Donatas Abraitis
2273550f04
Merge pull request #12621 from donaldsharp/route_scale_failure_micronet
tests: route_scale tests are failing on micronet
2023-01-16 14:32:26 +02:00
Samanvitha B Bhargav
8c9d306c8d bgpd: Fix crash during shutdown due to race condition
[New LWP 2524]
[New LWP 2539]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/opt/avi/bin/bgpd -f /run/frr/avi_ns3_bgpd.config -i /opt/avi/etc/avi_ns3_bgpd.'.
Program terminated with signal SIGABRT, Aborted.
[Current thread is 1 (Thread 0x7f92ac8f1740 (LWP 2524))]
0  0x00007f92acb3800b in raise () from /lib/x86_64-linux-gnu/libc.so.6
[Current thread is 1 (Thread 0x7f92ac8f1740 (LWP 2524))]
0  0x00007f92acb3800b in raise () from /lib/x86_64-linux-gnu/libc.so.6
1  0x00007f92acb17859 in abort () from /lib/x86_64-linux-gnu/libc.so.6
2  0x00007f92acb17729 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
3  0x00007f92acb28fd6 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
4  0x00007f92accf2164 in pthread_mutex_lock () from /lib/x86_64-linux-gnu/libpthread.so.0
5  0x000055b46be1ef63 in bgp_keepalives_wake () at bgpd/bgp_keepalives.c:311
6  0x000055b46be1f111 in bgp_keepalives_stop (fpt=0x55b46cfacf20, result=<optimized out>) at bgpd/bgp_keepalives.c:323
7  0x00007f92acea9521 in frr_pthread_stop (fpt=0x55b46cfacf20, result=result@entry=0x0) at lib/frr_pthread.c:176
8  0x00007f92acea9586 in frr_pthread_stop_all () at lib/frr_pthread.c:188
9  0x000055b46bdde54a in bgp_pthreads_finish () at bgpd/bgpd.c:8150
10 0x000055b46bd696ca in bgp_exit (status=0) at bgpd/bgp_main.c:210
11 sigint () at bgpd/bgp_main.c:154
12 0x00007f92acecc1e9 in quagga_sigevent_process () at lib/sigevent.c:105
13 0x00007f92aced689a in thread_fetch (m=m@entry=0x55b46cf23540, fetch=fetch@entry=0x7fff95379238) at lib/thread.c:1487
14 0x00007f92aceb2681 in frr_run (master=0x55b46cf23540) at lib/libfrr.c:1010
15 0x000055b46bd676f4 in main (argc=11, argv=0x7fff953795a8) at bgpd/bgp_main.c:482

Root cause:
This is due to race condition between main thread & keepalive thread during clean-up.

This happens when the keepalive thread is processing a wake signal owning the mutex, when meanwhile the main thread tries to stop the keepalives thread.

In main thread, the keepalive thread’s running bit (fpt->running) is set to false, without taking the mutex & then it blocks on mutex.
Meanwhile, keepalive thread which owns the mutex sees that the running bit is false & executes bgp_keepalives_finish() which also frees up mutex.
Main thread that is waiting on mutex with pthread_mutex_lock() will cause core while trying to access mutex.

Fix:
Take the lock in main thread while setting the fpt->running to false.

Signed-off-by: Samanvitha B Bhargav <bsamanvitha@vmware.com>
2023-01-16 04:22:11 -08:00
Donatas Abraitis
d9e1fe38a6
Merge pull request #12642 from anlancs/fix/bgpd-debug-name
bgpd: fix wrong vrf name for debug
2023-01-16 14:16:43 +02:00
anlan_cs
6bb58de0a5 bgpd: fix wrong vrf name for debug
For vrf name in debug, use `bgp->name_pretty` instead of `bgp->name`.

Before:
```
2023/01/15 05:04:19 BGP: [P4GAZ-JHRM3] evpn vrf VRF default nh init
2023/01/15 05:04:19 BGP: [ZZKY3-FX5JH] bgp_get: Registering BGP instance (null) to zebra <-
2023/01/15 05:04:19 BGP: [TNK7N-FJF7K] Registering VRF 0
```

After:
```
2023/01/15 21:38:16 BGP: [P4GAZ-JHRM3] evpn vrf VRF default nh init
2023/01/15 21:38:16 BGP: [ZZKY3-FX5JH] bgp_get: Registering BGP instance VRF default to zebra <-
2023/01/15 21:38:16 BGP: [TNK7N-FJF7K] Registering VRF 0
```

Signed-off-by: anlan_cs <vic.lan@pica8.com>
2023-01-16 13:07:56 +08:00
Donald Sharp
0fe10eb8eb
Merge pull request #12611 from vfreex/reload-missing-daemons
tools: Add missing daemons
2023-01-15 17:45:21 -05:00
Donatas Abraitis
8a02d9fe1e bgpd: Set nh ifindex to VRF's interface, not the real
The kernel will lookup the real interface later.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-01-15 12:43:37 +02:00
Louis Scalbert
b2cfd204a8 lib: add a function to get the VRF or loopback interface
Add a function to find the VRF or the loopback interface: the loopback
interface for the default VRF and the VRF master interface otherwise.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-01-15 12:22:24 +02:00
Donatas Abraitis
b4710d034d tests: Check if connected routes are leaked between VRFs using accept-own
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-01-15 12:22:12 +02:00
Donatas Abraitis
c479b28e51 bgpd: Allow importing local routes with accept-own mechanism
Before this patch we allowed importing routes between VRFs in the same node,
only for external routes, but not for local (e.g.: redistribute).

Relax here a bit, and allow importing local routes between VRFs when the RT
list is modified using route reflectors.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-01-15 12:21:36 +02:00
Donald Sharp
483b322821 tests: route_scale tests are failing on micronet
I'm seeing test failures after in micronet runs in CI
after 7 seconds * 30 attempts at seeing if it succeeds.
Let's see if another 60 seconds of attempts allows
this to work properly.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-01-15 10:13:04 +00:00
Yuxiang Zhu
559f208ea5 tools: Add missing daemons
Got `ERROR: Daemon babeld is not a valid option for 'show running-config'` when using `frr-reload.py --reload --daemon babeld`.

Adds `babeld` and `nhrpd` as valid daemons.

Signed-off-by: Yuxiang Zhu <vfreex@gmail.com>
2023-01-15 10:57:53 +08:00
Donatas Abraitis
be251beef2
Merge pull request #12639 from donaldsharp/breakup_bgp_vrf_dynamic_route_leak_topo4
tests: Breakup bgp_vrf_dynamic_route_leak_topo4
2023-01-14 22:26:43 +02:00
Donatas Abraitis
db3f8f3199 bgpd: Deprecate some unused BGP stuff
* BGP optional parameter type (Authentication)
* BGP UPDATE message error subcode for AS loop

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-01-14 21:30:35 +02:00
Donatas Abraitis
25851bf0a1 bgpd: Do not send routes back received from a peer
Before this patch, we needed to explicitly define a neighbor to be SOLO
(= separate update-group). Let's ease this functionality for an operator to
avoid confusions.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-01-14 21:30:07 +02:00
Donatas Abraitis
c7fe4786dc tests: Check if routes are not sent back from the sender
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-01-14 21:30:07 +02:00
Donatas Abraitis
a5c6a9b18e bgpd: Add neighbor path-attribute discard command
The idea is to drop unwanted attributes from the BGP UPDATE messages and
continue by just ignoring them. This improves the security, flexiblity, etc.

This is the command that Cisco has also.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-01-14 21:29:41 +02:00
Donatas Abraitis
563212ee3e doc: Add neighbor path-attribute discard command
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-01-14 21:29:41 +02:00
Donatas Abraitis
760aee9ac2 tests: Check if we can discard unwanted attributes from the paths
Using `neighbor path-attribute discard ...` command.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-01-14 21:29:41 +02:00
Chirag Shah
4300ed1004 doc: add documentation for show vrf vni
Signed-off-by: Chirag Shah <chirag@nvidia.com>
2023-01-13 13:49:21 -08:00
Sindhu Parvathi Gopinathan
3cff8acb33 zebra: Adding FRR support for show vrf vrf-id vni
cli & json support extended for show vrf vrf-id vni

commands:

 - existing: show vrf vni
 - show vrf <vrf-name> vni
 - show vrf all vni
 - show vrf <vrf-name> vni json
 - show vrf all vni json

Before:
```
tor-1# show vrf vni
VRF                                   VNI        VxLAN IF
L3-SVI               State Rmac
default                               100        None
None                 Down  None
sym_1                                 8888       vxlan99
vlan490_l3           Up    44:38:39:ff:ff:25
sym_2                                 8889       vxlan99
vlan491_l3           Up    44:38:39:ff:ff:25
sym_3                                 8890       vxlan99
vlan492_l3           Up    44:38:39:ff:ff:25
sym_4                                 8891       vxlan99
vlan493_l3           Up    44:38:39:ff:ff:25
sym_5                                 8892       vxlan99
vlan494_l3           Up    44:38:39:ff:ff:25
tor-1#
```

After:
```
tor-1# show vrf default vni json
{
  "vrfs":[
    {
      "vrf":"default",
      "vni":100,
      "vxlanIntf":"None",
      "sviIntf":"None",
      "state":"Down",
      "routerMac":"None"
    }
  ]
}

tor-1# show vrf default vni
VRF                                   VNI        VxLAN IF
L3-SVI               State Rmac
default                               100        None
None                 Down  None
tor-1#

tor-1# show vrf all vni
VRF                                   VNI        VxLAN IF
L3-SVI               State Rmac
default                               100        None
None                 Down  None
sym_1                                 8888       vxlan99
vlan490_l3           Up    44:38:39:ff:ff:25
sym_2                                 8889       vxlan99
vlan491_l3           Up    44:38:39:ff:ff:25
sym_3                                 8890       vxlan99
vlan492_l3           Up    44:38:39:ff:ff:25
sym_4                                 8891       vxlan99
vlan493_l3           Up    44:38:39:ff:ff:25
sym_5                                 8892       vxlan99
vlan494_l3           Up    44:38:39:ff:ff:25
tor-1#
tor-1#

tor-1#
tor-1#
tor-1#
tor-1# show vrf all vni json
{
  "vrfs":[
    {
      "vrf":"default",
      "vni":100,
      "vxlanIntf":"None",
      "sviIntf":"None",
      "state":"Down",
      "routerMac":"None"
    },
    {
      "vrf":"sym_1",
      "vni":8888,
      "vxlanIntf":"vxlan99",
      "sviIntf":"vlan490_l3",
      "state":"Up",
      "routerMac":"44:38:39:ff:ff:25"
    },
    {
      "vrf":"sym_2",
      "vni":8889,
      "vxlanIntf":"vxlan99",
      "sviIntf":"vlan491_l3",
      "state":"Up",
      "routerMac":"44:38:39:ff:ff:25"
    },
    {
      "vrf":"sym_3",
      "vni":8890,
      "vxlanIntf":"vxlan99",
      "sviIntf":"vlan492_l3",
      "state":"Up",
      "routerMac":"44:38:39:ff:ff:25"
    },
    {
      "vrf":"sym_4",
      "vni":8891,
      "vxlanIntf":"vxlan99",
      "sviIntf":"vlan493_l3",
      "state":"Up",
      "routerMac":"44:38:39:ff:ff:25"
    },
    {
      "vrf":"sym_5",
      "vni":8892,
      "vxlanIntf":"vxlan99",
      "sviIntf":"vlan494_l3",
      "state":"Up",
      "routerMac":"44:38:39:ff:ff:25"
    }
  ]
}
tor-1#
```

Ticket:#3260835
Issue:3260835

Testing: UT done

Signed-off-by: Sindhu Parvathi Gopinathan <sgopinathan@nvidia.com>
2023-01-13 13:49:21 -08:00
Donald Sharp
329dc20704
Merge pull request #12635 from LabNConsulting/ziemba/topotests-lutil-wait-strict
topotests/lib/lutil.py: luSetWaitType("strict"|"nostrict")
2023-01-13 16:22:00 -05:00
Donald Sharp
186b9ab8c5 tests: Breakup bgp_vrf_dynamic_route_leak_topo4
Single run of this test suite on my machine was 8 minutes.
Breaking this up into 3 test suites halves the run time.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-01-13 15:30:33 -05:00
G. Paul Ziemba
25cdcf1fac topotests/lib/lutil.py: luSetWaitType("strict"|"nostrict")
This change alters the behavior of existing test code. The
    default mode (before any call to luSetWaitType()) is now
    "strict".

    The historical behavior of luCommand(op="wait) is to ignore
    failures to match the specified regexp in the specified time.
    In those cases, no result was logged and no error was signaled.

    This change introduces a new "strict" mode for luCommand(op="wait):
    in "strict" wait mode, each invocation of luCommand(op="wait)
    generates an explicit, logged failure result when it fails to match
    the specified regexp in the specified time. These failures signal
    an error for the test.

    Calling luSetWaitType("nostrict") restores the historical behavior.

    Calling luSetWaitType("strict") (re)enables the new strict behavior.

    Individual calls to luCommand() may also specify op="wait-nostrict"
    to override any default and use the historical behavior.

    Individual calls to luCommand() may also specify op="wait-strict"
    to override any default and use the new behavior.

Signed-off-by: G. Paul Ziemba <paulz@labn.net>
2023-01-13 10:53:36 -08:00
Philippe Guibert
b27499d6ba staticd: add debug static bfd command
This command helps in troubleshooting static bfd feature.
Add traces upon bfd events.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2023-01-13 15:32:12 -03:00
Rafael Zalamena
771fdeaf39 topotests: test BFD static route integration
Test that BFD static monitoring works:
When BFD session is up the routes are installed in the RIB and
distributed with routing protocol (in this case BGP). When the session
is down it is removed from RIB and propagated.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2023-01-13 15:32:12 -03:00
Rafael Zalamena
a89958e508 doc: document new static BFD commands
Let the user know how to use the static route monitoring commands.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2023-01-13 15:32:12 -03:00
Rafael Zalamena
4fd9906bcf staticd: fix bug on route reinstallation
When configuring a route with multiple next hops on boot and the
interface is missing the route never shows up (even after interface is
properly learned).

Fix: force route clean up by uninstalling it and putting it back
entirely instead of just updating the missing next hop.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2023-01-13 15:32:12 -03:00
Rafael Zalamena
d8c78a8db5 staticd: add command to show monitored routes
Add command to visualize all monitored routes and their state.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2023-01-13 15:32:12 -03:00
Rafael Zalamena
e4c3da43ce zebra: send BFD messages to staticd
Add logic to allow `zebra` to reroute BFD messages for `staticd`.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2023-01-13 15:32:12 -03:00
Rafael Zalamena
e280279d5a lib,staticd: BFD integration CLI commands
Implement the static route monitoring feature with BFD integration.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2023-01-13 15:32:12 -03:00
Rafael Zalamena
351ad68405 staticd: BFD integration northbound support
Implement all BFD integration northbound callbacks and integrate BFD
with `staticd` route installation procedure.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2023-01-13 15:32:12 -03:00
Rafael Zalamena
73df597f5e yang: static route BFD monitoring
Define a generic BFD monitoring group template and use it to add support
for static route monitoring.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2023-01-13 15:32:12 -03:00
Rafael Zalamena
4e35b32ee5 lib: BFD integration clean up function
Implement clean up function to be called on shutdown to make daemon exit
clean for valgrind and other memory sanitizers.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2023-01-13 15:32:12 -03:00
Rafael Zalamena
b7ca809d1c lib: BFD automatic source selection
Implement new BFD library issue to allow protocols to configure BFD
sessions with automatic source selection.

The source selection will be based on the Next Hop Tracking feature:
`zebra` will do RIB lookups to determine the output interface and the
primary source address of that interface will be used as source.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2023-01-13 15:32:12 -03:00
Jafar Al-Gharaibeh
c0937881df
Merge pull request #12637 from donaldsharp/revert_pr_11127
Revert "Merge pull request #11127 from louis-6wind/bgp-leak"
2023-01-13 11:20:28 -06:00
Donald Sharp
914c1e35b5 Revert "tests: Fix wrong interface name in SRv6 topotest"
This reverts commit 647c38eab2.
2023-01-13 09:02:34 -05:00
Donald Sharp
930e01aae1
Merge pull request #12626 from opensourcerouting/fix/bgpd_neighbor_password_unnumbered
bgpd: Warn user about mixed order of commands executed
2023-01-13 08:35:36 -05:00
Donald Sharp
2bb8b49ce1 Revert "Merge pull request #11127 from louis-6wind/bgp-leak"
This reverts commit 16aa1809e7, reversing
changes made to f616e71608.
2023-01-13 08:13:52 -05:00
Stephen Worley
1ab8721a5c
Merge pull request #12629 from opensourcerouting/fix/use_static_repo
github: Use static quay.io repository for docker images
2023-01-12 14:27:57 -05:00
Christian Hopps
f3c0056017
Merge pull request #12627 from donaldsharp/pim_igmp_vrf_micronet_failure
tests: the pim_igmp_vrf topotest fails under high load
2023-01-12 08:59:28 -05:00
Donatas Abraitis
826d56036a
Merge pull request #12595 from chiragshah6/fdev1
bgpd: show bgp vrfs per vrf level json support
2023-01-12 10:12:22 +02:00
Chirag Shah
5bfa80138f doc: add documentation for show bgp vrfs
Signed-off-by: Chirag Shah <chirag@nvidia.com>
2023-01-11 21:04:09 -08:00
Sindhu Parvathi Gopinathan
4acd6bc948 bgpd: show bgp vrfs per vrf level json support
json support extended for show [ip] bgp vrfs <vrf-name> json

Before:
```
tor-2# show ip bgp vrfs default json
% JSON option not yet supported for specific VRF
tor-2#
tor-2# show bgp vrfs sym_1 json
% JSON option not yet supported for specific VRF
tor-2#
```

After:
```
tor-1# show ip bgp vrfs default json
{
  "default":{
    "type":"DFLT",
    "vrfId":0,
    "routerId":"27.0.0.7",
    "numConfiguredPeers":2,
    "numEstablishedPeers":2,
    "l3vni":0,
    "rmac":"00:00:00:00:00:00",
    "interface":"unknown"
  }
}
tor-1#
tor-1# show bgp vrfs sym_1 json
{
  "sym_1":{
    "type":"VRF",
    "vrfId":21,
    "routerId":"27.0.0.81",
    "numConfiguredPeers":0,
    "numEstablishedPeers":0,
    "l3vni":8888,
    "rmac":"44:38:39:ff:ff:25",
    "interface":"vlan490_l3"
  }
}
tor-1#

tor-1# show bgp vrfs test json
{
}
tor-1#
```

Ticket:#3314672

Issue:3314672

Testing: UT done

Signed-off-by: Chirag Shah <chirag@nvidia.com>
Signed-off-by: Sindhu Parvathi Gopinathan <sgopinathan@nvidia.com>
2023-01-11 21:04:09 -08:00