Commit Graph

30318 Commits

Author SHA1 Message Date
Kuldeep Kashyap
ac6ef90b87 tests: Fix frrbot style issues
There were some style issues found by
frrbot, fixing as part of this commit.

Signed-off-by: Kuldeep Kashyap <kashyapk@vmware.com>
2022-12-13 22:45:48 -08:00
Kuldeep Kashyap
991a971fe9 tests: Cleaning up daemon param used in start_topology()
Earlier daemon parameter was passed to
start_topology(), which is not needed now,
as new code is implemented to start
feature specific daemons.

Signed-off-by: Kuldeep Kashyap <kashyapk@vmware.com>
2022-12-13 22:45:34 -08:00
Kuldeep Kashyap
dc4c450fc2 tests: Topotests daemon start as per feature test
Currently topotests starts all daemons by default,
made changes to f/w so only needed daemons can
be started, daemons which are needed to tests
particular test suite.

Signed-off-by: Kuldeep Kashyap <kashyapk@vmware.com>
2022-12-13 20:25:41 -08:00
Donald Sharp
22e60ca210
Merge pull request #12516 from mjstapp/fix_debug_dpdk
zebra: fix flags used for debug dpdk
2022-12-13 20:09:45 -05:00
Mark Stapp
3edb3a644d zebra: fix flags used for debug dpdk
Use the correct flags for debug zebra dataplane dpdk options.

Signed-off-by: Mark Stapp <mjs@labn.net>
2022-12-13 17:02:29 -05:00
Donald Sharp
355e7218f1
Merge pull request #12508 from louis-6wind/ls_prefix_new
lib: fix ls_prefix memory allocation
2022-12-13 12:03:49 -05:00
Russ White
193568d30f
Merge pull request #12491 from opensourcerouting/fix/crash_bgp_graceful-restart_json
bgpd: Fix graceful-restart JSON outputs and the crash
2022-12-13 10:11:48 -05:00
Russ White
cae9114277
Merge pull request #12501 from opensourcerouting/feature/bgp4v2_bgp4V2PeerEventTimesTable
bgpd: SNMP continued work on IPv6
2022-12-13 10:08:36 -05:00
Russ White
c9c71927ea
Merge pull request #12191 from manojvn/463777
ospf6d: ospf6 route installation when changed from nssa to regular area.
2022-12-13 09:58:04 -05:00
Louis Scalbert
fa0f9ae38b lib: fix ls_prefix memory allocation
The wrong size is allocated for struct ls_prefix memory.

Fix ls_prefix memory allocation.

Fixes: b0c0b43348 ("lib: Update Link State Database")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2022-12-13 15:05:04 +01:00
Russ White
daa2567002
Merge pull request #12447 from karlquan/master
BGP neighbor JSON output always displays hostname, nexthop and related keys
2022-12-13 08:54:13 -05:00
Donald Sharp
5519e0eb14
Merge pull request #12499 from opensourcerouting/ospf-vertex-leak
ospfd: fix memory leak on SPF calculation
2022-12-12 18:36:07 -05:00
Donald Sharp
5492c4f769
Merge pull request #12498 from Jafaral/ospf-typo
ospfd: fix typo and report the link name in the warning
2022-12-12 18:35:53 -05:00
Donatas Abraitis
2ce69011c4 bgpd: Implement SNMP BGP4V2-MIB (bgp4V2NlriTable), part 2
```
iso.3.6.1.3.5.1.1.9.1.1.1.4.10.0.0.0.24.192.168.10.65 = Gauge32: 0
iso.3.6.1.3.5.1.1.9.1.1.1.4.100.100.100.100.32.192.168.10.65 = Gauge32: 0
iso.3.6.1.3.5.1.1.9.1.1.1.4.172.17.0.0.24.192.168.10.65 = Gauge32: 0
iso.3.6.1.3.5.1.1.9.1.1.1.4.192.168.0.0.24.192.168.10.65 = Gauge32: 0
iso.3.6.1.3.5.1.1.9.1.1.1.4.192.168.10.0.23.192.168.10.65 = Gauge32: 0
iso.3.6.1.3.5.1.1.9.1.1.2.16.42.2.71.128.0.0.0.0.0.0.0.0.0.0.17.17.128.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.9.1.1.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.0.64.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.9.1.1.2.16.42.3.6.128.0.0.0.0.0.0.0.0.0.0.0.0.48.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.9.1.1.2.16.42.3.6.128.0.1.0.0.0.0.0.0.0.0.0.0.48.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.9.1.2.1.4.10.0.0.0.24.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.2.1.4.100.100.100.100.32.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.2.1.4.172.17.0.0.24.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.2.1.4.192.168.0.0.24.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.2.1.4.192.168.10.0.23.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.2.2.16.42.2.71.128.0.0.0.0.0.0.0.0.0.0.17.17.128.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.9.1.2.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.0.64.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.9.1.2.2.16.42.3.6.128.0.0.0.0.0.0.0.0.0.0.0.0.48.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.9.1.2.2.16.42.3.6.128.0.1.0.0.0.0.0.0.0.0.0.0.48.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.9.1.3.1.4.10.0.0.0.24.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.3.1.4.100.100.100.100.32.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.3.1.4.172.17.0.0.24.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.3.1.4.192.168.0.0.24.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.3.1.4.192.168.10.0.23.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.3.2.16.42.2.71.128.0.0.0.0.0.0.0.0.0.0.17.17.128.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.9.1.3.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.0.64.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.9.1.3.2.16.42.3.6.128.0.0.0.0.0.0.0.0.0.0.0.0.48.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.9.1.3.2.16.42.3.6.128.0.1.0.0.0.0.0.0.0.0.0.0.48.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.9.1.4.1.4.10.0.0.0.24.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.4.1.4.100.100.100.100.32.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.4.1.4.172.17.0.0.24.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.4.1.4.192.168.0.0.24.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.4.1.4.192.168.10.0.23.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.4.2.16.42.2.71.128.0.0.0.0.0.0.0.0.0.0.17.17.128.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.9.1.4.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.0.64.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.9.1.4.2.16.42.3.6.128.0.0.0.0.0.0.0.0.0.0.0.0.48.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.9.1.4.2.16.42.3.6.128.0.1.0.0.0.0.0.0.0.0.0.0.48.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.9.1.5.1.4.10.0.0.0.24.192.168.10.65 = Hex-STRING: 0A 00 00 00
iso.3.6.1.3.5.1.1.9.1.5.1.4.100.100.100.100.32.192.168.10.65 = STRING: "dddd"
iso.3.6.1.3.5.1.1.9.1.5.1.4.172.17.0.0.24.192.168.10.65 = Hex-STRING: AC 11 00 00
iso.3.6.1.3.5.1.1.9.1.5.1.4.192.168.0.0.24.192.168.10.65 = Hex-STRING: C0 A8 00 00
iso.3.6.1.3.5.1.1.9.1.5.1.4.192.168.10.0.23.192.168.10.65 = Hex-STRING: C0 A8 0A 00
iso.3.6.1.3.5.1.1.9.1.5.2.16.42.2.71.128.0.0.0.0.0.0.0.0.0.0.17.17.128.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = Hex-STRING: 2A 02 47 80 00 00 00 00 00 00 00 00 00 00 11 11
iso.3.6.1.3.5.1.1.9.1.5.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.0.64.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 00
iso.3.6.1.3.5.1.1.9.1.5.2.16.42.3.6.128.0.0.0.0.0.0.0.0.0.0.0.0.48.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = Hex-STRING: 2A 03 06 80 00 00 00 00 00 00 00 00 00 00 00 00
iso.3.6.1.3.5.1.1.9.1.5.2.16.42.3.6.128.0.1.0.0.0.0.0.0.0.0.0.0.48.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = Hex-STRING: 2A 03 06 80 00 01 00 00 00 00 00 00 00 00 00 00
iso.3.6.1.3.5.1.1.9.1.6.1.4.10.0.0.0.24.192.168.10.65 = Gauge32: 24
iso.3.6.1.3.5.1.1.9.1.6.1.4.100.100.100.100.32.192.168.10.65 = Gauge32: 32
iso.3.6.1.3.5.1.1.9.1.6.1.4.172.17.0.0.24.192.168.10.65 = Gauge32: 24
iso.3.6.1.3.5.1.1.9.1.6.1.4.192.168.0.0.24.192.168.10.65 = Gauge32: 24
iso.3.6.1.3.5.1.1.9.1.6.1.4.192.168.10.0.23.192.168.10.65 = Gauge32: 23
iso.3.6.1.3.5.1.1.9.1.6.2.16.42.2.71.128.0.0.0.0.0.0.0.0.0.0.17.17.128.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = Gauge32: 128
iso.3.6.1.3.5.1.1.9.1.6.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.0.64.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = Gauge32: 64
iso.3.6.1.3.5.1.1.9.1.6.2.16.42.3.6.128.0.0.0.0.0.0.0.0.0.0.0.0.48.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = Gauge32: 48
iso.3.6.1.3.5.1.1.9.1.6.2.16.42.3.6.128.0.1.0.0.0.0.0.0.0.0.0.0.48.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = Gauge32: 48
iso.3.6.1.3.5.1.1.9.1.7.1.4.10.0.0.0.24.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.7.1.4.100.100.100.100.32.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.7.1.4.172.17.0.0.24.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.7.1.4.192.168.0.0.24.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.7.1.4.192.168.10.0.23.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.7.2.16.42.2.71.128.0.0.0.0.0.0.0.0.0.0.17.17.128.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.9.1.7.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.0.64.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.9.1.7.2.16.42.3.6.128.0.0.0.0.0.0.0.0.0.0.0.0.48.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.9.1.7.2.16.42.3.6.128.0.1.0.0.0.0.0.0.0.0.0.0.48.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.9.1.8.1.4.10.0.0.0.24.192.168.10.65 = Gauge32: 0
iso.3.6.1.3.5.1.1.9.1.8.1.4.100.100.100.100.32.192.168.10.65 = Gauge32: 0
iso.3.6.1.3.5.1.1.9.1.8.1.4.172.17.0.0.24.192.168.10.65 = Gauge32: 0
iso.3.6.1.3.5.1.1.9.1.8.1.4.192.168.0.0.24.192.168.10.65 = Gauge32: 0
iso.3.6.1.3.5.1.1.9.1.8.1.4.192.168.10.0.23.192.168.10.65 = Gauge32: 0
iso.3.6.1.3.5.1.1.9.1.8.2.16.42.2.71.128.0.0.0.0.0.0.0.0.0.0.17.17.128.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.9.1.8.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.0.64.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.9.1.8.2.16.42.3.6.128.0.0.0.0.0.0.0.0.0.0.0.0.48.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.9.1.8.2.16.42.3.6.128.0.1.0.0.0.0.0.0.0.0.0.0.48.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.9.1.9.1.4.10.0.0.0.24.192.168.10.65 = INTEGER: 3
iso.3.6.1.3.5.1.1.9.1.9.1.4.100.100.100.100.32.192.168.10.65 = INTEGER: 3
iso.3.6.1.3.5.1.1.9.1.9.1.4.172.17.0.0.24.192.168.10.65 = INTEGER: 3
iso.3.6.1.3.5.1.1.9.1.9.1.4.192.168.0.0.24.192.168.10.65 = INTEGER: 3
iso.3.6.1.3.5.1.1.9.1.9.1.4.192.168.10.0.23.192.168.10.65 = INTEGER: 3
iso.3.6.1.3.5.1.1.9.1.9.2.16.42.2.71.128.0.0.0.0.0.0.0.0.0.0.17.17.128.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = INTEGER: 3
iso.3.6.1.3.5.1.1.9.1.9.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.0.64.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = INTEGER: 3
iso.3.6.1.3.5.1.1.9.1.9.2.16.42.3.6.128.0.0.0.0.0.0.0.0.0.0.0.0.48.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = INTEGER: 3
iso.3.6.1.3.5.1.1.9.1.9.2.16.42.3.6.128.0.1.0.0.0.0.0.0.0.0.0.0.48.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = INTEGER: 3
iso.3.6.1.3.5.1.1.9.1.10.1.4.10.0.0.0.24.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.10.1.4.100.100.100.100.32.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.10.1.4.172.17.0.0.24.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.10.1.4.192.168.0.0.24.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.10.1.4.192.168.10.0.23.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.10.2.16.42.2.71.128.0.0.0.0.0.0.0.0.0.0.17.17.128.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = INTEGER: 4
iso.3.6.1.3.5.1.1.9.1.10.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.0.64.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = INTEGER: 4
iso.3.6.1.3.5.1.1.9.1.10.2.16.42.3.6.128.0.0.0.0.0.0.0.0.0.0.0.0.48.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = INTEGER: 4
iso.3.6.1.3.5.1.1.9.1.10.2.16.42.3.6.128.0.1.0.0.0.0.0.0.0.0.0.0.48.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = INTEGER: 4
iso.3.6.1.3.5.1.1.9.1.11.1.4.10.0.0.0.24.192.168.10.65 = Hex-STRING: C0 A8 0A 41
iso.3.6.1.3.5.1.1.9.1.11.1.4.100.100.100.100.32.192.168.10.65 = Hex-STRING: C0 A8 0A 41
iso.3.6.1.3.5.1.1.9.1.11.1.4.172.17.0.0.24.192.168.10.65 = Hex-STRING: C0 A8 0A 41
iso.3.6.1.3.5.1.1.9.1.11.1.4.192.168.0.0.24.192.168.10.65 = Hex-STRING: C0 A8 0A 41
iso.3.6.1.3.5.1.1.9.1.11.1.4.192.168.10.0.23.192.168.10.65 = Hex-STRING: C0 A8 0A 41
iso.3.6.1.3.5.1.1.9.1.11.2.16.42.2.71.128.0.0.0.0.0.0.0.0.0.0.17.17.128.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = Hex-STRING: FE 80 00 00 00 00 00 00 0A 00 27 FF FE 2C E3 88
iso.3.6.1.3.5.1.1.9.1.11.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.0.64.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = Hex-STRING: FE 80 00 00 00 00 00 00 0A 00 27 FF FE 2C E3 88
iso.3.6.1.3.5.1.1.9.1.11.2.16.42.3.6.128.0.0.0.0.0.0.0.0.0.0.0.0.48.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = Hex-STRING: FE 80 00 00 00 00 00 00 0A 00 27 FF FE 2C E3 88
iso.3.6.1.3.5.1.1.9.1.11.2.16.42.3.6.128.0.1.0.0.0.0.0.0.0.0.0.0.48.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = Hex-STRING: FE 80 00 00 00 00 00 00 0A 00 27 FF FE 2C E3 88
iso.3.6.1.3.5.1.1.9.1.14.1.4.10.0.0.0.24.192.168.10.65 = INTEGER: 0
iso.3.6.1.3.5.1.1.9.1.14.1.4.100.100.100.100.32.192.168.10.65 = INTEGER: 0
iso.3.6.1.3.5.1.1.9.1.14.1.4.172.17.0.0.24.192.168.10.65 = INTEGER: 0
iso.3.6.1.3.5.1.1.9.1.14.1.4.192.168.0.0.24.192.168.10.65 = INTEGER: 0
iso.3.6.1.3.5.1.1.9.1.14.1.4.192.168.10.0.23.192.168.10.65 = INTEGER: 0
iso.3.6.1.3.5.1.1.9.1.14.2.16.42.2.71.128.0.0.0.0.0.0.0.0.0.0.17.17.128.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = INTEGER: 0
iso.3.6.1.3.5.1.1.9.1.14.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.0.64.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = INTEGER: 0
iso.3.6.1.3.5.1.1.9.1.14.2.16.42.3.6.128.0.0.0.0.0.0.0.0.0.0.0.0.48.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = INTEGER: 0
iso.3.6.1.3.5.1.1.9.1.14.2.16.42.3.6.128.0.1.0.0.0.0.0.0.0.0.0.0.48.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = INTEGER: 0
iso.3.6.1.3.5.1.1.9.1.15.1.4.10.0.0.0.24.192.168.10.65 = Gauge32: 0
iso.3.6.1.3.5.1.1.9.1.15.1.4.100.100.100.100.32.192.168.10.65 = Gauge32: 0
iso.3.6.1.3.5.1.1.9.1.15.1.4.172.17.0.0.24.192.168.10.65 = Gauge32: 0
iso.3.6.1.3.5.1.1.9.1.15.1.4.192.168.0.0.24.192.168.10.65 = Gauge32: 0
iso.3.6.1.3.5.1.1.9.1.15.1.4.192.168.10.0.23.192.168.10.65 = Gauge32: 0
iso.3.6.1.3.5.1.1.9.1.15.2.16.42.2.71.128.0.0.0.0.0.0.0.0.0.0.17.17.128.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.9.1.15.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.0.64.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.9.1.15.2.16.42.3.6.128.0.0.0.0.0.0.0.0.0.0.0.0.48.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.9.1.15.2.16.42.3.6.128.0.1.0.0.0.0.0.0.0.0.0.0.48.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.9.1.16.1.4.10.0.0.0.24.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.16.1.4.100.100.100.100.32.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.16.1.4.172.17.0.0.24.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.16.1.4.192.168.0.0.24.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.16.1.4.192.168.10.0.23.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.16.2.16.42.2.71.128.0.0.0.0.0.0.0.0.0.0.17.17.128.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.9.1.16.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.0.64.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.9.1.16.2.16.42.3.6.128.0.0.0.0.0.0.0.0.0.0.0.0.48.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.9.1.16.2.16.42.3.6.128.0.1.0.0.0.0.0.0.0.0.0.0.48.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.9.1.17.1.4.10.0.0.0.24.192.168.10.65 = Gauge32: 0
iso.3.6.1.3.5.1.1.9.1.17.1.4.100.100.100.100.32.192.168.10.65 = Gauge32: 0
iso.3.6.1.3.5.1.1.9.1.17.1.4.172.17.0.0.24.192.168.10.65 = Gauge32: 0
iso.3.6.1.3.5.1.1.9.1.17.1.4.192.168.0.0.24.192.168.10.65 = Gauge32: 0
iso.3.6.1.3.5.1.1.9.1.17.1.4.192.168.10.0.23.192.168.10.65 = Gauge32: 0
iso.3.6.1.3.5.1.1.9.1.17.2.16.42.2.71.128.0.0.0.0.0.0.0.0.0.0.17.17.128.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.9.1.17.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.0.64.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.9.1.17.2.16.42.3.6.128.0.0.0.0.0.0.0.0.0.0.0.0.48.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.9.1.17.2.16.42.3.6.128.0.1.0.0.0.0.0.0.0.0.0.0.48.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.9.1.18.1.4.10.0.0.0.24.192.168.10.65 = INTEGER: 0
iso.3.6.1.3.5.1.1.9.1.18.1.4.100.100.100.100.32.192.168.10.65 = INTEGER: 0
iso.3.6.1.3.5.1.1.9.1.18.1.4.172.17.0.0.24.192.168.10.65 = INTEGER: 0
iso.3.6.1.3.5.1.1.9.1.18.1.4.192.168.0.0.24.192.168.10.65 = INTEGER: 0
iso.3.6.1.3.5.1.1.9.1.18.1.4.192.168.10.0.23.192.168.10.65 = INTEGER: 0
iso.3.6.1.3.5.1.1.9.1.18.2.16.42.2.71.128.0.0.0.0.0.0.0.0.0.0.17.17.128.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = INTEGER: 0
iso.3.6.1.3.5.1.1.9.1.18.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.0.64.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = INTEGER: 0
iso.3.6.1.3.5.1.1.9.1.18.2.16.42.3.6.128.0.0.0.0.0.0.0.0.0.0.0.0.48.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = INTEGER: 0
iso.3.6.1.3.5.1.1.9.1.18.2.16.42.3.6.128.0.1.0.0.0.0.0.0.0.0.0.0.48.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = INTEGER: 0
iso.3.6.1.3.5.1.1.9.1.19.1.4.10.0.0.0.24.192.168.10.65 = INTEGER: 0
iso.3.6.1.3.5.1.1.9.1.19.1.4.100.100.100.100.32.192.168.10.65 = INTEGER: 0
iso.3.6.1.3.5.1.1.9.1.19.1.4.172.17.0.0.24.192.168.10.65 = INTEGER: 0
iso.3.6.1.3.5.1.1.9.1.19.1.4.192.168.0.0.24.192.168.10.65 = INTEGER: 0
iso.3.6.1.3.5.1.1.9.1.19.1.4.192.168.10.0.23.192.168.10.65 = INTEGER: 0
iso.3.6.1.3.5.1.1.9.1.19.2.16.42.2.71.128.0.0.0.0.0.0.0.0.0.0.17.17.128.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = INTEGER: 0
iso.3.6.1.3.5.1.1.9.1.19.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.0.64.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = INTEGER: 0
iso.3.6.1.3.5.1.1.9.1.19.2.16.42.3.6.128.0.0.0.0.0.0.0.0.0.0.0.0.48.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = INTEGER: 0
iso.3.6.1.3.5.1.1.9.1.19.2.16.42.3.6.128.0.1.0.0.0.0.0.0.0.0.0.0.48.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = INTEGER: 0
iso.3.6.1.3.5.1.1.9.1.20.1.4.10.0.0.0.24.192.168.10.65 = Gauge32: 0
iso.3.6.1.3.5.1.1.9.1.20.1.4.100.100.100.100.32.192.168.10.65 = Gauge32: 0
iso.3.6.1.3.5.1.1.9.1.20.1.4.172.17.0.0.24.192.168.10.65 = Gauge32: 0
iso.3.6.1.3.5.1.1.9.1.20.1.4.192.168.0.0.24.192.168.10.65 = Gauge32: 0
iso.3.6.1.3.5.1.1.9.1.20.1.4.192.168.10.0.23.192.168.10.65 = Gauge32: 0
iso.3.6.1.3.5.1.1.9.1.20.2.16.42.2.71.128.0.0.0.0.0.0.0.0.0.0.17.17.128.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.9.1.20.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.0.64.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.9.1.20.2.16.42.3.6.128.0.0.0.0.0.0.0.0.0.0.0.0.48.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.9.1.20.2.16.42.3.6.128.0.1.0.0.0.0.0.0.0.0.0.0.48.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.9.1.21.1.4.10.0.0.0.24.192.168.10.65 = Hex-STRING: 00 00 00 00
iso.3.6.1.3.5.1.1.9.1.21.1.4.100.100.100.100.32.192.168.10.65 = Hex-STRING: 00 00 00 00
iso.3.6.1.3.5.1.1.9.1.21.1.4.172.17.0.0.24.192.168.10.65 = Hex-STRING: 00 00 00 00
iso.3.6.1.3.5.1.1.9.1.21.1.4.192.168.0.0.24.192.168.10.65 = Hex-STRING: 00 00 00 00
iso.3.6.1.3.5.1.1.9.1.21.1.4.192.168.10.0.23.192.168.10.65 = Hex-STRING: 00 00 00 00
iso.3.6.1.3.5.1.1.9.1.21.2.16.42.2.71.128.0.0.0.0.0.0.0.0.0.0.17.17.128.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = Hex-STRING: 00 00 00 00
iso.3.6.1.3.5.1.1.9.1.21.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.0.64.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = Hex-STRING: 00 00 00 00
iso.3.6.1.3.5.1.1.9.1.21.2.16.42.3.6.128.0.0.0.0.0.0.0.0.0.0.0.0.48.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = Hex-STRING: 00 00 00 00
iso.3.6.1.3.5.1.1.9.1.21.2.16.42.3.6.128.0.1.0.0.0.0.0.0.0.0.0.0.48.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = Hex-STRING: 00 00 00 00
iso.3.6.1.3.5.1.1.9.1.22.1.4.10.0.0.0.24.192.168.10.65 = Gauge32: 1
iso.3.6.1.3.5.1.1.9.1.22.1.4.100.100.100.100.32.192.168.10.65 = Gauge32: 1
iso.3.6.1.3.5.1.1.9.1.22.1.4.172.17.0.0.24.192.168.10.65 = Gauge32: 1
iso.3.6.1.3.5.1.1.9.1.22.1.4.192.168.0.0.24.192.168.10.65 = Gauge32: 1
iso.3.6.1.3.5.1.1.9.1.22.1.4.192.168.10.0.23.192.168.10.65 = Gauge32: 1
iso.3.6.1.3.5.1.1.9.1.22.2.16.42.2.71.128.0.0.0.0.0.0.0.0.0.0.17.17.128.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = Gauge32: 1
iso.3.6.1.3.5.1.1.9.1.22.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.0.64.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = Gauge32: 1
iso.3.6.1.3.5.1.1.9.1.22.2.16.42.3.6.128.0.0.0.0.0.0.0.0.0.0.0.0.48.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = Gauge32: 1
iso.3.6.1.3.5.1.1.9.1.22.2.16.42.3.6.128.0.1.0.0.0.0.0.0.0.0.0.0.48.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = Gauge32: 1
iso.3.6.1.3.5.1.1.9.1.24.1.4.10.0.0.0.24.192.168.10.65 = Hex-STRING: 02 01 FD EA
iso.3.6.1.3.5.1.1.9.1.24.1.4.100.100.100.100.32.192.168.10.65 = Hex-STRING: 02 01 FD EA
iso.3.6.1.3.5.1.1.9.1.24.1.4.172.17.0.0.24.192.168.10.65 = Hex-STRING: 02 01 FD EA
iso.3.6.1.3.5.1.1.9.1.24.1.4.192.168.0.0.24.192.168.10.65 = Hex-STRING: 02 01 FD EA
iso.3.6.1.3.5.1.1.9.1.24.1.4.192.168.10.0.23.192.168.10.65 = Hex-STRING: 02 01 FD EA
iso.3.6.1.3.5.1.1.9.1.24.2.16.42.2.71.128.0.0.0.0.0.0.0.0.0.0.17.17.128.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = Hex-STRING: 02 01 FD EA
iso.3.6.1.3.5.1.1.9.1.24.2.16.42.2.71.128.10.188.0.0.0.0.0.0.0.0.0.0.64.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = Hex-STRING: 02 01 FD EA
iso.3.6.1.3.5.1.1.9.1.24.2.16.42.3.6.128.0.0.0.0.0.0.0.0.0.0.0.0.48.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = Hex-STRING: 02 01 FD EA
iso.3.6.1.3.5.1.1.9.1.24.2.16.42.3.6.128.0.1.0.0.0.0.0.0.0.0.0.0.48.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = Hex-STRING: 02 01 FD EA
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-12-12 22:33:44 +02:00
Donatas Abraitis
c681e937d7 bgpd: Implement SNMP BGP4V2-MIB (bgp4V2NlriTable), part 1
```
iso.3.6.1.3.5.1.1.9.1.1.1.4.10.0.0.0.24.192.168.10.65 = Gauge32: 0
iso.3.6.1.3.5.1.1.9.1.1.1.4.100.100.100.100.32.192.168.10.65 = Gauge32: 0
iso.3.6.1.3.5.1.1.9.1.1.1.4.172.17.0.0.24.192.168.10.65 = Gauge32: 0
iso.3.6.1.3.5.1.1.9.1.1.1.4.192.168.0.0.24.192.168.10.65 = Gauge32: 0
iso.3.6.1.3.5.1.1.9.1.1.1.4.192.168.10.0.23.192.168.10.65 = Gauge32: 0
iso.3.6.1.3.5.1.1.9.1.1.2.16.42.2.71.128.0.0.0.0.0.0.0.0.0.0.17.17.128.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.9.1.1.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.0.64.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.9.1.1.2.16.42.3.6.128.0.0.0.0.0.0.0.0.0.0.0.0.48.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.9.1.1.2.16.42.3.6.128.0.1.0.0.0.0.0.0.0.0.0.0.48.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.9.1.2.1.4.10.0.0.0.24.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.2.1.4.100.100.100.100.32.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.2.1.4.172.17.0.0.24.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.2.1.4.192.168.0.0.24.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.2.1.4.192.168.10.0.23.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.2.2.16.42.2.71.128.0.0.0.0.0.0.0.0.0.0.17.17.128.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.9.1.2.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.0.64.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.9.1.2.2.16.42.3.6.128.0.0.0.0.0.0.0.0.0.0.0.0.48.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.9.1.2.2.16.42.3.6.128.0.1.0.0.0.0.0.0.0.0.0.0.48.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.9.1.3.1.4.10.0.0.0.24.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.3.1.4.100.100.100.100.32.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.3.1.4.172.17.0.0.24.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.3.1.4.192.168.0.0.24.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.3.1.4.192.168.10.0.23.192.168.10.65 = INTEGER: 1
iso.3.6.1.3.5.1.1.9.1.3.2.16.42.2.71.128.0.0.0.0.0.0.0.0.0.0.17.17.128.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.9.1.3.2.16.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.0.64.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.9.1.3.2.16.42.3.6.128.0.0.0.0.0.0.0.0.0.0.0.0.48.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.9.1.3.2.16.42.3.6.128.0.1.0.0.0.0.0.0.0.0.0.0.48.42.2.71.128.1.35.0.0.0.0.0.0.0.0.0.2 = INTEGER: 1
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-12-12 21:37:39 +02:00
Donatas Abraitis
109cd5f5d0 bgpd: Implement SNMP BGP4V2-MIB (bgp4V2PeerEventTimesTable)
```
$ snmpwalk -c public -v1 localhost .1.3.6.1.3.5.1.1.4.1
iso.3.6.1.3.5.1.1.4.1.1.1.4.192.168.10.64 = Gauge32: 0
iso.3.6.1.3.5.1.1.4.1.1.1.4.192.168.10.65 = Gauge32: 18
iso.3.6.1.3.5.1.1.4.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.4.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.4.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.4.1.2.1.4.192.168.10.64 = Gauge32: 0
iso.3.6.1.3.5.1.1.4.1.2.1.4.192.168.10.65 = Gauge32: 17
iso.3.6.1.3.5.1.1.4.1.2.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.4.1.2.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.4.1.2.2.16.42.12.47.7.72.150.6.102.0.0.0.0.0.0.177.128 = Gauge32: 0
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-12-12 21:28:54 +02:00
Donald Sharp
b85dd40ff6
Merge pull request #12485 from opensourcerouting/fix/crash_attrinfo
bgpd: Fix crash for `show bgp attribute-info`
2022-12-12 13:55:23 -05:00
Rafael Zalamena
b3bcfd3dc6 ospfd: fix memory leak on SPF calculation
Fix the following problems:
- Always free vertex next hops on `vertex_parent_free`
- Signalize failure on `ospf_spf_add_parent` when parent already exists
  so the caller has the chance to `free()` any allocated resources.
- Don't reuse vertex next hops without the reference count logic in
  `ospf_nexthop_calculation`. Instead allocate a new copy so it can be
  `free()`d later without complications

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2022-12-12 15:16:45 -03:00
Mark Stapp
a2f9eb5cca
Merge pull request #12496 from opensourcerouting/ldpd-memleak-plug
lib: fix capability double resource allocation
2022-12-12 11:14:10 -05:00
Jafar Al-Gharaibeh
bf8d8a5451 ospfd: fix typo and report the link name in the warning
Submitted-by: Marc Boucher <marc@airvitesse.net>
Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
2022-12-12 09:17:27 -06:00
Rafael Zalamena
eb23e17fc7 lib: fix capability double resource allocation
Don't let `zprivs_caps_init` allocate resources without checking if
there were other caps previously allocated.

This fixes a memory leak that happens on daemons that `fork()` and reuse
the `<daemon>_di` (see `ldpd`/`lde`/`ldpe` code).

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2022-12-12 10:39:17 -03:00
Donatas Abraitis
f2b72ef474
Merge pull request #12487 from anlancs/fix/fix-doc-ospf
doc: fix an incomplete command for ospf
2022-12-11 21:38:30 +02:00
Donatas Abraitis
2ad0cb93cd
Merge pull request #12457 from donaldsharp/nexthop_free
bgpd: BGP fails to free the nexthop node
2022-12-11 21:37:27 +02:00
Donatas Abraitis
403e64f834 bgpd: Fix graceful-restart JSON outputs and the crash
Without this patch:

```
donatas-pc# show bgp neighbors graceful-restart json
vtysh: error reading from bgpd: Resource temporarily unavailable (11)Warning: closing connection to bgpd because of an I/O error!
donatas-pc#
```

And, invalid JSON generated when multiple neighbors exist due to json_neighbor
being freed in a loop.

After the patch:

```
donatas-pc# show bgp ipv4 neighbors 192.168.10.124 graceful-restart json
{
  "192.168.10.124":{
    "neighborAddr":"192.168.10.124",
    "localGrMode":"Helper*",
    "remoteGrMode":"Restart",
    "rBit":false,
    "nBit":true,
    "timers":{
      "configuredRestartTimer":120,
      "receivedRestartTimer":120
    },
    "ipv4Unicast":{
      "fBit":true,
      "endOfRibStatus":{
        "endOfRibSend":true,
        "endOfRibSentAfterUpdate":false,
        "endOfRibRecv":true
      },
      "timers":{
        "stalePathTimer":360
      }
    }
  }
}
donatas-pc# show bgp neighbors graceful-restart json
{
  "192.168.10.124":{
    "neighborAddr":"192.168.10.124",
    "localGrMode":"Helper*",
    "remoteGrMode":"Restart",
    "rBit":false,
    "nBit":true,
    "timers":{
      "configuredRestartTimer":120,
      "receivedRestartTimer":120
    },
    "ipv4Unicast":{
      "fBit":true,
      "endOfRibStatus":{
        "endOfRibSend":true,
        "endOfRibSentAfterUpdate":false,
        "endOfRibRecv":true
      },
      "timers":{
        "stalePathTimer":360
      }
    }
  },
  "2a02:4780:abc::2":{
    "neighborAddr":"2a02:4780:abc::2",
    "localGrMode":"Helper*",
    "remoteGrMode":"Restart",
    "rBit":false,
    "nBit":true,
    "timers":{
      "configuredRestartTimer":120,
      "receivedRestartTimer":120
    },
    "ipv4Unicast":{
      "fBit":true,
      "endOfRibStatus":{
        "endOfRibSend":true,
        "endOfRibSentAfterUpdate":false,
        "endOfRibRecv":true
      },
      "timers":{
        "stalePathTimer":360
      }
    },
    "ipv6Unicast":{
      "fBit":true,
      "endOfRibStatus":{
        "endOfRibSend":true,
        "endOfRibSentAfterUpdate":true,
        "endOfRibRecv":true
      },
      "timers":{
        "stalePathTimer":360
      }
    }
  }
}
donatas-pc#
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-12-11 21:31:49 +02:00
Donatas Abraitis
42d1ca394f bgpd: Fix crash for show bgp attribute-info
attr->srv6_vpn might be NULL as well. Let's check both.

Happened after 073801481b.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-12-11 20:41:03 +02:00
Donald Sharp
21b432f79f tests: Add a test to show that BGP does not crash with unnumbered interfaces
This series of events will crash BGP prior to the prior commit:

a) Configure an interfaced based peering
b) Shut the interface the peering is over
c) remove the peering from bgp

Show that this no longer happens

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-12-10 07:40:32 -05:00
Pooja Jagadeesh Doijode
51f3216bee bgpd: BGP fails to free the nexthop node
In case of BGP unnumbered, BGP fails to free the nexthop
node for peer if the interface is shutdown before
unconfiguring/deleting the BGP neighbor.

This is because, when the interface is shutdown,
peer's LL neighbor address will be cleared. Therefore,
during neighbor deletion, since the peer's neighbor
address is not available, BGP will skip freeing the
nexthop node of this peer. This results in a stale
nexthop node that points to a peer that's already
been freed.

Ticket: 3191547
Signed-off-by: Pooja Jagadeesh Doijode <pdoijode@nvidia.com>
2022-12-10 07:40:32 -05:00
anlan_cs
118e4e8cdc doc: fix an incomplete command for ospf
The command of "show ip ospf" is incomplete. But "show ipv6 ospf" is fine.

Just complete it with actual parameters.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
2022-12-10 16:46:40 +08:00
Jafar Al-Gharaibeh
58552d28fa
Merge pull request #12472 from donaldsharp/asic_offload_doc
doc: Clarify asic offload documentation in zebra
2022-12-09 20:21:33 -06:00
Jafar Al-Gharaibeh
b7f08a6fbd
Merge pull request #12482 from donaldsharp/mem_this
Mem this
2022-12-09 20:19:28 -06:00
Donald Sharp
e3f5a669e4
Merge pull request #12462 from opensourcerouting/fix/default_originate_labeled_unicast
bgpd: Labeled unicast with default-originate
2022-12-09 19:44:58 -05:00
Donald Sharp
9528d9a97d
Merge pull request #12483 from opensourcerouting/feature/add_addpath_labeled_more_tests
bgpd: Free memory allocated by info_make() when hitting maximum-prefix
2022-12-09 19:43:07 -05:00
Donald Sharp
1d1103a25c doc: Clarify asic offload documentation in zebra
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-12-09 15:56:14 -05:00
Donatas Abraitis
819e67670c bgpd: Free memory allocated by info_make() when hitting maximum-prefix
```
Direct leak of 112 byte(s) in 1 object(s) allocated from:
    0 0x7feb66337a06 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:153
    1 0x7feb660cbcc3 in qcalloc lib/memory.c:116
    2 0x55cc3cba02d1 in info_make bgpd/bgp_route.c:3831
    3 0x55cc3cbab4f1 in bgp_update bgpd/bgp_route.c:4733
    4 0x55cc3cbb0620 in bgp_nlri_parse_ip bgpd/bgp_route.c:6111
    5 0x55cc3cb79473 in bgp_update_receive bgpd/bgp_packet.c:2020
    6 0x55cc3cb7c34a in bgp_process_packet bgpd/bgp_packet.c:2929
    7 0x7feb6610ecc5 in thread_call lib/thread.c:2006
    8 0x7feb660bfb77 in frr_run lib/libfrr.c:1198
    9 0x55cc3cb17232 in main bgpd/bgp_main.c:520
    10 0x7feb65ae5082 in __libc_start_main ../csu/libc-start.c:308

SUMMARY: AddressSanitizer: 112 byte(s) leaked in 1 allocation(s).
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-12-09 20:07:59 +02:00
Donald Sharp
f88420c3a5
Merge pull request #12477 from opensourcerouting/feature/add_addpath_labeled_more_tests
tests: Add more tests for labeled-unicast and addpath
2022-12-09 13:03:39 -05:00
Donald Sharp
c5a018dea5
Merge pull request #12466 from opensourcerouting/bsd-fixes-20221208
build: FreeBSD fixes
2022-12-09 13:00:39 -05:00
Donatas Abraitis
7c06a1bd85
Merge pull request #12464 from taspelund/vxlan_config_docs
doc: add FRR/Linux configuration examples for EVPN
2022-12-09 19:02:15 +02:00
Donald Sharp
42778d2a3a
Merge pull request #12467 from opensourcerouting/fix/advertised_routes_json_naming
bgpd: Deprecate `bgpStatusCodes` and `bgpOriginCodes`
2022-12-09 11:54:13 -05:00
Donald Sharp
cda0f501fb zebra: Free up routemap name memory on vrf deletion event
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-12-09 09:47:06 -05:00
Donald Sharp
b3faf1aab6 lib: Hide list macros in linklist.c
The LISTNODE_ATTACH|DELETE macros are only used in
linklist.c.  Let's remove temptation from people
to use them.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-12-09 08:38:50 -05:00
Donald Sharp
21c6569d6f ospf6d: Don't allocate json memory in non-json path
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-12-09 08:38:50 -05:00
Donald Sharp
1cc380679e zebra: Actually free all memory associated ctx->u.iptable.interface_name_list
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-12-09 08:38:50 -05:00
Mark Stapp
f29a262d83
Merge pull request #12471 from opensourcerouting/fix/gh_actions_on_forks_forbidden
github: Prevent running actions on forked repositories
2022-12-09 08:34:55 -05:00
Donald Sharp
63e6e11f9f isisd: Fix sadj memory leak
In some cases the sadj was directly dropped.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-12-09 07:44:26 -05:00
Donatas Abraitis
387a5ffe5a tests: Add more tests for labeled-unicast and addpath
Check if we advertise more routes when an additional path comes up, and
if we withdraw if dissapears.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-12-09 14:12:32 +02:00
Donatas Abraitis
c8cfee4e3b
Merge pull request #12470 from donaldsharp/cleanup_topos
tests: ospf_gr_helper tests are slow
2022-12-09 09:20:00 +02:00
Donatas Abraitis
d71f616734
Merge pull request #12473 from donaldsharp/ensure_used
bgpd: Don't always allocate json memory in non-json path
2022-12-09 09:17:45 +02:00
Donald Sharp
5691f760d2 bgpd: Don't always allocate json memory in non-json path
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-12-08 18:22:17 -05:00
Donatas Abraitis
e535be623a github: Prevent running actions on forked repositories
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-12-08 22:54:28 +02:00
Trey Aspelund
433d9566bf doc: add FRR/Linux configuration examples for EVPN
The existing EVPN documentation in bgp.rst does not provide a holistic
configuration, just examples of individual features, and doesn't give
an operator any idea of what a compatible Linux netdev configuration
might look like. This introduces evpn.rst which includes a sample
frr.conf and corresponding Linux interface config (via iproute2) that
an operator can use to setup a basic EVPN topology and model their
interface manager's config from.

This initial version of evpn.rst shows Linux netdev config for
traditional bridges (vlan_filtering=0) and traditional vxlan devices
(single VNI). Later changes to this file will cover the use of
VLAN-aware bridges (vlan_filtering=1), single VXLAN devices
(multi VNI), and eventually bonds (for EVPN-MH).

Eventually the plan is to move the existing EVPN content from bgp.rst
into evpn.rst, but for now let's get some user-facing documentation in
place for interface configs.

Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
2022-12-08 14:34:20 -05:00