]>
git.puffer.fish Git - mirror/frr.git/log
Donatas Abraitis [Mon, 28 Nov 2022 09:14:06 +0000 (11:14 +0200)]
zebra: Use `mpls enable`, not `mpls` when generating a config
If we enable MPLS for an interface via sysctl, we should write `mpls enable`,
not `mpls`.
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
mobash-rasool [Sat, 26 Nov 2022 19:25:40 +0000 (00:55 +0530)]
Merge pull request #12399 from opensourcerouting/fix/static_color_crash
staticd: Fix crash for an existing route with color
Jafar Al-Gharaibeh [Fri, 25 Nov 2022 15:18:40 +0000 (10:18 -0500)]
Merge pull request #12370 from opensourcerouting/fix/crash_rmap_vpn_nexthop
bgpd: Fix crash for `set ipv4/ipv6 vpn next-hop` command
Donatas Abraitis [Fri, 25 Nov 2022 14:19:28 +0000 (16:19 +0200)]
staticd: Do not crash when modifying an existing static route with color
```
$ vtysh -c 'conf' -c 'ip route 192.168.0.0/32 192.168.10.65 color 123'
$ vtysh -c 'show ip route 192.168.0.0/32 json' | jq '."192.168.0.0/32"[0].nexthops[0].srteColor'
123
$ vtysh -c 'conf' -c 'ip route 192.168.0.0/32 192.168.10.65'
$ vtysh -c 'show ip route 192.168.0.0/32 json' | jq '."192.168.0.0/32"[0].nexthops[0].srteColor'
0
```
Before this patch:
```
STATIC: Received signal 6 at
1666938633 (si_addr 0x4e1a, PC 0x7f295139c438); aborting...
STATIC: /home/u1/mGIT/frr-master/lib/.libs/libfrr.so.0(zlog_backtrace_sigsafe+0x70) [0x7f29519ef0a0]
STATIC: /home/u1/mGIT/frr-master/lib/.libs/libfrr.so.0(zlog_signal+0xec) [0x7f29519ef28c]
STATIC: /home/u1/mGIT/frr-master/lib/.libs/libfrr.so.0(+0xccee2) [0x7f2951a1aee2]
STATIC: /lib/x86_64-linux-gnu/libpthread.so.0(+0x11390) [0x7f2951742390]
STATIC: /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x38) [0x7f295139c438]
STATIC: /lib/x86_64-linux-gnu/libc.so.6(abort+0x16a) [0x7f295139e03a]
STATIC: /home/u1/mGIT/frr-master/lib/.libs/libfrr.so.0(_zlog_assert_failed+0xe6) [0x7f2951a46766]
STATIC: /home/u1/mGIT/frr-master/lib/.libs/libfrr.so.0(+0xae7ee) [0x7f29519fc7ee]
STATIC: /home/u1/mGIT/frr-master/staticd/.libs/lt-staticd(routing_control_plane_protocols_control_plane_protocol_staticd_route_list_src_
STATIC: /home/u1/mGIT/frr-master/lib/.libs/libfrr.so.0(+0xaf264) [0x7f29519fd264]
STATIC: /home/u1/mGIT/frr-master/lib/.libs/libfrr.so.0(+0xafb4f) [0x7f29519fdb4f]
STATIC: /home/u1/mGIT/frr-master/lib/.libs/libfrr.so.0(nb_candidate_commit_apply+0x33) [0x7f29519fde33]
STATIC: /home/u1/mGIT/frr-master/lib/.libs/libfrr.so.0(nb_candidate_commit+0x9e) [0x7f29519fdf6e]
STATIC: /home/u1/mGIT/frr-master/lib/.libs/libfrr.so.0(+0xb0469) [0x7f29519fe469]
STATIC: /home/u1/mGIT/frr-master/lib/.libs/libfrr.so.0(+0xb3055) [0x7f2951a01055]
STATIC: /home/u1/mGIT/frr-master/lib/.libs/libfrr.so.0(nb_cli_apply_changes+0xd8) [0x7f2951a01358]
STATIC: /home/u1/mGIT/frr-master/staticd/.libs/lt-staticd() [0x407ec2]
STATIC: /home/u1/mGIT/frr-master/staticd/.libs/lt-staticd() [0x40a307]
STATIC: /home/u1/mGIT/frr-master/lib/.libs/libfrr.so.0(+0x74923) [0x7f29519c2923]
STATIC: /home/u1/mGIT/frr-master/lib/.libs/libfrr.so.0(cmd_execute_command+0xe4) [0x7f29519c2aa4]
STATIC: /home/u1/mGIT/frr-master/lib/.libs/libfrr.so.0(cmd_execute+0xc9) [0x7f29519c2c49]
STATIC: /home/u1/mGIT/frr-master/lib/.libs/libfrr.so.0(+0xe4184) [0x7f2951a32184]
STATIC: /home/u1/mGIT/frr-master/lib/.libs/libfrr.so.0(+0xe4436) [0x7f2951a32436]
STATIC: /home/u1/mGIT/frr-master/lib/.libs/libfrr.so.0(+0xe6fcc) [0x7f2951a34fcc]
STATIC: /home/u1/mGIT/frr-master/lib/.libs/libfrr.so.0(thread_call+0x98) [0x7f2951a2cc28]
STATIC: /home/u1/mGIT/frr-master/lib/.libs/libfrr.so.0(frr_run+0xe8) [0x7f29519e7518]
STATIC: /home/u1/mGIT/frr-master/staticd/.libs/lt-staticd(main+0xda) [0x40572a]
STATIC: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) [0x7f2951387840]
STATIC: /home/u1/mGIT/frr-master/staticd/.libs/lt-staticd(_start+0x29) [0x4058e9]
STATIC: in thread vtysh_read scheduled from lib/vty.c:2710 vty_event()
```
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas Abraitis [Fri, 25 Nov 2022 09:01:46 +0000 (11:01 +0200)]
Merge pull request #12392 from patrasar/pimv6_bsm_cli
pim6d: Fix RpAddress in "show ipv6 pim bsm-database"
Donatas Abraitis [Fri, 25 Nov 2022 07:20:50 +0000 (09:20 +0200)]
Merge pull request #12371 from proelbtn/fix-frr-reload-doesnot-work
bgpd: Fix the order of SRv6 locator parameters
Sarita Patra [Fri, 25 Nov 2022 06:43:15 +0000 (22:43 -0800)]
pim6d: Fix RpAddress in "show ipv6 pim bsm-database"
The fix for issue #12089 was reverted while resolving conflict
for PR https://github.com/FRRouting/frr/pull/11600/.
Signed-off-by: Sarita Patra <saritap@vmware.com>
Russ White [Thu, 24 Nov 2022 15:21:25 +0000 (10:21 -0500)]
Merge pull request #12317 from mobash-rasool/ospf-fixes
ospfd: Fix RFC conformance test cases 25.19 and 27.6
Ryoga Saito [Wed, 23 Nov 2022 04:57:02 +0000 (13:57 +0900)]
tests: Correct srv6 locator testcases
Previous commit changes the order of srv6 locator parameters. So, this
PR reflect the previous changes.
Signed-off-by: Ryoga Saito <ryoga.saito@linecorp.com>
Donatas Abraitis [Thu, 24 Nov 2022 07:28:42 +0000 (09:28 +0200)]
Merge pull request #12374 from sworleys/VRF-Disable
lib: disable vrf before terminating interfaces
Donatas Abraitis [Thu, 24 Nov 2022 07:03:47 +0000 (09:03 +0200)]
Merge pull request #12365 from chiragshah6/fdev2
bgpd: JSON support for show ip bgp vrf all update-group
Ashwini Reddy [Mon, 7 Nov 2022 19:53:48 +0000 (11:53 -0800)]
bgpd: JSON support for show ip bgp vrf all update-group
Ticket:#
3229030
Testing Done: UT
Changes:
- JSON support for the update group command.
Testing:
torc-11# show ip bgp vrf all ipv6 update-groups json
torc-12# show bgp vrf all update-groups json
{
"default":{
"2":{
"groupCreateTime":{
"epoch":
1669225617 ,
"epochString":"Wed Nov 23 17:46:57 2022\n"
},
"afi":"IPv6",
"safi":"unicast",
"outRouteMap":"MY_ORIGIN_ASPATH_ONLY",
"minRouteAdvInt":0,
"subGroup":[
{
"subGroupId":2,
"groupCreateTime":{
"epoch":
1669225617 ,
"epochString":"Wed Nov 23 17:46:57 2022\n"
},
"statistics":{
"joinEvents":2,
"pruneEvents":0,
"mergeEvents":0,
"splitEvents":0,
"switchEvents":0,
"peerRefreshEvents":0,
"mergeCheckEvents":2
},
"coalesceTime":1100,
"version":12,
"packetQueueInfo":{
"qeueueLen":0,
"queuedTotal":1,
"queueHwmLen":1,
"totalEnqueued":1
},
"adjListCount":1,
"needsRefresh":false,
"peers":[
"uplink_1",
"uplink_2"
]
}
]
}
}
}
{
"sym_3":{
}
}
{
"sym_5":{
}
}
{
"sym_2":{
}
}
{
"sym_4":{
}
}
{
"sym_1":{
}
}
Co-authored-by: Chirag Shah <chirag@nvidia.com>
Signed-off-by: Ashwini Reddy <ashred@nvidia.com>
Mark Stapp [Wed, 23 Nov 2022 20:53:50 +0000 (15:53 -0500)]
Merge pull request #12377 from opensourcerouting/fix/enable_scripting
zebra: Replace TC definitions for dplane
mobash-rasool [Wed, 23 Nov 2022 18:02:17 +0000 (23:32 +0530)]
Merge pull request #12260 from opensourcerouting/pim-plist-masklen
pimd: consistently ignore prefix list mask len
Donatas Abraitis [Wed, 23 Nov 2022 15:35:33 +0000 (17:35 +0200)]
zebra: Replace TC definitions for dplane
They were replaced, but forgot for `--enable-scripting`.
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas Abraitis [Wed, 23 Nov 2022 09:07:05 +0000 (11:07 +0200)]
Merge pull request #12355 from mobash-rasool/pim6-conformance
pim6d, pimd: RFC conformance - Discard join/prune msg when WC bit is set but RPT bit is unset
Stephen Worley [Tue, 22 Nov 2022 22:18:02 +0000 (17:18 -0500)]
lib: disable vrf before terminating interfaces
We must disable the vrf before we start terminating interfaces.
On termination, we free the 'zebra_if' struct from the interface ->info
pointer. We rely on that for subsystems like vxlan for cleanup when
shutting down.
'''
==497406== Invalid read of size 8
==497406== at 0x47E70A: zebra_evpn_del (zebra_evpn.c:1103)
==497406== by 0x47F004: zebra_evpn_cleanup_all (zebra_evpn.c:1363)
==497406== by 0x4F2404: zebra_evpn_vxlan_cleanup_all (zebra_vxlan.c:1158)
==497406== by 0x4917041: hash_iterate (hash.c:267)
==497406== by 0x4F25E2: zebra_vxlan_cleanup_tables (zebra_vxlan.c:5676)
==497406== by 0x4D52EC: zebra_vrf_disable (zebra_vrf.c:209)
==497406== by 0x49A247F: vrf_disable (vrf.c:340)
==497406== by 0x49A2521: vrf_delete (vrf.c:245)
==497406== by 0x49A2E2B: vrf_terminate_single (vrf.c:533)
==497406== by 0x49A2D8F: vrf_terminate (vrf.c:561)
==497406== by 0x441240: sigint (main.c:192)
==497406== by 0x4981F6D: frr_sigevent_process (sigevent.c:130)
==497406== Address 0x6d68c68 is 200 bytes inside a block of size 272 free'd
==497406== at 0x48470E4: free (vg_replace_malloc.c:872)
==497406== by 0x4942CF0: qfree (memory.c:141)
==497406== by 0x49196A9: if_delete (if.c:293)
==497406== by 0x491C54C: if_terminate (if.c:1031)
==497406== by 0x49A2E22: vrf_terminate_single (vrf.c:532)
==497406== by 0x49A2D8F: vrf_terminate (vrf.c:561)
==497406== by 0x441240: sigint (main.c:192)
==497406== by 0x4981F6D: frr_sigevent_process (sigevent.c:130)
==497406== by 0x499A5F0: thread_fetch (thread.c:1775)
==497406== by 0x492850E: frr_run (libfrr.c:1197)
==497406== by 0x441746: main (main.c:476)
==497406== Block was alloc'd at
==497406== at 0x4849464: calloc (vg_replace_malloc.c:1328)
==497406== by 0x49429A5: qcalloc (memory.c:116)
==497406== by 0x491D971: if_new (if.c:174)
==497406== by 0x491ACC8: if_create_name (if.c:228)
==497406== by 0x491ABEB: if_get_by_name (if.c:613)
==497406== by 0x427052: netlink_interface (if_netlink.c:1178)
==497406== by 0x43BC18: netlink_parse_info (kernel_netlink.c:1188)
==497406== by 0x4266D7: interface_lookup_netlink (if_netlink.c:1288)
==497406== by 0x42B634: interface_list (if_netlink.c:2368)
==497406== by 0x4ABF83: zebra_ns_enable (zebra_ns.c:127)
==497406== by 0x4AC17E: zebra_ns_init (zebra_ns.c:216)
==497406== by 0x44166C: main (main.c:408)
'''
Signed-off-by: Stephen Worley <sworley@nvidia.com>
Russ White [Tue, 22 Nov 2022 19:58:22 +0000 (14:58 -0500)]
Merge pull request #12311 from opensourcerouting/feature/bgp_snmp_bgp4v2-mib
bgpd: Implement SNMP BGP4V2-MIB (bgp4V2PeerEntry)
Stephen Worley [Tue, 22 Nov 2022 17:02:15 +0000 (12:02 -0500)]
Merge pull request #11908 from sigeryang/tc-state-mgmt
zebra: traffic control state management & ZAPI
Stephen Worley [Tue, 22 Nov 2022 16:41:48 +0000 (11:41 -0500)]
Merge pull request #12340 from opensourcerouting/fix/rfc5549_vpn_set_ip_nexthop
bgpd: Allow overriding MPLS VPN next-hops via route-maps
Siger Yang [Sun, 11 Sep 2022 06:58:11 +0000 (14:58 +0800)]
tests: traffic control PoC topotests
This commit adds a basic test for sharpd traffic control PoC, which will check
interface TC info from iproute2 `tc` cli.
Signed-off-by: Siger Yang <siger.yang@outlook.com>
Siger Yang [Sun, 11 Sep 2022 06:56:12 +0000 (14:56 +0800)]
sharpd: traffic control PoC
This commit adds a command to sharpd to validate the proof of concept for
traffic control on specific interface with specific filters.
Signed-off-by: Siger Yang <siger.yang@outlook.com>
Siger Yang [Tue, 6 Sep 2022 07:13:23 +0000 (15:13 +0800)]
zebra: traffic control ZAPI
This commit adds ZAPI encoders & decoders for traffic control operations, which
include tc_qdisc, tc_class and tc_filter.
Signed-off-by: Siger Yang <siger.yang@outlook.com>
Siger Yang [Tue, 6 Sep 2022 07:10:11 +0000 (15:10 +0800)]
zebra: traffic control state management
This allows Zebra to manage QDISC, TCLASS, TFILTER in kernel and do cleaning
jobs when it starts up.
Signed-off-by: Siger Yang <siger.yang@outlook.com>
Siger Yang [Thu, 15 Sep 2022 23:04:39 +0000 (07:04 +0800)]
zebra: update tc netlink / socket license header
Update license header.
Signed-off-by: Siger Yang <siger.yang@outlook.com>
Siger Yang [Tue, 6 Sep 2022 07:07:35 +0000 (15:07 +0800)]
include: add pkt_cls.h to automake headers
Add pkt_cls.h to subdir.am under include.
Signed-off-by: Siger Yang <siger.yang@outlook.com>
Ryoga Saito [Tue, 22 Nov 2022 13:57:24 +0000 (22:57 +0900)]
bgpd: Fix the other of SR locator parameters
The latest FRR's frr-reload.py is broken and we can't reload FRR
gracefully with segment routing locator configuration (if we
execute frr-reload.py, FRR will stop suddenly).
The root cause of this issue is very simple. FRR will display the
current configuration like this (the below is the result of
"show running-configuration").
``
segment-routing
srv6
locators
locator default
prefix fd00:1:0:1::/64 block-len 40 node-len 24 func-bits 16
exit
!
exit
!
exit
!
exit
```
However, FRR doesn't accept segment routing locator parameters
if we specify block-len and node-len earlier than func-bits.
Signed-off-by: Ryoga Saito <ryoga.saito@linecorp.com>
Donatas Abraitis [Tue, 22 Nov 2022 12:50:09 +0000 (14:50 +0200)]
bgpd: Fix crash for `set ipv4/ipv6 vpn next-hop` command
Crash when using for example:
```
route-map test permit 10
set ipv6 vpn next-hop 10.10.10.10
```
```
bgpd[30843]: libyang: Unsatisfied pattern - "1.1.1.1" does not conform to "((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?". (Schema location /frr-route-map:lib/route-map/entry/set-action/rmap-set-action/set-action/frr-bgp-route-map:ipv6-address/ipv6-address.)
bgpd[30843]: [JEA2K-29RPH][EC
100663345 ] nb_candidate_edit: lyd_new_path(/frr-route-map:lib/route-map[name='belekas']/entry[sequence='109']/set-action[action='frr-bgp-route-map:ipv6-vpn-address']/rmap-set-action/frr-bgp-route-map:ipv6-address) failed: 7
bgpd[30843]: [ZDEA9-V1X7W][EC
100663341 ] nb_cli_apply_changes_internal: failed to edit candidate configuration: operation [modify] xpath [/frr-route-map:lib/route-map[name='belekas']/entry[sequence='109']/set-action[action='frr-bgp-route-map:ipv6-vpn-address']/rmap-set-action/frr-bgp-route-map:ipv6-address]
bgpd[30843]: [SZNR8-V24R3][EC
100663326 ] yang_dnode_xpath_get_canon: couldn't find ./rmap-set-action/frr-bgp-route-map:ipv6-address
bgpd[30843]: Backtrace for 20 stack frames:
bgpd[30843]: [bt 0] /usr/local/lib/libfrr.so.0(zlog_backtrace+0x3a) [0x7f539c87c95a]
bgpd[30843]: [bt 1] /usr/local/lib/libfrr.so.0(+0xed022) [0x7f539c8c8022]
bgpd[30843]: [bt 2] /usr/local/lib/libfrr.so.0(yang_dnode_get_string+0x96) [0x7f539c8c9ea6]
bgpd[30843]: [bt 3] /usr/local/lib/libfrr.so.0(route_map_action_show+0xc40) [0x7f539c8a4540]
bgpd[30843]: [bt 4] /usr/local/lib/libfrr.so.0(nb_cli_show_dnode_cmds+0x5c) [0x7f539c88fa8c]
bgpd[30843]: [bt 5] /usr/local/lib/libfrr.so.0(nb_cli_show_dnode_cmds+0x159) [0x7f539c88fb89]
bgpd[30843]: [bt 6] /usr/local/lib/libfrr.so.0(nb_cli_show_dnode_cmds+0x1a3) [0x7f539c88fbd3]
bgpd[30843]: [bt 7] /usr/local/lib/libfrr.so.0(nb_cli_show_dnode_cmds+0x159) [0x7f539c88fb89]
bgpd[30843]: [bt 8] /usr/local/lib/libfrr.so.0(+0xc4d47) [0x7f539c89fd47]
bgpd[30843]: [bt 9] /usr/local/lib/libfrr.so.0(+0x7274a) [0x7f539c84d74a]
bgpd[30843]: [bt 10] /usr/local/lib/libfrr.so.0(+0x72cb0) [0x7f539c84dcb0]
bgpd[30843]: [bt 11] /usr/local/lib/libfrr.so.0(+0x74c40) [0x7f539c84fc40]
bgpd[30843]: [bt 12] /usr/local/lib/libfrr.so.0(cmd_execute_command+0xa4) [0x7f539c84fd74]
bgpd[30843]: [bt 13] /usr/local/lib/libfrr.so.0(cmd_execute+0x142) [0x7f539c84ffe2]
bgpd[30843]: [bt 14] /usr/local/lib/libfrr.so.0(+0xe51b7) [0x7f539c8c01b7]
bgpd[30843]: [bt 15] /usr/local/lib/libfrr.so.0(+0xe53f0) [0x7f539c8c03f0]
bgpd[30843]: [bt 16] /usr/local/lib/libfrr.so.0(+0xe8078) [0x7f539c8c3078]
bgpd[30843]: [bt 17] /usr/local/lib/libfrr.so.0(thread_call+0x7d) [0x7f539c8bacbd]
bgpd[30843]: [bt 18] /usr/local/lib/libfrr.so.0(frr_run+0xe8) [0x7f539c8749b8]
bgpd[30843]: [bt 19] /usr/lib/frr/bgpd(main+0x3f1) [0x55f887e97d71]
BGP[30843]: Received signal 6 at
1669121170 (si_addr 0x7f0000787b, PC 0x7f539ba58e87); aborting...
```
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Mobashshera Rasool [Mon, 21 Nov 2022 11:15:28 +0000 (03:15 -0800)]
pim6d, pimd: Discard (*,G) prune if WC bit is set but RPT bit is unset.
As per RFC 7761, Section 4.9.1
The RPT (or Rendezvous Point Tree) bit is a 1-bit value for use
with PIM Join/Prune messages (see Section 4.9.5.1). If the
WC bit is 1, the RPT bit MUST be 1.
ANVL conformance test case is trying to verify this and is failing.
Issue: #12354
Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
Mobashshera Rasool [Mon, 21 Nov 2022 11:10:02 +0000 (03:10 -0800)]
pim6d, pimd: Discard (*,G) join if WC bit is set but RPT bit is unset.
As per RFC 7761, Section 4.9.1
The RPT (or Rendezvous Point Tree) bit is a 1-bit value for use
with PIM Join/Prune messages (see Section 4.9.5.1). If the
WC bit is 1, the RPT bit MUST be 1.
ANVL conformance test case is trying to verify this and is failing.
Issue: #12354
Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
Donatas Abraitis [Tue, 22 Nov 2022 05:43:49 +0000 (07:43 +0200)]
Merge pull request #12348 from donaldsharp/expand_timings
tests: Expand minimum run_and_expect to 5 seconds
Donald Sharp [Tue, 22 Nov 2022 01:07:46 +0000 (20:07 -0500)]
Merge pull request #12361 from opensourcerouting/fix/use_another_labaler
github: Use `action-regex-match` action for adding `backport` label
Donald Sharp [Tue, 22 Nov 2022 01:07:23 +0000 (20:07 -0500)]
Merge pull request #12362 from opensourcerouting/pkg-pim6-defaults
Enable pim6d in rpm and debian packages by default
Donald Sharp [Sat, 19 Nov 2022 12:31:57 +0000 (07:31 -0500)]
tests: Expand minimum run_and_expect to 5 seconds
Ensure that the minimum time spent run and expecting is
5 seconds. Heavy load is not a reason to fail a test.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donatas Abraitis [Mon, 21 Nov 2022 20:11:08 +0000 (22:11 +0200)]
Merge pull request #12357 from donaldsharp/watchfrr_receive_start_end
lib, vtysh: Allow watchfrr to receive start/end lines
Martin Winter [Mon, 21 Nov 2022 19:09:41 +0000 (20:09 +0100)]
doc: Update doc to reflect default pim6d in packaging
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
Martin Winter [Mon, 21 Nov 2022 19:07:33 +0000 (20:07 +0100)]
debian: Enable pim6d build by default
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
Donatas Abraitis [Mon, 21 Nov 2022 19:05:16 +0000 (21:05 +0200)]
github: Use `action-regex-match` action for adding `backport` label
Seems that labeler does not work properly with comments, tested on my own
local repository.
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Martin Winter [Mon, 21 Nov 2022 19:04:24 +0000 (20:04 +0100)]
redhat: Enable pim6d build by default
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
Donald Sharp [Mon, 21 Nov 2022 17:04:12 +0000 (12:04 -0500)]
lib, vtysh: Allow watchfrr to receive start/end lines
Watchfrr really should receive notification about start/end
read of configuration. Let's fix that.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Mon, 21 Nov 2022 17:03:14 +0000 (12:03 -0500)]
Merge pull request #12313 from louis-6wind/fix-lfa-topo
tests: fix bfd in isis_lfa_topo1 step24
Louis Scalbert [Mon, 21 Nov 2022 11:14:03 +0000 (12:14 +0100)]
tests: do not use a custom expect function in isis_lfa_topo1
Replace the custom run and expect function by one from the library.
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
Louis Scalbert [Mon, 14 Nov 2022 11:49:05 +0000 (12:49 +0100)]
tests: fix bfd in isis_lfa_topo1 step24
isis_lfa_topo1 topotests regularly fails at step 24. The test expects
that the BFD session between rt1 and rt2 comes down after shutting the
link between rt1 and rt2.
Since the BFD is multihop, the BFD can get back through rt3.
Set the BFD type to single-hop.
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
Donald Sharp [Mon, 21 Nov 2022 11:51:18 +0000 (06:51 -0500)]
Merge pull request #12352 from opensourcerouting/fix/github_workflows_labeler
github: Add enable-versioned-regex expicitly in labeler.yml
Mobashshera Rasool [Tue, 15 Nov 2022 05:00:55 +0000 (21:00 -0800)]
ospfd: Fix RFC conformance test cases 25.19 and 27.6
Steps to reproduce:
--------------------------
1. ANVL: Establish full adjacency with DUT for neighbor Rtr-0-A on DIface-0 with DUT as DR.
2. ANVL: Listen (for up to 2 * <RxmtInterval> seconds) on DIface-0.
3. DUT: Send <OSPF-LSU> packet.
4. ANVL: Verify that the received <OSPF-LSU> packet contains a Network- LSA for network N1
originated by DUT, and the LS Sequence Number is set to <InitialSequenceNumber>.
5. ANVL: Establish full adjacency with DUT for neighbor Rtr-0-B on DIface-0 with DUT as DR.
6. ANVL: Listen (for up to 2 * <RxmtInterval> seconds) on DIface-0.
7. DUT: Send <OSPF-LSU> packet.
8. ANVL: Verify that the received <OSPF-LSU> packet contains a new instance of the
Network-LSA for network N1 originated by DUT, and the LS Sequence Number
is set to (<InitialSequenceNumber> + 1).
Both the test cases were failing while verifying the initial sequence number for network LSA.
This is because currently OSPF does not reset its LSA sequence number when it is going down.
Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
Donatas Abraitis [Mon, 21 Nov 2022 10:04:41 +0000 (12:04 +0200)]
github: Add enable-versioned-regex expicitly in labeler.yml
Error: Error: Input required and not supplied: enable-versioned-regex
Error: Input required and not supplied: enable-versioned-regex
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas Abraitis [Mon, 21 Nov 2022 08:05:44 +0000 (10:05 +0200)]
Merge pull request #12336 from cscarpitta/fix/increase-sid-index-limit
bgpd: Fix SRv6 SID index limit in the `sid vpn per-vrf export` VTY command
Donatas Abraitis [Mon, 21 Nov 2022 08:01:10 +0000 (10:01 +0200)]
Merge pull request #12345 from donaldsharp/bgp_debugs_upstream
Bgp debugs upstream
Donald Sharp [Mon, 21 Nov 2022 04:34:20 +0000 (23:34 -0500)]
Merge pull request #12335 from opensourcerouting/feature/add_github_labeler_on_regex
github: Add `backport` label if pull request has `Mergifyio backport` comment
Donald Sharp [Mon, 21 Nov 2022 04:33:35 +0000 (23:33 -0500)]
Merge pull request #12337 from opensourcerouting/fix/misleading_error
bgpd: Warn user only if the LL is not seriously available
vivek [Tue, 27 Oct 2020 02:54:52 +0000 (19:54 -0700)]
bgpd: Display FD in peer FSM state change log
Signed-off-by: Vivek Venkatraman <vivek@nvidia.com>
vivek [Mon, 26 Oct 2020 04:44:18 +0000 (21:44 -0700)]
bgpd: Remove unnecessary debug log
Signed-off-by: Vivek Venkatraman <vivek@nvidia.com>
vivek [Mon, 26 Oct 2020 04:05:17 +0000 (21:05 -0700)]
bgpd: Add more debug info for incoming connection
Signed-off-by: Vivek Venkatraman <vivek@nvidia.com>
vivek [Mon, 26 Oct 2020 03:59:58 +0000 (20:59 -0700)]
bgpd: Modify keepalive debug category
Log keepalive timer expiry against 'debug bgp keepalive' instead
of 'debug bgp neighbor-events'.
Signed-off-by: Vivek Venkatraman <vivek@nvidia.com>
Donatas Abraitis [Sun, 20 Nov 2022 20:37:46 +0000 (22:37 +0200)]
Merge pull request #12338 from cscarpitta/fix/srte-cleanup-use-after-free
zebra: Fix use-after-free crash on srte cleanup
Donald Sharp [Sun, 20 Nov 2022 14:49:23 +0000 (09:49 -0500)]
Merge pull request #12347 from opensourcerouting/snap-pim6
snapcraft: Add pim6 daemon for PIM IPv6 to snap package
Martin Winter [Sat, 19 Nov 2022 11:15:41 +0000 (12:15 +0100)]
snapcraft: Add pim6 daemon for PIM IPv6 to snap package
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
Donatas Abraitis [Fri, 18 Nov 2022 14:09:19 +0000 (16:09 +0200)]
bgpd: Convert bgp_rmap_nhop_changed to bool from int
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas Abraitis [Fri, 18 Nov 2022 14:06:43 +0000 (16:06 +0200)]
bgpd: Print empty JSON `{}` if no entries under `show bgp ipv4 vpn json`
Before this, the application fails that is parsing JSON (expecting).
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas Abraitis [Fri, 18 Nov 2022 14:02:46 +0000 (16:02 +0200)]
bgpd: Print prefix in logs messages with BGP_PATH_ANNC_NH_SELF
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas Abraitis [Fri, 18 Nov 2022 13:47:50 +0000 (15:47 +0200)]
bgpd: Allow overriding MPLS VPN next-hops via route-maps
Just do not reset next-hop for MPLS VPN routes.
Example of 172.16.255.1/32 (using extended next-hop capability):
```
pe2# sh bgp ipv4 vpn
BGP table version is 4, local router ID is 10.10.10.20, vrf id 0
Default local pref 100, local AS 65001
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
Route Distinguisher: 192.168.1.2:2
*>i10.0.0.0/24 2001:db8:1::1 0 100 0 65000 ?
UN=2001:db8:1::1 EC{192.168.1.2:2} label=1111 type=bgp, subtype=0
*>i172.16.255.1/32 2001:db8::1 0 100 0 65000 ?
UN=2001:db8::1 EC{192.168.1.2:2} label=1111 type=bgp, subtype=0
*>i192.168.1.0/24 2001:db8:1::1 0 100 0 65000 ?
UN=2001:db8:1::1 EC{192.168.1.2:2} label=1111 type=bgp, subtype=0
*>i192.168.2.0/24 2001:db8:1::1 100 0 65000 ?
UN=2001:db8:1::1 EC{192.168.1.2:2} label=1111 type=bgp, subtype=0
Route Distinguisher: 192.168.2.2:2
*> 10.0.0.0/24 192.168.2.1@4< 0 50 0 65000 ?
UN=192.168.2.1 EC{192.168.2.2:2} label=2222 type=bgp, subtype=5
*> 172.16.255.1/32 192.168.2.1@4< 50 0 65000 ?
UN=192.168.2.1 EC{192.168.2.2:2} label=2222 type=bgp, subtype=5
*> 192.168.1.0/24 192.168.2.1@4< 50 0 65000 ?
UN=192.168.2.1 EC{192.168.2.2:2} label=2222 type=bgp, subtype=5
*> 192.168.2.0/24 192.168.2.1@4< 0 50 0 65000 ?
UN=192.168.2.1 EC{192.168.2.2:2} label=2222 type=bgp, subtype=5
Displayed 8 routes and 8 total paths
```
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas Abraitis [Fri, 18 Nov 2022 13:40:45 +0000 (15:40 +0200)]
tests: Check if we can override IPv6 next-hop for VPN networks in route-map
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donald Sharp [Fri, 18 Nov 2022 12:43:28 +0000 (07:43 -0500)]
Merge pull request #12298 from kanavin/fix-python-config
m4/ax_python.m4: check for python-x.y-emded.pc, not python-x.y.pc
Carmine Scarpitta [Fri, 18 Nov 2022 12:19:14 +0000 (13:19 +0100)]
zebra: Fix use-after-free issue in srte cleanup
Currently, in `zebra_srte_client_close_cleanup` we use the `RB_FOREACH`
macro to traverse the SR policies tree. We remove the SR policies within
the loop. Removing elements from the tree and freeing them is not safe
and causes a use-after-free crash whenever the
`zebra_srte_client_close_cleanup` is called to perform cleanup.
This commit replaces the `RB_FOREACH` macro with its variant
`RB_FOREACH_SAFE`. Unlike `RB_FOREACH`, `RB_FOREACH_SAFE` permits both
the removal of tree elements as well as freeing them from within the
loop safely.
Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
Donatas Abraitis [Fri, 18 Nov 2022 08:36:24 +0000 (10:36 +0200)]
bgpd: Warn user only if the LL is not seriously available
LL address is assigned, but we get a warning, that it's not:
Interface: enp3s0 does not have a v6 LL address associated with it, waiting until one is created for it
```
donatas-pc# sh int enp3s0
Interface enp3s0 is up, line protocol is up
Link ups: 0 last: (never)
Link downs: 0 last: (never)
vrf: default
index 2 metric 0 mtu 1500 speed 100
flags: <UP,BROADCAST,RUNNING,MULTICAST>
v4 Multicast forwarding is on
v6 Multicast forwarding is on
Type: Ethernet
HWaddr: 18:c0:4d:96:fa:3f
inet 192.168.10.17/24
inet6 2a02:4780:abc:0:e776:6220:1e21:44b1/64
inet6 fe80::ca5d:fd0d:cd8:1bb7/64
```
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Carmine Scarpitta [Fri, 18 Nov 2022 08:09:48 +0000 (09:09 +0100)]
doc: Update the SRv6 SID index limit in BGP doc
The `sid vpn per-vrf export` VTY command in bgpd has been extended to
support up to
1048575 SIDs.
This commit updates the documentation of the `sid vpn per-vrf export`
command.
Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
Carmine Scarpitta [Fri, 18 Nov 2022 07:47:58 +0000 (08:47 +0100)]
bgpd: Fix SRv6 SID index limit
Previously BGP supported up to 255 SIDs.
The PR https://github.com/FRRouting/frr/pull/11981 extended the
transposition computation algorithm in BGP to support more SIDs (up to
1048575 SIDs).
However the BGP VTY command for allocating an SRv6 per-VRF SID
(`sid vpn per-vrf export`) is still limited to 255 SIDs.
This commit extends the SID index in `sid vpn per-vrf export` VTY
command to support up to
1048575 SIDs.
Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
Donatas Abraitis [Fri, 18 Nov 2022 07:09:29 +0000 (09:09 +0200)]
github: Add `backport` label if pull request has `Mergifyio backport` comment
Useful to filter out which PRs should be backported yet.
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Russ White [Thu, 17 Nov 2022 15:05:04 +0000 (10:05 -0500)]
Merge pull request #12309 from proelbtn/bgpd-fix-mpls-vpn-advertisement
bgpd: fix invalid ipv4-vpn nexthop for IPv6 peer
Donatas Abraitis [Thu, 17 Nov 2022 14:46:58 +0000 (16:46 +0200)]
Merge pull request #12081 from sworleys/EMM-upstream
Rework of Various Handling in EVPN for Extended Mac Mobility
Donatas Abraitis [Thu, 17 Nov 2022 13:26:55 +0000 (15:26 +0200)]
Merge pull request #12147 from pguibert6WIND/srte_flush
zebra: upon srte leave, flush sr policies
Olivier Dugeon [Thu, 17 Nov 2022 11:25:43 +0000 (12:25 +0100)]
Merge pull request #12302 from louis-6wind/fix-isis_route_null-area
isisd: fix area NULL pointer in isis_route_update
Ryoga Saito [Sat, 12 Nov 2022 08:45:19 +0000 (17:45 +0900)]
bgpd: fix invalid ipv4-vpn nexthop for IPv6 peer
Given that two routers are connected each other and they have IPv6
addresses and they establish BGP peer with extended-nexthop capability
and one router tries to advertise locally-generated IPv4-VPN routes to
other router.
In this situation, bgpd on the router that tries to advertise IPv4-VPN
routes will be crashed with "invalid MP nexthop length (AFI IP6)".
This issue is happened because MP_REACH_NLRI path attribute is not
generated correctly when ipv4-vpn routes are advertised to IPv6 peer.
When IPv4 routes are leaked from VRF RIB, the nexthop of these routes
are also IPv4 address (0.0.0.0/0 or specific addresses). However,
bgp_packet_mpattr_start only covers the case of IPv6 nexthop (for IPv6
peer).
ipv4-unicast routes were not affected by this issue because the case of
IPv4 nexthop is covered in `else` block.
Signed-off-by: Ryoga Saito <ryoga.saito@linecorp.com>
Ryoga Saito [Wed, 16 Nov 2022 23:37:55 +0000 (08:37 +0900)]
tests: Add topotest for l3vpn over ipv6 peer
To check the effect of the next patch, I added topotest.
Signed-off-by: Ryoga Saito <ryoga.saito@linecorp.com>
Louis Scalbert [Thu, 10 Nov 2022 16:18:01 +0000 (17:18 +0100)]
isisd: fix area NULL pointer in isis_route_update
Fix the case area is NULL.
Fixes: acc0029779 ("isisd: fix potential access to NULL pointer in isis_route_update")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
Russ White [Thu, 17 Nov 2022 02:58:09 +0000 (21:58 -0500)]
Merge pull request #12312 from pguibert6WIND/bgp_lu_rr_case
bgpd: authorise to select bgp self peer prefix on rr case
Russ White [Thu, 17 Nov 2022 02:41:33 +0000 (21:41 -0500)]
Merge pull request #11992 from pguibert6WIND/pathd_debug
Pathd debug
Donatas Abraitis [Wed, 16 Nov 2022 19:48:04 +0000 (21:48 +0200)]
Merge pull request #12324 from sworleys/Guard-InQ-Log
bgpd: debug guard inQ limit
Donald Sharp [Wed, 16 Nov 2022 15:28:23 +0000 (10:28 -0500)]
Merge pull request #12259 from opensourcerouting/fix/show_rtt_always
bgpd: Shutdown RTT improvements
Jafar Al-Gharaibeh [Wed, 16 Nov 2022 04:15:45 +0000 (22:15 -0600)]
Merge pull request #11058 from opensourcerouting/fix/redhat_debian_logrotate
packaging: Reuse frr.logrotate for Debian and Redhat builds
Stephen Worley [Tue, 15 Nov 2022 20:28:09 +0000 (15:28 -0500)]
bgpd: debug guard inQ limit
Add a debug guard for the inQ limit.
Signed-off-by: Stephen Worley <sworley@nvidia.com>
Stephen Worley [Tue, 15 Nov 2022 16:46:27 +0000 (11:46 -0500)]
Merge pull request #12291 from anlancs/pimd/mtrace-fd
pimd: delay creating the socket
Philippe Guibert [Mon, 7 Nov 2022 10:56:37 +0000 (11:56 +0100)]
bgpd: authorise to select bgp self peer prefix on rr case
This commit addresses an issue that happens when using bgp
peering with a rr client, with a received prefix which is the
local ip address of the bgp session.
When using bgp ipv4 unicast session, the local prefix is
received by a peer, and finds out that the proposed prefix
and its next-hop are the same. To avoid a route loop locally,
no nexthop entry is referenced for that prefix, and the route
will not be selected.
When the received peer is a route reflector, the prefix has
to be selected, even if the route can not be installed locally.
Fixes: ("fb8ae704615c") bgpd: prevent routes loop through itself
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Donatas Abraitis [Tue, 15 Nov 2022 07:13:33 +0000 (09:13 +0200)]
Merge pull request #12307 from mtomaschewski/declare-a-check
tools: remove backslash from declare check regex
Donatas Abraitis [Tue, 15 Nov 2022 07:11:33 +0000 (09:11 +0200)]
Merge pull request #12315 from donaldsharp/dplane_sorry
Dplane sorry
Donatas Abraitis [Mon, 14 Nov 2022 20:05:15 +0000 (22:05 +0200)]
Merge pull request #12045 from patrasar/pimv6_rpf_fix
pimd, pim6d: Update upstream IIF when pim disabled and enabled on an interface
Philippe Guibert [Mon, 25 Jul 2022 13:06:35 +0000 (15:06 +0200)]
pathd: display SRTE policy status when removing policy
Create a function that logs the status of a given SR-TE policy.
Add a call to this function when a policy is being removed.
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Philippe Guibert [Mon, 25 Jul 2022 12:57:10 +0000 (14:57 +0200)]
pathd: some traces are added to 'debug pathd ted' command.
Some traces initially displayed will be hidden behind the
vty command: 'debug pathd ted'.
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Philippe Guibert [Tue, 19 Jul 2022 12:59:23 +0000 (14:59 +0200)]
pathd: use a define to store the the length of endpoint string
The endpoint string is a 46 byte length buffer. Use a single
place to store the length of that buffer.
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Philippe Guibert [Mon, 25 Jul 2022 12:55:37 +0000 (14:55 +0200)]
pathd: add 'debug pathd policy' command
Add a new cli command to troubleshoort pathd daemon.
Some traces initially enabled are hidden behind this
cli command.
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Philippe Guibert [Wed, 21 Sep 2022 14:49:18 +0000 (16:49 +0200)]
pathd: display path ted debugging status
On 'show debugging' call, display the status about
ted debugging.
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Donatas Abraitis [Mon, 14 Nov 2022 14:13:39 +0000 (16:13 +0200)]
Merge pull request #12219 from cscarpitta/feature/srv6-usid-behavior-support
bgpd, zebra: Add support for SRv6 uSID Behaviors
Donald Sharp [Mon, 14 Nov 2022 13:28:45 +0000 (08:28 -0500)]
zebra: Fix dplane_fpm_nl to allow for fast configuration
If you have this order in your configuration file:
no fpm use-next-hop-groups
fpm address 127.0.0.1
the dplane code was using the same event thread t_event and the second
add event in the code was going, you already have an event scheduled
and as such the second event does not overwrite it. Leaving
no code to actually start the whole processing. There are probably
other cli iterations that will cause this fun as well, but I'm
not going to spend the time sussing them out at the moment.
Fixes: #12314
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Mon, 14 Nov 2022 13:06:16 +0000 (08:06 -0500)]
zebra: Use the enum, luke
Use the enum and let the compiler help us figure out
what cases are being missed.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Mon, 14 Nov 2022 12:57:47 +0000 (07:57 -0500)]
Merge pull request #12234 from opensourcerouting/fix/bgp_regex_pcre
docker: Use PCRE2 for Alpine
Donatas Abraitis [Sun, 13 Nov 2022 19:57:22 +0000 (21:57 +0200)]
bgpd: Implement SNMP BGP4V2-MIB (bgp4V2PeerEntry)
http://www.circitor.fr/Mibs/Mib/B/BGP4V2-MIB.mib
Compared with Arista BGP4V2-MIB implementation, almost identical (despite that
Arista has slightly some additional MIBs).
Example:
```
iso.3.6.1.3.5.1.1.2.1.1.1.4.192.168.10.64 = Gauge32: 0
iso.3.6.1.3.5.1.1.2.1.1.1.4.192.168.10.65 = Gauge32: 0
iso.3.6.1.3.5.1.1.2.1.1.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = Gauge32: 0
iso.3.6.1.3.5.1.1.2.1.1.2.16.42.12.47.7.72.150.6.102.0.0.0.0.0.0.177.121 = Gauge32: 0
iso.3.6.1.3.5.1.1.2.1.1.2.16.42.12.47.7.72.150.6.102.0.0.0.0.0.0.177.128 = Gauge32: 0
iso.3.6.1.3.5.1.1.2.1.2.1.4.192.168.10.64 = INTEGER: 0
iso.3.6.1.3.5.1.1.2.1.2.1.4.192.168.10.65 = INTEGER: 0
iso.3.6.1.3.5.1.1.2.1.2.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = INTEGER: 2
iso.3.6.1.3.5.1.1.2.1.2.2.16.42.12.47.7.72.150.6.102.0.0.0.0.0.0.177.121 = INTEGER: 0
iso.3.6.1.3.5.1.1.2.1.2.2.16.42.12.47.7.72.150.6.102.0.0.0.0.0.0.177.128 = INTEGER: 0
iso.3.6.1.3.5.1.1.2.1.3.1.4.192.168.10.64 = Hex-STRING: 00 00 00 00
iso.3.6.1.3.5.1.1.2.1.3.1.4.192.168.10.65 = Hex-STRING: 00 00 00 00
iso.3.6.1.3.5.1.1.2.1.3.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = Hex-STRING: 2A 02 47 80 01 23 00 00 00 00 00 00 00 00 00 01
iso.3.6.1.3.5.1.1.2.1.3.2.16.42.12.47.7.72.150.6.102.0.0.0.0.0.0.177.121 = Hex-STRING: 00 00 00 00
iso.3.6.1.3.5.1.1.2.1.3.2.16.42.12.47.7.72.150.6.102.0.0.0.0.0.0.177.128 = Hex-STRING: 00 00 00 00
iso.3.6.1.3.5.1.1.2.1.4.1.4.192.168.10.64 = INTEGER: 0
iso.3.6.1.3.5.1.1.2.1.4.1.4.192.168.10.65 = INTEGER: 0
iso.3.6.1.3.5.1.1.2.1.4.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = INTEGER: 2
iso.3.6.1.3.5.1.1.2.1.4.2.16.42.12.47.7.72.150.6.102.0.0.0.0.0.0.177.121 = INTEGER: 0
iso.3.6.1.3.5.1.1.2.1.4.2.16.42.12.47.7.72.150.6.102.0.0.0.0.0.0.177.128 = INTEGER: 0
iso.3.6.1.3.5.1.1.2.1.5.1.4.192.168.10.64 = Hex-STRING: 00 00 00 00
iso.3.6.1.3.5.1.1.2.1.5.1.4.192.168.10.65 = Hex-STRING: 00 00 00 00
iso.3.6.1.3.5.1.1.2.1.5.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = Hex-STRING: 2A 02 47 80 01 23 00 00 00 00 00 00 00 00 00 02
iso.3.6.1.3.5.1.1.2.1.5.2.16.42.12.47.7.72.150.6.102.0.0.0.0.0.0.177.121 = Hex-STRING: 00 00 00 00
iso.3.6.1.3.5.1.1.2.1.5.2.16.42.12.47.7.72.150.6.102.0.0.0.0.0.0.177.128 = Hex-STRING: 00 00 00 00
iso.3.6.1.3.5.1.1.2.1.6.1.4.192.168.10.64 = Gauge32: 0
iso.3.6.1.3.5.1.1.2.1.6.1.4.192.168.10.65 = Gauge32: 0
iso.3.6.1.3.5.1.1.2.1.6.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = Gauge32: 179
iso.3.6.1.3.5.1.1.2.1.6.2.16.42.12.47.7.72.150.6.102.0.0.0.0.0.0.177.121 = Gauge32: 0
iso.3.6.1.3.5.1.1.2.1.6.2.16.42.12.47.7.72.150.6.102.0.0.0.0.0.0.177.128 = Gauge32: 0
iso.3.6.1.3.5.1.1.2.1.7.1.4.192.168.10.64 = Gauge32: 65000
iso.3.6.1.3.5.1.1.2.1.7.1.4.192.168.10.65 = Gauge32: 65000
iso.3.6.1.3.5.1.1.2.1.7.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = Gauge32: 65000
iso.3.6.1.3.5.1.1.2.1.7.2.16.42.12.47.7.72.150.6.102.0.0.0.0.0.0.177.121 = Gauge32: 65000
iso.3.6.1.3.5.1.1.2.1.7.2.16.42.12.47.7.72.150.6.102.0.0.0.0.0.0.177.128 = Gauge32: 65000
iso.3.6.1.3.5.1.1.2.1.8.1.4.192.168.10.64 = Hex-STRING: C0 00 02 FC
iso.3.6.1.3.5.1.1.2.1.8.1.4.192.168.10.65 = Hex-STRING: C0 00 02 FC
iso.3.6.1.3.5.1.1.2.1.8.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = Hex-STRING: C0 00 02 FC
iso.3.6.1.3.5.1.1.2.1.8.2.16.42.12.47.7.72.150.6.102.0.0.0.0.0.0.177.121 = Hex-STRING: C0 00 02 FC
iso.3.6.1.3.5.1.1.2.1.8.2.16.42.12.47.7.72.150.6.102.0.0.0.0.0.0.177.128 = Hex-STRING: C0 00 02 FC
iso.3.6.1.3.5.1.1.2.1.9.1.4.192.168.10.64 = Gauge32: 0
iso.3.6.1.3.5.1.1.2.1.9.1.4.192.168.10.65 = Gauge32: 0
iso.3.6.1.3.5.1.1.2.1.9.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = Gauge32: 54814
iso.3.6.1.3.5.1.1.2.1.9.2.16.42.12.47.7.72.150.6.102.0.0.0.0.0.0.177.121 = Gauge32: 0
iso.3.6.1.3.5.1.1.2.1.9.2.16.42.12.47.7.72.150.6.102.0.0.0.0.0.0.177.128 = Gauge32: 0
iso.3.6.1.3.5.1.1.2.1.10.1.4.192.168.10.64 = Gauge32: 65002
iso.3.6.1.3.5.1.1.2.1.10.1.4.192.168.10.65 = Gauge32: 65002
iso.3.6.1.3.5.1.1.2.1.10.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = Gauge32: 65002
iso.3.6.1.3.5.1.1.2.1.10.2.16.42.12.47.7.72.150.6.102.0.0.0.0.0.0.177.121 = Gauge32: 65001
iso.3.6.1.3.5.1.1.2.1.10.2.16.42.12.47.7.72.150.6.102.0.0.0.0.0.0.177.128 = Gauge32: 65001
iso.3.6.1.3.5.1.1.2.1.11.1.4.192.168.10.64 = Hex-STRING: 00 00 00 00
iso.3.6.1.3.5.1.1.2.1.11.1.4.192.168.10.65 = Hex-STRING: 00 00 00 00
iso.3.6.1.3.5.1.1.2.1.11.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = STRING: "dddd"
iso.3.6.1.3.5.1.1.2.1.11.2.16.42.12.47.7.72.150.6.102.0.0.0.0.0.0.177.121 = Hex-STRING: 00 00 00 00
iso.3.6.1.3.5.1.1.2.1.11.2.16.42.12.47.7.72.150.6.102.0.0.0.0.0.0.177.128 = Hex-STRING: 00 00 00 00
iso.3.6.1.3.5.1.1.2.1.12.1.4.192.168.10.64 = INTEGER: 2
iso.3.6.1.3.5.1.1.2.1.12.1.4.192.168.10.65 = INTEGER: 2
iso.3.6.1.3.5.1.1.2.1.12.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = INTEGER: 2
iso.3.6.1.3.5.1.1.2.1.12.2.16.42.12.47.7.72.150.6.102.0.0.0.0.0.0.177.121 = INTEGER: 2
iso.3.6.1.3.5.1.1.2.1.12.2.16.42.12.47.7.72.150.6.102.0.0.0.0.0.0.177.128 = INTEGER: 2
iso.3.6.1.3.5.1.1.2.1.13.1.4.192.168.10.64 = INTEGER: 1
iso.3.6.1.3.5.1.1.2.1.13.1.4.192.168.10.65 = INTEGER: 3
iso.3.6.1.3.5.1.1.2.1.13.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = INTEGER: 1
iso.3.6.1.3.5.1.1.2.1.13.2.16.42.12.47.7.72.150.6.102.0.0.0.0.0.0.177.121 = INTEGER: 3
iso.3.6.1.3.5.1.1.2.1.13.2.16.42.12.47.7.72.150.6.102.0.0.0.0.0.0.177.128 = INTEGER: 1
iso.3.6.1.3.5.1.1.2.1.14.1.4.192.168.10.64 = Hex-STRING: 4F 4B 00
iso.3.6.1.3.5.1.1.2.1.14.1.4.192.168.10.65 = Hex-STRING: 4F 4B 32 00
iso.3.6.1.3.5.1.1.2.1.14.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = Hex-STRING: 69 70 76 36 00
```
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Sarita Patra [Fri, 11 Nov 2022 07:21:35 +0000 (23:21 -0800)]
pimd, pim6d: Don't allow pim disabled interface as nexthop
While doing nexthop lookup, only allow the nexthop
interafce which is PIM enabled.
Issue: #10782
Issue: #11931
Signed-off-by: Sarita Patra <saritap@vmware.com>
Sarita Patra [Fri, 11 Nov 2022 06:59:58 +0000 (22:59 -0800)]
pimd, pim6d: Update upstream rpf disable/enable pim on interface
Problem:
When "no ip pim" is executed on source connected interface, its
ifp->info is set to NULL. But KAT on this interface is still
running, it wrongly dereferences NULL. This leads to crash.
Root Cause:
pim upstream IIF is still pointing towards the source connected
interface which is not pim enabled and Mroute is still present in
the kernel.
Fix:
When “no ip pim” command gets executed on source connected interface,
then loop through all the pnc->nexthop, if any new nexthop found,
then update the upstream IIF accordindly, if not found then update
the upstream IIF as Unknown and uninstall the mroute from kernel.
When “ip pim” command gets executed on source connected interface,
then also loop through all the pnc->nexthop and update the upstream IIF,
install the mroute in kernel.
Issue: #10782
Issue: #11931
Signed-off-by: Sarita Patra <saritap@vmware.com>
Sarita Patra [Fri, 11 Nov 2022 06:55:53 +0000 (22:55 -0800)]
pimd, pim6d: Introduce pnc_hash_walk_data structure
This structure will contain pim_instance and interface
data.
Signed-off-by: Sarita Patra <saritap@vmware.com>
Sarita Patra [Fri, 21 Oct 2022 09:00:10 +0000 (02:00 -0700)]
pim6d: Handle IPV6 for "no ipv6 pim"
Issue: #11931
Signed-off-by: Sarita Patra <saritap@vmware.com>