]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
3 years agoisisd: Remove #if 0 code
Donald Sharp [Thu, 28 Jan 2021 18:45:44 +0000 (13:45 -0500)]
isisd: Remove #if 0 code

Looks like the #if 0 code in this place was for ESI support
on solaris.  We do not support solaris anymore.  So let's
remove with prejudice.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agoripngd: Remove #if 0 code
Donald Sharp [Thu, 28 Jan 2021 18:43:46 +0000 (13:43 -0500)]
ripngd: Remove #if 0 code

Remove some more dead code.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agoripd: #if 0 we know what you are up to.
Donald Sharp [Thu, 28 Jan 2021 18:40:05 +0000 (13:40 -0500)]
ripd: #if 0 we know what you are up to.

rip, ripped out the #if 0 code.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agopimd: Remove #if 0 code from system
Donald Sharp [Thu, 28 Jan 2021 18:37:53 +0000 (13:37 -0500)]
pimd: Remove #if 0 code from system

Old dead code.
Like a log
jamming your build system

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agoospf6d: Remove #if 0 code that has not been used in a long time
Donald Sharp [Thu, 28 Jan 2021 18:34:55 +0000 (13:34 -0500)]
ospf6d: Remove #if 0 code that has not been used in a long time

The earliest that some of this code is 2018.  There is not
much point in keeping this code around.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agoospfd: Remove #if 0 code
Donald Sharp [Thu, 28 Jan 2021 18:21:12 +0000 (13:21 -0500)]
ospfd: Remove #if 0 code

The #if 0 code in ospfd, has not been compiled since at least
2012.  If we are at least 9 years old at this point with no effort
to use or save, we should just get rid of it.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agoMerge pull request #7933 from deastoe/show-route-header-sep
Donald Sharp [Thu, 28 Jan 2021 14:55:52 +0000 (09:55 -0500)]
Merge pull request #7933 from deastoe/show-route-header-sep

lib: restore blank line after show route header

3 years agoMerge pull request #7952 from kuldeepkash/documentation
Donatas Abraitis [Thu, 28 Jan 2021 08:34:55 +0000 (10:34 +0200)]
Merge pull request #7952 from kuldeepkash/documentation

doc: topotests-markers typo error

3 years agoMerge pull request #7433 from sudhanshukumar22/bgp-aggregate-member-issue
Donatas Abraitis [Thu, 28 Jan 2021 08:34:22 +0000 (10:34 +0200)]
Merge pull request #7433 from sudhanshukumar22/bgp-aggregate-member-issue

bgpd:'bgpd' core generated on Leaf device with system-test config

3 years ago*: Update version string
Donald Sharp [Wed, 27 Jan 2021 20:32:52 +0000 (15:32 -0500)]
*: Update version string

Update the version string to reflect work towards next release

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agodoc: topotests-markers typo error
kuldeepkash [Wed, 27 Jan 2021 19:45:31 +0000 (19:45 +0000)]
doc: topotests-markers typo error

Fixed topotests-markers typo error

Signed-off-by: kuldeepkash <kashyapk@vmware.com>
3 years agoMerge pull request #7936 from pjdruddy/l3vpn-lableled-nh-check
Donald Sharp [Wed, 27 Jan 2021 18:00:29 +0000 (13:00 -0500)]
Merge pull request #7936 from pjdruddy/l3vpn-lableled-nh-check

bgpd: make sure nh is valid for MPLS vpn routes

3 years agobgpd: make sure nh is valid for MPLS vpn routes
Pat Ruddy [Thu, 21 Jan 2021 14:16:26 +0000 (14:16 +0000)]
bgpd: make sure nh is valid for MPLS vpn routes

If we are using a nexthop for a MPLS VPN route make sure the
nexthop is over a labeled path. This new check mirrors the one
in validate_paths (where routes are enabled when a nexthop
becomes reachable). The check is introduced to the code path
where routes are added and the nexthop is looked up.

Signed-off-by: Pat Ruddy <pat@voltanet.io>
3 years agolib: restore blank line after show route header
Duncan Eastoe [Tue, 26 Jan 2021 12:19:05 +0000 (12:19 +0000)]
lib: restore blank line after show route header

In 5a3cf85391b3665b5344d577e98aaa29a1927818 the trailing empty line
following the "show ip(v6) route" header was removed. Restore it for
consistency.

Signed-off-by: Duncan Eastoe <duncan.eastoe@att.com>
3 years agotests: more robust show route header stripping
Duncan Eastoe [Tue, 26 Jan 2021 16:59:48 +0000 (16:59 +0000)]
tests: more robust show route header stripping

In test_converge_protocols() use sed to match the "show ip(v6) route"
header and strip it, rather than using tail which requires hardcoding
the expected length of the header (which is subject to change).

Signed-off-by: Duncan Eastoe <duncan.eastoe@att.com>
3 years agoMerge pull request #7935 from donaldsharp/ospf6_use_after_free
Mark Stapp [Tue, 26 Jan 2021 21:04:24 +0000 (16:04 -0500)]
Merge pull request #7935 from donaldsharp/ospf6_use_after_free

ospf6d: Track wait_timer and disable when needed

3 years agoMerge pull request #7925 from opensourcerouting/watchfrr-netns
Donald Sharp [Tue, 26 Jan 2021 20:31:04 +0000 (15:31 -0500)]
Merge pull request #7925 from opensourcerouting/watchfrr-netns

watchfrr: fix crash on missing optional argument

3 years agoMerge pull request #7938 from mjstapp/fix_netlink_debugs
Donald Sharp [Tue, 26 Jan 2021 20:30:41 +0000 (15:30 -0500)]
Merge pull request #7938 from mjstapp/fix_netlink_debugs

zebra: debug messages go under conditionals

3 years agoMerge pull request #7368 from eololab/add-pidfile-in-frr.service
Donald Sharp [Tue, 26 Jan 2021 18:29:26 +0000 (13:29 -0500)]
Merge pull request #7368 from eololab/add-pidfile-in-frr.service

tools: add PIDFile option in frr.service

3 years agozebra: debug messages go under conditionals
Mark Stapp [Tue, 26 Jan 2021 17:29:39 +0000 (12:29 -0500)]
zebra: debug messages go under conditionals

Move a couple of unprotected debug calls in the netlink code
under DEBUG_KERNEL.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
3 years agoMerge pull request #7635 from AnuradhaKaruppiah/ead-evi-knobs
Patrick Ruddy [Tue, 26 Jan 2021 17:14:57 +0000 (17:14 +0000)]
Merge pull request #7635 from AnuradhaKaruppiah/ead-evi-knobs

bgpd: add config knobs to disable rx and tx of ead-per-evi routes

3 years agowatchfrr: fix SA warning
Rafael Zalamena [Tue, 26 Jan 2021 16:58:34 +0000 (13:58 -0300)]
watchfrr: fix SA warning

`valid_command` now causes static analyzer complaints since it no
longer assumes `optarg` is non-NULL. If this was the case then
`valid_command` would return `false` (or 0) because it would mean the
string is empty and doesn't contain the '%s' it expects.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
3 years agoMerge pull request #7934 from donaldsharp/valgrind_cleanups
Mark Stapp [Tue, 26 Jan 2021 15:55:35 +0000 (10:55 -0500)]
Merge pull request #7934 from donaldsharp/valgrind_cleanups

pimd: Prevent use after free

3 years agoospf6d: Track wait_timer and disable when needed
Donald Sharp [Tue, 26 Jan 2021 13:10:49 +0000 (08:10 -0500)]
ospf6d: Track wait_timer and disable when needed

When removing ospfv3 from an interface that has been previously
put into wait state, there is a possible use after free of the
oi because the wait_timer could have been started for the interface.
This is because the wait_timer was not tracked by the interface
and we just created a thread for it without storing the thread
pointer.

Issue: #7932
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agopimd: Prevent use after free
Donald Sharp [Tue, 26 Jan 2021 12:48:40 +0000 (07:48 -0500)]
pimd: Prevent use after free

Valgrind is reporting this:
==22220== Invalid read of size 4
==22220==    at 0x11DC2B: pim_if_delete (pim_iface.c:215)
==22220==    by 0x11DD71: pim_if_terminate (pim_iface.c:76)
==22220==    by 0x128E03: pim_instance_terminate (pim_instance.c:66)
==22220==    by 0x128E03: pim_vrf_delete (pim_instance.c:159)
==22220==    by 0x48E0010: vrf_delete (vrf.c:251)
==22220==    by 0x48E0010: vrf_delete (vrf.c:225)
==22220==    by 0x48E02FE: vrf_terminate (vrf.c:551)
==22220==    by 0x149495: pim_terminate (pimd.c:142)
==22220==    by 0x13C61B: pim_sigint (pim_signals.c:44)
==22220==    by 0x48CF862: quagga_sigevent_process (sigevent.c:103)
==22220==    by 0x48DD324: thread_fetch (thread.c:1404)
==22220==    by 0x48A926A: frr_run (libfrr.c:1122)
==22220==    by 0x11B85E: main (pim_main.c:167)
==22220==  Address 0x5912160 is 1,200 bytes inside a block of size 1,624 free'd
==22220==    at 0x48369AB: free (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==22220==    by 0x128E52: pim_instance_terminate (pim_instance.c:74)
==22220==    by 0x128E52: pim_vrf_delete (pim_instance.c:159)
==22220==    by 0x48E0010: vrf_delete (vrf.c:251)
==22220==    by 0x48E0010: vrf_delete (vrf.c:225)
==22220==    by 0x48F1353: zclient_vrf_delete (zclient.c:1896)
==22220==    by 0x48F1353: zclient_read (zclient.c:3511)
==22220==    by 0x48DD826: thread_call (thread.c:1585)
==22220==    by 0x48A925F: frr_run (libfrr.c:1123)
==22220==    by 0x11B85E: main (pim_main.c:167)
==22220==  Block was alloc'd at
==22220==    at 0x4837B65: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==22220==    by 0x48ADA4F: qcalloc (memory.c:110)
==22220==    by 0x128B9B: pim_instance_init (pim_instance.c:82)
==22220==    by 0x128B9B: pim_vrf_new (pim_instance.c:142)
==22220==    by 0x48E0C5A: vrf_get (vrf.c:217)
==22220==    by 0x48F13C9: zclient_vrf_add (zclient.c:1863)
==22220==    by 0x48F13C9: zclient_read (zclient.c:3508)
==22220==    by 0x48DD826: thread_call (thread.c:1585)
==22220==    by 0x48A925F: frr_run (libfrr.c:1123)
==22220==    by 0x11B85E: main (pim_main.c:167)

On pim vrf deletion, ensure that the vrf->info pointers are NULL as well
as the free'd pim pointer for ->vrf is NULL as well.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agoMerge pull request #7676 from ton31337/fix/show_ip_bgp_summary_description_truncate
Russ White [Tue, 26 Jan 2021 12:43:45 +0000 (07:43 -0500)]
Merge pull request #7676 from ton31337/fix/show_ip_bgp_summary_description_truncate

bgpd: Strip neighbors's description to 20 chars in show bgp summary

3 years agoMerge pull request #7898 from donaldsharp/pim_igmp_crash
Russ White [Tue, 26 Jan 2021 12:39:58 +0000 (07:39 -0500)]
Merge pull request #7898 from donaldsharp/pim_igmp_crash

pimd: Prevent crash with igmp only config

3 years agoMerge pull request #7901 from donaldsharp/pim_marking
Russ White [Tue, 26 Jan 2021 12:39:02 +0000 (07:39 -0500)]
Merge pull request #7901 from donaldsharp/pim_marking

tests: Fix to use global variable for pim marking

3 years agoMerge pull request #7928 from volta-networks/fix_simple_snmp_add_checks
Russ White [Tue, 26 Jan 2021 12:34:11 +0000 (07:34 -0500)]
Merge pull request #7928 from volta-networks/fix_simple_snmp_add_checks

tests: update simple_snmp_test to check for memory leaks, router failure

3 years agoMerge pull request #7127 from opensourcerouting/ospf_ti-lfa
Russ White [Tue, 26 Jan 2021 12:32:04 +0000 (07:32 -0500)]
Merge pull request #7127 from opensourcerouting/ospf_ti-lfa

ospfd: add support for Topology Independent LFA (TI-LFA)

3 years agoMerge pull request #7843 from volta-networks/feat_isis_attach_bit
Russ White [Tue, 26 Jan 2021 12:28:20 +0000 (07:28 -0500)]
Merge pull request #7843 from volta-networks/feat_isis_attach_bit

isisd: Fix Attach-bit processing

3 years agoMerge pull request #7923 from donaldsharp/gcc10-cleanups
Mark Stapp [Mon, 25 Jan 2021 17:30:52 +0000 (12:30 -0500)]
Merge pull request #7923 from donaldsharp/gcc10-cleanups

Gcc10 cleanups

3 years agoMerge pull request #7905 from mjstapp/fix_zapi_nhg
Donald Sharp [Mon, 25 Jan 2021 15:29:04 +0000 (10:29 -0500)]
Merge pull request #7905 from mjstapp/fix_zapi_nhg

zebra, sharpd: async results for NHGs

3 years agotests: update simple_snmp_test to check for memory leaks, router failure
Karen Schoener [Fri, 22 Jan 2021 15:51:36 +0000 (10:51 -0500)]
tests: update simple_snmp_test to check for memory leaks, router failure

Signed-off-by: Karen Schoener <karen@voltanet.io>
3 years agolib: Wrapper a function to make gcc-10 happy
Donald Sharp [Sun, 24 Jan 2021 13:00:43 +0000 (08:00 -0500)]
lib: Wrapper a function to make gcc-10 happy

gcc-10 is complaining:

lib/frrscript.c:42:14: error: cast between incompatible function types from ‘const char * (*)(lua_State *, const char *)’ to ‘void (*)(lua_State *, const void *)’ [-Werror=cast-function-type]
   42 |   .encoder = (encoder_func)lua_pushstring,
      |              ^

Wrapper it to make it happy.  Not sure what else to do.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agolib: Prevent possible memory overwrite
Donald Sharp [Sun, 24 Jan 2021 12:52:55 +0000 (07:52 -0500)]
lib: Prevent possible memory overwrite

fname is MAXPATHLEN and scriptdir and fs->name are less then
MAXPATHLEN but the combination of those two + the `.lua` are
greater than the MAXPATHLEN.  Just give us more room to prevent
a coding boo boo.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agoospf6d: use a new json_object per loop iteration
Donald Sharp [Sun, 24 Jan 2021 12:48:22 +0000 (07:48 -0500)]
ospf6d: use a new json_object per loop iteration

When redistributing multiple route types into ospfv3
the code must create a new array per route type into
the the json code.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agoMerge pull request #7922 from ton31337/fix/bgpd_blackhole_community_ibgp
Donald Sharp [Mon, 25 Jan 2021 12:22:39 +0000 (07:22 -0500)]
Merge pull request #7922 from ton31337/fix/bgpd_blackhole_community_ibgp

bgpd: Advertise BLACKHOLE community tagged prefixes to iBGP peers

3 years agowatchfrr: fix crash on missing optional argument
Rafael Zalamena [Mon, 25 Jan 2021 11:33:01 +0000 (08:33 -0300)]
watchfrr: fix crash on missing optional argument

Fix `netns` command line handling for missing argument (it's optional).

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
3 years agobgpd: Assert that community_str2com("no-export") always returns non-NULL
Donatas Abraitis [Mon, 25 Jan 2021 07:51:22 +0000 (09:51 +0200)]
bgpd: Assert that community_str2com("no-export") always returns non-NULL

community_str2com("no-export"); returns ALWAYS non-NULL.

If NULL returned here, we really have a bigger problems in the call path.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years agotests: Check if BLACKHOLE community prefixes are visible inside local AS
Donatas Abraitis [Sun, 24 Jan 2021 08:59:27 +0000 (10:59 +0200)]
tests: Check if BLACKHOLE community prefixes are visible inside local AS

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years agobgpd: Set no-export community for blackhole tagged prefixes
Donatas Abraitis [Sun, 24 Jan 2021 08:54:50 +0000 (10:54 +0200)]
bgpd: Set no-export community for blackhole tagged prefixes

RFC says to prevent propagation of the prefix outside the local AS.

So, let's use NO_EXPORT.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years agobgpd: Log prefix when community filter fails
Donatas Abraitis [Sun, 24 Jan 2021 08:48:41 +0000 (10:48 +0200)]
bgpd: Log prefix when community filter fails

This is needed when NO_ADVERTISE or NO_EXPORT is handled for outgoing
updates.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years agoMerge pull request #7890 from wesleycoakley/docker-fixups
Donatas Abraitis [Sat, 23 Jan 2021 14:41:31 +0000 (16:41 +0200)]
Merge pull request #7890 from wesleycoakley/docker-fixups

docker: builder fixups

3 years agozebra: send async nhg update results
Mark Stapp [Thu, 21 Jan 2021 15:12:05 +0000 (10:12 -0500)]
zebra: send async nhg update results

Send the results of daemons' nhg updates asynchronously,
after the update has actually completed. Capture additional
info about the source daemon in order to locate the correct
zapi session. Simplify the result types considered by the
zebra_nhg module.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
3 years agotests: Fix to use global variable for pim marking
Donald Sharp [Thu, 21 Jan 2021 15:30:57 +0000 (10:30 -0500)]
tests: Fix to use global variable for pim marking

Use the preferred methodology of marking
for pim tests and update new pim tests with
appropriate mark

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agoMerge pull request #7911 from opensourcerouting/topotest-marker2
Donald Sharp [Fri, 22 Jan 2021 20:50:32 +0000 (15:50 -0500)]
Merge pull request #7911 from opensourcerouting/topotest-marker2

doc: fixed confusing examples in topotest marker doc

3 years agoMerge pull request #7906 from donaldsharp/sig_abrt
Mark Stapp [Fri, 22 Jan 2021 20:33:27 +0000 (15:33 -0500)]
Merge pull request #7906 from donaldsharp/sig_abrt

lib: Allow us to catch abort and do some small cleanup

3 years agodoc: fixed confusing statements in topotest marker doc
David Schweizer [Fri, 22 Jan 2021 14:14:18 +0000 (15:14 +0100)]
doc: fixed confusing statements in topotest marker doc

Signed-off-by: David Schweizer <dschweizer@opensourcerouting.org>
3 years agoMerge pull request #7899 from ton31337/fix/bgpd_blackhole_community
Donald Sharp [Fri, 22 Jan 2021 13:36:27 +0000 (08:36 -0500)]
Merge pull request #7899 from ton31337/fix/bgpd_blackhole_community

bgpd: Massage Blackhole community

3 years agoMerge pull request #7904 from volta-networks/fix_test_oid_walk
Donald Sharp [Fri, 22 Jan 2021 13:32:39 +0000 (08:32 -0500)]
Merge pull request #7904 from volta-networks/fix_test_oid_walk

tests: update snmp test infastructure api test_oid_walk

3 years agoMerge pull request #7909 from pjdruddy/snmp-skip-test
Donald Sharp [Fri, 22 Jan 2021 13:23:56 +0000 (08:23 -0500)]
Merge pull request #7909 from pjdruddy/snmp-skip-test

test: add snmp skip test

3 years agoMerge pull request #7902 from opensourcerouting/topotest-marker
Donald Sharp [Fri, 22 Jan 2021 13:23:02 +0000 (08:23 -0500)]
Merge pull request #7902 from opensourcerouting/topotest-marker

tests: Standardized Topotest PyTest Markers

3 years agoMerge pull request #7854 from patrasar/2606829
Mark Stapp [Fri, 22 Jan 2021 13:21:27 +0000 (08:21 -0500)]
Merge pull request #7854 from patrasar/2606829

bgpd : multiple memory leak fixes in show commands

3 years agodocker: centos 7, 8 yang bump and repo fixes
Wesley Coakley [Wed, 20 Jan 2021 05:49:37 +0000 (00:49 -0500)]
docker: centos 7, 8 yang bump and repo fixes

Bump libyang version in centos containers to 1.0.184 and (1) change
"PowerTools" repository to "powertools" to accomodate CentOS Stream
changes

(1) https://bugs.centos.org/view.php?id=17920

Signed-off-by: Wesley Coakley <wcoakley@nvidia.com>
3 years agodocker: prefer alpine:latest for building
Wesley Coakley [Wed, 20 Jan 2021 03:58:31 +0000 (22:58 -0500)]
docker: prefer alpine:latest for building

Building with alpine:edge caused some weirdness with our build
scripts, switching to the stable branch seems to have aleviated this.

We can also ditch the "edge" repositories as the main and community
repositories provide all packages we need

Signed-off-by: Wesley Coakley <wcoakley@nvidia.com>
3 years agotest: add snmp skip test
Pat Ruddy [Fri, 22 Jan 2021 10:11:22 +0000 (10:11 +0000)]
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>
3 years agoMerge pull request #7903 from donaldsharp/bgp_8212_doc
Donatas Abraitis [Fri, 22 Jan 2021 07:24:35 +0000 (09:24 +0200)]
Merge pull request #7903 from donaldsharp/bgp_8212_doc

doc: Update bgp doc for more rfc-8212 talk

3 years agobgpd : multiple memory leak fixes in show commands
Sarita Patra [Tue, 12 Jan 2021 10:46:35 +0000 (02:46 -0800)]
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>
3 years agoMerge pull request #7765 from gpnaveen/ospf_chaos_test
Martin Winter [Thu, 21 Jan 2021 22:59:29 +0000 (23:59 +0100)]
Merge pull request #7765 from gpnaveen/ospf_chaos_test

tests : Adding 3 ospf chaos testcases.

3 years agolib: Allow us to catch abort and do some small cleanup
Donald Sharp [Thu, 21 Jan 2021 22:45:10 +0000 (17:45 -0500)]
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>
3 years agoMerge pull request #7900 from donaldsharp/afi_route_map
Donatas Abraitis [Thu, 21 Jan 2021 17:25:58 +0000 (19:25 +0200)]
Merge pull request #7900 from donaldsharp/afi_route_map

bgpd: Add afi/safi info to debug processing data

3 years agotests: update snmp test infastructure api test_oid_walk
Karen Schoener [Thu, 21 Jan 2021 16:35:11 +0000 (11:35 -0500)]
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>
3 years agodoc: Update bgp doc for more rfc-8212 talk
Donald Sharp [Thu, 21 Jan 2021 16:17:17 +0000 (11:17 -0500)]
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>
3 years agotests: pytest markers in topotest templates
David Schweizer [Thu, 21 Jan 2021 16:06:58 +0000 (17:06 +0100)]
tests: pytest markers in topotest templates

Signed-off-by: David Schweizer <dschweizer@opensourcerouting.org>
3 years agopimd: Prevent crash with igmp only config
Donald Sharp [Thu, 21 Jan 2021 12:28:19 +0000 (07:28 -0500)]
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>
3 years agotests: pytest marker registrations for all daemons
David Schweizer [Thu, 21 Jan 2021 15:24:02 +0000 (16:24 +0100)]
tests: pytest marker registrations for all daemons

Signed-off-by: David Schweizer <dschweizer@opensourcerouting.org>
3 years agodoc: developer documentation for pytest markers
David Schweizer [Thu, 21 Jan 2021 15:22:39 +0000 (16:22 +0100)]
doc: developer documentation for pytest markers

Signed-off-by: David Schweizer <dschweizer@opensourcerouting.org>
3 years agosharpd: don't send invalid nexthop-groups to zebra
Mark Stapp [Wed, 20 Jan 2021 21:00:45 +0000 (16:00 -0500)]
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>
3 years agozebra: use afi_t for route-map address family arg
Mark Stapp [Mon, 11 Jan 2021 18:53:42 +0000 (13:53 -0500)]
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>
3 years agoMerge pull request #7668 from ranjanyash54/dev_6
Donald Sharp [Thu, 21 Jan 2021 15:00:36 +0000 (10:00 -0500)]
Merge pull request #7668 from ranjanyash54/dev_6

ospf6d: Json support added for command "show ipv6 ospf6 database [json]"

3 years agoMerge pull request #7782 from kuldeepkash/multicast_pim_sm_topo2
Donald Sharp [Thu, 21 Jan 2021 14:45:38 +0000 (09:45 -0500)]
Merge pull request #7782 from kuldeepkash/multicast_pim_sm_topo2

tests: Add new scenarios to test multicast-pim-sm

3 years agotests: Adding test for ISIS Attached-bit
lynne [Thu, 14 Jan 2021 00:50:27 +0000 (19:50 -0500)]
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>
3 years agoisisd: Fix Attach-bit processing
lynne [Tue, 12 Jan 2021 15:57:44 +0000 (10:57 -0500)]
isisd: Fix Attach-bit processing

Add documentation for new attach-bit commands.

Signed-off-by: Lynne Morrison <lynne@voltanet.io>
3 years agobgpd: Add afi/safi info to debug processing data
Donald Sharp [Thu, 21 Jan 2021 14:14:27 +0000 (09:14 -0500)]
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>
3 years agotests: Test if prefix is not re-advertised downstream with blackhole community
Donatas Abraitis [Thu, 21 Jan 2021 13:25:04 +0000 (15:25 +0200)]
tests: Test if prefix is not re-advertised downstream with blackhole community

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years agodoc: Automatically set NO_ADVERTISE if BLACKHOLE community received
Donatas Abraitis [Thu, 21 Jan 2021 13:15:26 +0000 (15:15 +0200)]
doc: Automatically set NO_ADVERTISE if BLACKHOLE community received

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years agobgpd: Set NO_ADVERTISE community if blackhole community received
Donatas Abraitis [Thu, 21 Jan 2021 13:03:40 +0000 (15:03 +0200)]
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>
3 years agobgpd: Remove community_regexp_delete() function
Donatas Abraitis [Thu, 21 Jan 2021 13:02:41 +0000 (15:02 +0200)]
bgpd: Remove community_regexp_delete() function

Not used. Commented.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years agolib: List all possible well-known communities in CLI (COMMUNITY_VAL_STR)
Donatas Abraitis [Thu, 21 Jan 2021 13:00:26 +0000 (15:00 +0200)]
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>
3 years agotests: Adding 3 ospf chaos testcases.
nguggarigoud [Fri, 18 Dec 2020 04:31:38 +0000 (10:01 +0530)]
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>
3 years agoMerge pull request #7891 from opensourcerouting/fr-bfd-prof
Donald Sharp [Wed, 20 Jan 2021 21:39:02 +0000 (16:39 -0500)]
Merge pull request #7891 from opensourcerouting/fr-bfd-prof

tools: fix frr-reload BFD profile support

3 years agotools: fix frr-reload BFD profile support
Rafael Zalamena [Tue, 19 Jan 2021 11:49:23 +0000 (08:49 -0300)]
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>
3 years agoisisd: Fix Attach-bit processing
lynne [Thu, 24 Dec 2020 18:29:42 +0000 (13:29 -0500)]
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>
3 years agoMerge pull request #7832 from pjdruddy/snmp-test-infra
Donatas Abraitis [Wed, 20 Jan 2021 07:15:14 +0000 (09:15 +0200)]
Merge pull request #7832 from pjdruddy/snmp-test-infra

Snmp test infra

3 years agoMerge pull request #7436 from ckishimo/cosmetic
Donald Sharp [Wed, 20 Jan 2021 00:51:18 +0000 (19:51 -0500)]
Merge pull request #7436 from ckishimo/cosmetic

ospfd: cosmetic function names in debug

3 years agoMerge pull request #7550 from volta-networks/fix_bfd_isis
Donald Sharp [Wed, 20 Jan 2021 00:50:24 +0000 (19:50 -0500)]
Merge pull request #7550 from volta-networks/fix_bfd_isis

isisd: if IS-IS is configured for v6, prefer v6 bfd sessions

3 years agoMerge pull request #7856 from patrasar/2555301
Donald Sharp [Tue, 19 Jan 2021 19:48:06 +0000 (14:48 -0500)]
Merge pull request #7856 from patrasar/2555301

Fix leak in pim_jp_agg_single_upstream_send()

3 years agoMerge pull request #7233 from donaldsharp/route_map_optimizations
Mark Stapp [Tue, 19 Jan 2021 18:20:02 +0000 (13:20 -0500)]
Merge pull request #7233 from donaldsharp/route_map_optimizations

Route map optimizations

3 years agoMerge pull request #7888 from donaldsharp/1_19_coverity
Mark Stapp [Tue, 19 Jan 2021 17:42:49 +0000 (12:42 -0500)]
Merge pull request #7888 from donaldsharp/1_19_coverity

lib: Fix up str2prefix usage in lua code

3 years agoMerge pull request #7655 from ckishimo/area
Olivier Dugeon [Tue, 19 Jan 2021 16:29:39 +0000 (17:29 +0100)]
Merge pull request #7655 from ckishimo/area

ospfd: fix area removal at interface level

3 years agoMerge pull request #7723 from AnuradhaKaruppiah/fdb-ext-attrs
Patrick Ruddy [Tue, 19 Jan 2021 16:27:54 +0000 (16:27 +0000)]
Merge pull request #7723 from AnuradhaKaruppiah/fdb-ext-attrs

zebra: move from NDA_NOTIFY to NDA_FDB_EXT_ATTRS

3 years agoMerge pull request #7781 from chiragshah6/evpn_dev
Russ White [Tue, 19 Jan 2021 16:26:34 +0000 (11:26 -0500)]
Merge pull request #7781 from chiragshah6/evpn_dev

[yang,bgpd]  convert neighbor prefix-list and route-map to transactional clis

3 years agoospfd: Fix P2MP handling when TI-LFA is enabled
GalaxyGorilla [Wed, 16 Dec 2020 15:02:29 +0000 (15:02 +0000)]
ospfd: Fix P2MP handling when TI-LFA is enabled

Signed-off-by: GalaxyGorilla <sascha@netdef.org>
3 years agoospfd: Fix backup path RIB handling
GalaxyGorilla [Tue, 15 Dec 2020 11:20:28 +0000 (11:20 +0000)]
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>
3 years agoospfd: Minor memory fixes
GalaxyGorilla [Tue, 24 Nov 2020 15:40:23 +0000 (15:40 +0000)]
ospfd: Minor memory fixes

Signed-off-by: GalaxyGorilla <sascha@netdef.org>
3 years agotests: Add topotest for OSPF SR TI-LFA
GalaxyGorilla [Tue, 24 Nov 2020 12:01:20 +0000 (12:01 +0000)]
tests: Add topotest for OSPF SR TI-LFA

Signed-off-by: GalaxyGorilla <sascha@netdef.org>
3 years agoospfd: Add 'debug ospf ti-lfa' command
GalaxyGorilla [Tue, 24 Nov 2020 09:56:18 +0000 (09:56 +0000)]
ospfd: Add 'debug ospf ti-lfa' command

Signed-off-by: GalaxyGorilla <sascha@netdef.org>
3 years agodoc: Add TI-LFA developer docs
GalaxyGorilla [Fri, 20 Nov 2020 13:56:33 +0000 (13:56 +0000)]
doc: Add TI-LFA developer docs

Signed-off-by: GalaxyGorilla <sascha@netdef.org>
3 years agoospfd: Add support for non-adjacent TI-LFA P/Q spaces
GalaxyGorilla [Fri, 20 Nov 2020 12:35:04 +0000 (12:35 +0000)]
ospfd: Add support for non-adjacent TI-LFA P/Q spaces

Signed-off-by: GalaxyGorilla <sascha@netdef.org>