Pat Ruddy
fd9f7cacf4
test: add snmp skip test
...
Since SNMP is a pain to install add a check which will be used
in all SNMP tests in future to silently skip SNMP tests if SNMP
has not been installed on the base system.
Signed-off-by: Pat Ruddy <pat@voltanet.io>
2021-01-22 10:12:47 +00:00
Donatas Abraitis
bb144bb897
Merge pull request #7903 from donaldsharp/bgp_8212_doc
...
doc: Update bgp doc for more rfc-8212 talk
2021-01-22 09:24:35 +02:00
Sarita Patra
d5f2046840
bgpd : multiple memory leak fixes in show commands
...
Issue: bgpd got kill due to out of memory, when show bgp
neighbor json and show ip bgp neighbor <ip> routes json
commands executed multiple times in a setup having 320554
routes.
RCA: Heap allocated for bgpd keeps increasing. This is verified
using top command and show memory command.
Memleak Fix-1: show ip bgp route json command
When dumping a large bit of table data via bgp_show_route
and if there is no information to display for a particular
struct bgp_node *` the data allocated via json_object_new_array()
is not freed. This is resolved now.
Memleak Fix-2:
The function bgp_peer_counts() doesn't free the memory allocated for
json_loop when there is No such neighbor or address family. This is
fixed now.
Signed-off-by: Sarita Patra <saritap@vmware.com>
2021-01-21 21:15:23 -08:00
Martin Winter
82b844d8d3
Merge pull request #7765 from gpnaveen/ospf_chaos_test
...
tests : Adding 3 ospf chaos testcases.
2021-01-21 23:59:29 +01:00
Donald Sharp
3fb4be227a
lib: Allow us to catch abort and do some small cleanup
...
When FRR intentionally asserts currently, the assertion
stops program execution and any debug logs currently
in play may just be lost completely.
Attempt to grab the abort and cleanup the log file, maybe we'll have
something useful. New behavior:
zebra: lib/plist.c:562: void trie_install_fn(struct prefix_list_entry *, struct prefix_list_entry **): Assertion `object->next_best == *updptr || !*updptr' failed.
ZEBRA: Received signal 6 at 1611269027 (si_addr 0x7700138569, PC 0x7fdb210cec81); aborting...
ZEBRA: zlog_signal+0xb3 7fdb2140aa73 7ffdd8f67c90 /lib/libfrr.so.0 (mapped at 0x7fdb213af000)
ZEBRA: core_handler+0xd8 7fdb21433e38 7ffdd8f67d90 /lib/libfrr.so.0 (mapped at 0x7fdb213af000)
ZEBRA: funlockfile+0x50 7fdb2126c140 7ffdd8f67f00 /lib/x86_64-linux-gnu/libpthread.so.0 (mapped at 0x7fdb21258000)
ZEBRA: ---- signal ----
ZEBRA: gsignal+0x141 7fdb210cec81 7ffdd8f684b0 /lib/x86_64-linux-gnu/libc.so.6 (mapped at 0x7fdb21093000)
ZEBRA: abort+0x123 7fdb210b8537 7ffdd8f685d0 /lib/x86_64-linux-gnu/libc.so.6 (mapped at 0x7fdb21093000)
ZEBRA: ? 7fdb210b840f 7ffdd8f68700 /lib/x86_64-linux-gnu/libc.so.6 (mapped at 0x7fdb21093000)
ZEBRA: __assert_fail+0x42 7fdb210c7602 7ffdd8f68750 /lib/x86_64-linux-gnu/libc.so.6 (mapped at 0x7fdb21093000)
ZEBRA: trie_install_fn+0x131 7fdb214200c1 7ffdd8f68780 /lib/libfrr.so.0 (mapped at 0x7fdb213af000)
ZEBRA: trie_walk_affected+0x44 7fdb2141fe14 7ffdd8f687a0 /lib/libfrr.so.0 (mapped at 0x7fdb213af000)
ZEBRA: prefix_list_trie_add+0x12f 7fdb2141e8ff 7ffdd8f687e0 /lib/libfrr.so.0 (mapped at 0x7fdb213af000)
ZEBRA: prefix_list_entry_update_finish+0x192 7fdb2141e752 7ffdd8f68830 /lib/libfrr.so.0 (mapped at 0x7fdb213af000)
ZEBRA: lib_prefix_list_entry_prefix_modify+0xa4 7fdb213faea4 7ffdd8f68860 /lib/libfrr.so.0 (mapped at 0x7fdb213af000)
ZEBRA: lib_prefix_list_entry_ipv4_prefix_modify+0xf 7fdb213fa6af 7ffdd8f688c0 /lib/libfrr.so.0 (mapped at 0x7fdb213af000)
ZEBRA: nb_callback_configuration+0x422 7fdb214175c2 7ffdd8f688d0 /lib/libfrr.so.0 (mapped at 0x7fdb213af000)
ZEBRA: nb_candidate_commit_apply+0x66 7fdb21414d86 7ffdd8f68d60 /lib/libfrr.so.0 (mapped at 0x7fdb213af000)
ZEBRA: nb_candidate_commit+0x66 7fdb21415146 7ffdd8f691f0 /lib/libfrr.so.0 (mapped at 0x7fdb213af000)
ZEBRA: nb_cli_classic_commit+0x5f 7fdb2141784f 7ffdd8f69230 /lib/libfrr.so.0 (mapped at 0x7fdb213af000)
ZEBRA: nb_cli_apply_changes+0x4ec 7fdb21417e8c 7ffdd8f6b270 /lib/libfrr.so.0 (mapped at 0x7fdb213af000)
ZEBRA: ip_prefix_list+0x552 7fdb213f7bb2 7ffdd8f6d780 /lib/libfrr.so.0 (mapped at 0x7fdb213af000)
ZEBRA: cmd_execute_command_real+0x14c 7fdb213e554c 7ffdd8f6e0f0 /lib/libfrr.so.0 (mapped at 0x7fdb213af000)
ZEBRA: cmd_execute_command+0x5d 7fdb213e52bd 7ffdd8f6e130 /lib/libfrr.so.0 (mapped at 0x7fdb213af000)
ZEBRA: cmd_execute+0xa1 7fdb213e5651 7ffdd8f6e180 /lib/libfrr.so.0 (mapped at 0x7fdb213af000)
ZEBRA: vty_execute+0x253 7fdb2144b643 7ffdd8f6e1d0 /lib/libfrr.so.0 (mapped at 0x7fdb213af000)
ZEBRA: vtysh_read+0xf9 7fdb214494d9 7ffdd8f70210 /lib/libfrr.so.0 (mapped at 0x7fdb213af000)
ZEBRA: thread_call+0x8f 7fdb214419ef 7ffdd8f70450 /lib/libfrr.so.0 (mapped at 0x7fdb213af000)
ZEBRA: frr_run+0x298 7fdb214091a8 7ffdd8f705d0 /lib/libfrr.so.0 (mapped at 0x7fdb213af000)
ZEBRA: main+0x300 42e760 7ffdd8f70740 /usr/lib/frr/zebra (mapped at 0x400000)
ZEBRA: __libc_start_main+0xea 7fdb210b9d0a 7ffdd8f70820 /lib/x86_64-linux-gnu/libc.so.6 (mapped at 0x7fdb21093000)
ZEBRA: _start+0x2a 42022a 7ffdd8f708f0 /usr/lib/frr/zebra (mapped at 0x400000)
ZEBRA: in thread vtysh_read scheduled from lib/vty.c:2688
core_handler: showing active allocations in memory group libfrr
core_handler: memstats: Buffer : 2 * 24
core_handler: memstats: Host config : 3 * (variably sized)
core_handler: memstats: Command Tokens : 4117 * 72
core_handler: memstats: Command Token Text : 2964 * (variably sized)
core_handler: memstats: Command Token Help : 2964 * (variably sized)
core_handler: memstats: Command Argument : 7 * (variably sized)
core_handler: memstats: Command Argument Name : 1083 * (variably sized)
core_handler: memstats: RCU thread : 2 * 128
core_handler: memstats: FRR POSIX Thread : 4 * (variably sized)
core_handler: memstats: POSIX sync primitives : 4 * (variably sized)
core_handler: memstats: Graph : 25 * 8
core_handler: memstats: Graph Node : 4795 * 32
core_handler: memstats: Hash : 104 * (variably sized)
core_handler: memstats: Hash Bucket : 33272 * 32
core_handler: memstats: Hash Index : 52 * (variably sized)
core_handler: memstats: Interface : 11 * 272
core_handler: memstats: Connected : 28 * 48
core_handler: memstats: Link List : 83 * 40
core_handler: memstats: Link Node : 127 * 24
core_handler: memstats: Temporary memory : 36903 * (variably sized)
core_handler: memstats: Module loading name : 1 * 13
core_handler: memstats: Nexthop : 9 * 136
core_handler: memstats: NetNS Context : 2 * (variably sized)
core_handler: memstats: NetNS Name : 1 * 18
core_handler: memstats: Northbound Node : 640 * 1168
core_handler: memstats: Northbound Configuration : 2 * 16
core_handler: memstats: Northbound Configuration Entry: 32398 * 1032
core_handler: memstats: Prefix List : 1 * 80
core_handler: memstats: Prefix List Str : 1 * 26
core_handler: memstats: Prefix List Entry : 32397 * 128
core_handler: memstats: Prefix List Trie Table : 196 * 4096
core_handler: memstats: Prefix : 28 * 48
core_handler: memstats: Privilege information : 3 * (variably sized)
core_handler: memstats: Stream FIFO : 1 * 64
core_handler: memstats: Route table : 22 * 56
core_handler: memstats: Route node : 54 * (variably sized)
core_handler: memstats: Thread : 25 * 168
core_handler: memstats: Thread master : 12 * (variably sized)
core_handler: memstats: Thread Poll Info : 6 * 8192
core_handler: memstats: Thread stats : 16 * 72
core_handler: memstats: Typed-hash bucket : 15 * (variably sized)
core_handler: memstats: Typed-heap array : 1 * 576
core_handler: memstats: Vector : 9646 * 16
core_handler: memstats: Vector index : 9646 * (variably sized)
core_handler: memstats: VRF : 1 * 200
core_handler: memstats: VTY : 2 * (variably sized)
core_handler: memstats: Work queue : 3 * (variably sized)
core_handler: memstats: Work queue name string : 2 * (variably sized)
core_handler: memstats: YANG module : 6 * 48
core_handler: memstats: log thread-local buffer : 3 * 9752
core_handler: showing active allocations in memory group logging subsystem
core_handler: memstats: log file target : 1 * 88
core_handler: showing active allocations in memory group Label Manager
core_handler: showing active allocations in memory group Table Manager
core_handler: showing active allocations in memory group zebra
core_handler: memstats: Zebra Interface Information : 11 * 488
core_handler: memstats: Router Advertisement Prefix : 2 * 48
core_handler: memstats: Zebra DPlane Provider : 1 * 232
core_handler: memstats: Route Entry : 24 * 88
core_handler: memstats: RIB destination : 20 * 88
core_handler: memstats: Nexthop Group Entry : 9 * 88
core_handler: memstats: Nexthop Group Connected : 9 * 40
core_handler: memstats: Zebra Name Space : 5 * (variably sized)
core_handler: memstats: RIB table info : 4 * 16
core_handler: memstats: ZEBRA VRF : 1 * 4744
core_handler: memstats: MH global info : 1 * 128
2021/01/21 17:43:47 ZEBRA: object->next_best: 0x0 updptr: 0x11b4ea0 *updptr: 0x11b5e10
2021/01/21 17:43:47 ZEBRA: object->next_best: 0x11b62b0 updptr: 0x11b4eb0 *updptr: 0x0
2021/01/21 17:43:47 ZEBRA: object->next_best: 0x0 updptr: 0x11b5818 *updptr: 0x11b7090
2021/01/21 17:43:47 ZEBRA: object->next_best: 0x0 updptr: 0x11b5888 *updptr: 0x0
2021/01/21 17:43:47 ZEBRA: object->next_best: 0x0 updptr: 0x11b5910 *updptr: 0x0
2021/01/21 17:43:47 ZEBRA: object->next_best: 0x0 updptr: 0x11b59a0 *updptr: 0x11b87b0
2021/01/21 17:43:47 ZEBRA: object->next_best: 0x0 updptr: 0x11b7100 *updptr: 0x11b87b0
2021/01/21 17:43:47 ZEBRA: object->next_best: 0x0 updptr: 0x11b75a0 *updptr: 0x11b87b0
2021/01/21 17:43:47 ZEBRA: object->next_best: 0x0 updptr: 0x11b7a40 *updptr: 0x11b87b0
2021/01/21 17:43:47 ZEBRA: object->next_best: 0x0 updptr: 0x11b7ee0 *updptr: 0x11b87b0
2021/01/21 17:43:47 ZEBRA: object->next_best: 0x11b8c50 updptr: 0x11b8380 *updptr: 0x11b8c50
2021/01/21 17:43:47 ZEBRA: object->next_best: 0x11b90f0 updptr: 0x11b8820 *updptr: 0x11b90f0
2021/01/21 17:43:47 ZEBRA: object->next_best: 0x11b9590 updptr: 0x11b8cc0 *updptr: 0x11b9590
2021/01/21 17:43:47 ZEBRA: object->next_best: 0x11b9a30 updptr: 0x11b9160 *updptr: 0x11b9a30
2021/01/21 17:43:47 ZEBRA: object->next_best: 0x11b9ed0 updptr: 0x11b9600 *updptr: 0x11b9ed0
2021/01/21 17:43:47 ZEBRA: object->next_best: 0x11ba370 updptr: 0x11b9aa0 *updptr: 0x11ba370
2021/01/21 17:43:47 ZEBRA: object->next_best: 0x11ba810 updptr: 0x11b9f40 *updptr: 0x11ba810
2021/01/21 17:43:47 ZEBRA: object->next_best: 0x11bacb0 updptr: 0x11ba3e0 *updptr: 0x11bacb0
2021/01/21 17:43:47 ZEBRA: object->next_best: 0x11bb150 updptr: 0x11b4e20 *updptr: 0x0
2021/01/21 17:43:47 ZEBRA: object->next_best: 0x11bb5f0 updptr: 0x11c2560 *updptr: 0x11c1710
fish: Job 2, “sudo /usr/lib/frr/zebra --log s…” terminated by signal SIGABRT (Abort)
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-01-21 17:48:36 -05:00
Donatas Abraitis
aa0f811f22
Merge pull request #7900 from donaldsharp/afi_route_map
...
bgpd: Add afi/safi info to debug processing data
2021-01-21 19:25:58 +02:00
Karen Schoener
6ea2bd40d8
tests: update snmp test infastructure api test_oid_walk
...
Update test_oid_walk to either validate specific oids or
to validate all rows walked.
Signed-off-by: Karen Schoener <karen@voltanet.io>
2021-01-21 11:43:03 -05:00
Donald Sharp
b56f274aa0
doc: Update bgp doc for more rfc-8212 talk
...
The RFC 8212 changes keep being questioned. Update the documentation
a bit more to help the end user figure it out themselves?
At the very least I can just now quote the doc link for this section
when someone asks the question.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-01-21 11:17:17 -05:00
David Schweizer
6bd548aa49
tests: pytest markers in topotest templates
...
Signed-off-by: David Schweizer <dschweizer@opensourcerouting.org>
2021-01-21 17:06:58 +01:00
Donald Sharp
853d21145c
pimd: Prevent crash with igmp only config
...
Issue: #7892 has a startup config where only igmp
interfaces are created and a igmp report comes in.
Effectively we are not creating the regiface device unless
we do a `ip pim`. This is incorrect we should always create
the regiface.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-01-21 10:37:50 -05:00
David Schweizer
309638adb5
tests: pytest marker registrations for all daemons
...
Signed-off-by: David Schweizer <dschweizer@opensourcerouting.org>
2021-01-21 16:24:02 +01:00
David Schweizer
0f84d13839
doc: developer documentation for pytest markers
...
Signed-off-by: David Schweizer <dschweizer@opensourcerouting.org>
2021-01-21 16:22:39 +01:00
Mark Stapp
5a9c0931aa
sharpd: don't send invalid nexthop-groups to zebra
...
Ensure that there are valid (resolved) nexthops, and no
invalid backup nexthops, in nhgs sent to zebra for
installation.
Signed-off-by: Mark Stapp <mjs@voltanet.io>
2021-01-21 10:13:57 -05:00
Mark Stapp
f5b7e50f9a
zebra: use afi_t for route-map address family arg
...
Use afi_t in the route_map_check api
Signed-off-by: Mark Stapp <mjs@voltanet.io>
2021-01-21 10:13:57 -05:00
Donald Sharp
52624d7945
Merge pull request #7668 from ranjanyash54/dev_6
...
ospf6d: Json support added for command "show ipv6 ospf6 database [json]"
2021-01-21 10:00:36 -05:00
Donald Sharp
8cf7ab7539
Merge pull request #7782 from kuldeepkash/multicast_pim_sm_topo2
...
tests: Add new scenarios to test multicast-pim-sm
2021-01-21 09:45:38 -05:00
lynne
3db5abf2d0
tests: Adding test for ISIS Attached-bit
...
Adding test to verify default route is added when attached-bit
receive and send are enabled and not added when feature is disabled.
Signed-off-by: Lynne Morrison <lynne@voltanet.io>
2021-01-21 09:18:18 -05:00
lynne
bb88971e8b
isisd: Fix Attach-bit processing
...
Add documentation for new attach-bit commands.
Signed-off-by: Lynne Morrison <lynne@voltanet.io>
2021-01-21 09:18:18 -05:00
Donald Sharp
11b228cdc4
bgpd: Add afi/safi info to debug processing data
...
When debugging in bgp is turned on for route-map processing
it would be awful nice to know what afi-safi we are working on
for the particular route-map. Especially when using a route-map
across different peers and different afi/safi's
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-01-21 09:14:27 -05:00
Donatas Abraitis
3130cfd742
tests: Test if prefix is not re-advertised downstream with blackhole community
...
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-01-21 16:00:53 +02:00
Donatas Abraitis
10ae708b2e
doc: Automatically set NO_ADVERTISE if BLACKHOLE community received
...
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-01-21 16:00:53 +02:00
Donatas Abraitis
2721dd613f
bgpd: Set NO_ADVERTISE community if blackhole community received
...
rfc7999:
A BGP speaker receiving an announcement tagged with the BLACKHOLE
community SHOULD add the NO_ADVERTISE or NO_EXPORT community as
defined in [RFC1997], or a similar community, to prevent propagation
of the prefix outside the local AS. The community to prevent
propagation SHOULD be chosen according to the operator's routing
policy.
Sent:
```
router bgp 65534
no bgp ebgp-requires-policy
neighbor 192.168.0.2 remote-as 65030
!
address-family ipv4 unicast
redistribute connected
neighbor 192.168.0.2 route-map spine out
exit-address-family
!
!
ip prefix-list self seq 5 permit 192.168.100.1/32
!
route-map spine permit 10
match ip address prefix-list self
set community blackhole
!
```
Received:
```
spine1-debian-9# show ip bgp 192.168.100.1/32
BGP routing table entry for 192.168.100.1/32
Paths: (1 available, best #1 , table default, inform peer to blackhole prefix)
Not advertised to any peer
65534
192.168.0.1 from 192.168.0.1 (192.168.100.1)
Origin incomplete, metric 0, valid, external, best (First path received)
Community: blackhole no-advertise
Last update: Thu Jan 21 12:56:39 2021
```
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-01-21 16:00:53 +02:00
Donatas Abraitis
7dac521ffb
bgpd: Remove community_regexp_delete() function
...
Not used. Commented.
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-01-21 16:00:53 +02:00
Donatas Abraitis
07b37df9b3
lib: List all possible well-known communities in CLI (COMMUNITY_VAL_STR)
...
```
exit1-debian-9(config-route-map)# set community
AA:NN Community number in AA:NN format (where AA and NN are (0-65535)) or local-AS|no-advertise|no-export|internet|graceful-shutdown|accept-own-nexthop|accept-own|route-filter-translated-v4|route-filter-v4|route-filter-translated-v6|route-filter-v6|llgr-stale|no-llgr|blackhole|no-peer or additive
none No community attribute
```
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-01-21 16:00:52 +02:00
nguggarigoud
a3276d2c76
tests: Adding 3 ospf chaos testcases.
...
This script involves Restart ospfd,
restart frr with ospf enabled,
staticd with redistribution inside ospf is enabled
Signed-off-by: nguggarigoud <nguggarigoud@vmware.com>
2021-01-21 04:55:58 +05:30
Donald Sharp
1546ae8c26
Merge pull request #7891 from opensourcerouting/fr-bfd-prof
...
tools: fix frr-reload BFD profile support
2021-01-20 16:39:02 -05:00
Rafael Zalamena
c42dfbb505
tools: fix frr-reload BFD profile support
...
Fix the handling of multiple BFD profiles by adding the appropriated
code to push/pop contexts inside BFD configuration node.
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2021-01-20 11:42:59 -03:00
lynne
f3abc412a5
isisd: Fix Attach-bit processing
...
The purpose of the Attach-bit is to accomplish inter-area routing. In other
venders, the Attached-bit is automatically set when a router is configured
as a L1|L2 router and has two adjacencies. When a L1 router receives a LSP
with the Attached-bit set it is supposed to create a default route pointing
toward the neighbor to provide a default path out of the L1 area.
ISIS implementation has been fixed to support the above definition:
Setting the Attach-bit is now the default behavior and we allow the user to
turn it off.
We will only set the Default Attach-bit when creating a L1 LSP, if we are
a L1|L2 router and have a L2 adjacency up.
When a L1 router receives a LSP with the Attach-bit set, we will create a
default route pointing to the L1|L2 router as the nexthop.
The default route will be removed if the LSP is received with the Attach-bit
cleared.
Signed-off-by: Lynne Morrison <lynne@voltanet.io>
2021-01-20 09:24:35 -05:00
Donatas Abraitis
44ba9e779d
Merge pull request #7832 from pjdruddy/snmp-test-infra
...
Snmp test infra
2021-01-20 09:15:14 +02:00
Donald Sharp
4c1eddb309
Merge pull request #7436 from ckishimo/cosmetic
...
ospfd: cosmetic function names in debug
2021-01-19 19:51:18 -05:00
Donald Sharp
e9d9ea180c
Merge pull request #7550 from volta-networks/fix_bfd_isis
...
isisd: if IS-IS is configured for v6, prefer v6 bfd sessions
2021-01-19 19:50:24 -05:00
Donald Sharp
03cc969afe
Merge pull request #7856 from patrasar/2555301
...
Fix leak in pim_jp_agg_single_upstream_send()
2021-01-19 14:48:06 -05:00
Mark Stapp
bdbef5edc6
Merge pull request #7233 from donaldsharp/route_map_optimizations
...
Route map optimizations
2021-01-19 13:20:02 -05:00
Mark Stapp
bf3ff67af2
Merge pull request #7888 from donaldsharp/1_19_coverity
...
lib: Fix up str2prefix usage in lua code
2021-01-19 12:42:49 -05:00
Olivier Dugeon
8b79de507d
Merge pull request #7655 from ckishimo/area
...
ospfd: fix area removal at interface level
2021-01-19 17:29:39 +01:00
Patrick Ruddy
f87fe77aeb
Merge pull request #7723 from AnuradhaKaruppiah/fdb-ext-attrs
...
zebra: move from NDA_NOTIFY to NDA_FDB_EXT_ATTRS
2021-01-19 16:27:54 +00:00
Russ White
619a77da10
Merge pull request #7781 from chiragshah6/evpn_dev
...
[yang,bgpd] convert neighbor prefix-list and route-map to transactional clis
2021-01-19 11:26:34 -05:00
GalaxyGorilla
94dd5670d0
ospfd: Fix P2MP handling when TI-LFA is enabled
...
Signed-off-by: GalaxyGorilla <sascha@netdef.org>
2021-01-19 15:32:13 +00:00
GalaxyGorilla
f026b24ed9
ospfd: Fix backup path RIB handling
...
* Inject backup paths with proper flags
* Add outgoing label on top of the backup label stack
* Ignore explicit/implicit outgoing labels
* Adjust tests
Signed-off-by: GalaxyGorilla <sascha@netdef.org>
2021-01-19 15:32:13 +00:00
GalaxyGorilla
7815c834c7
ospfd: Minor memory fixes
...
Signed-off-by: GalaxyGorilla <sascha@netdef.org>
2021-01-19 15:32:13 +00:00
GalaxyGorilla
be4d276c89
tests: Add topotest for OSPF SR TI-LFA
...
Signed-off-by: GalaxyGorilla <sascha@netdef.org>
2021-01-19 15:32:13 +00:00
GalaxyGorilla
a4553b5bdb
ospfd: Add 'debug ospf ti-lfa' command
...
Signed-off-by: GalaxyGorilla <sascha@netdef.org>
2021-01-19 15:32:13 +00:00
GalaxyGorilla
3e94c9a4a3
doc: Add TI-LFA developer docs
...
Signed-off-by: GalaxyGorilla <sascha@netdef.org>
2021-01-19 15:32:13 +00:00
GalaxyGorilla
bdcfd34a41
ospfd: Add support for non-adjacent TI-LFA P/Q spaces
...
Signed-off-by: GalaxyGorilla <sascha@netdef.org>
2021-01-19 15:32:13 +00:00
GalaxyGorilla
9d3444f8d3
ospfd: TI-LFA backup path enhancements
...
Use a pre-built backup path from the post-convergence SPF tree to
make the overall calculation deterministic. This is also a
requirement for non-adjacent P/Q spaces since it's way easier
to organize multiple P and Q spaces using a 'fixed' backup path.
Signed-off-by: GalaxyGorilla <sascha@netdef.org>
2021-01-19 15:32:13 +00:00
GalaxyGorilla
669247b868
ospfd: enhance TI-LFA memory management
...
Signed-off-by: GalaxyGorilla <sascha@netdef.org>
2021-01-19 15:32:13 +00:00
GalaxyGorilla
66dc21bb23
tests: Integrate unit tests for TI-LFA
...
Signed-off-by: GalaxyGorilla <sascha@netdef.org>
2021-01-19 15:32:13 +00:00
GalaxyGorilla
184b834b6c
tests: Add verbosity flag to OSPF TI-LFA unit tests
...
Signed-off-by: GalaxyGorilla <sascha@netdef.org>
2021-01-19 15:32:13 +00:00
GalaxyGorilla
4ea5353bfd
ospfd: Add TI-LFA Prefix-SID Protection
...
Signed-off-by: GalaxyGorilla <sascha@netdef.org>
2021-01-19 15:32:13 +00:00
GalaxyGorilla
385a1e07b1
ospfd: Add support for TI-LFA node protection
...
Signed-off-by: GalaxyGorilla <sascha@netdef.org>
2021-01-19 15:32:13 +00:00