]>
git.puffer.fish Git - mirror/frr.git/log
Donatas Abraitis [Sun, 31 Jan 2021 14:20:36 +0000 (16:20 +0200)]
bgpd: Initialize bgp_notify.raw_data before passing to bgp_notify_receive()
```
2523558 -==
2523558 ==
2523558 -==
2523558 == Conditional jump or move depends on uninitialised value(s)
2523558 :==
2523558 == at 0x47F242: bgp_notify_admin_message (bgp_debug.c:505)
2523558 -==
2523558 == by 0x47F242: bgp_notify_print (bgp_debug.c:534)
2523558 -==
2523558 == by 0x4BA9BC: bgp_notify_receive (bgp_packet.c:1905)
2523558 -==
2523558 == by 0x4BA9BC: bgp_process_packet (bgp_packet.c:2602)
2523558 -==
2523558 == by 0x4904B7E: thread_call (thread.c:1681)
2523558 -==
2523558 == by 0x48CAA27: frr_run (libfrr.c:1126)
2523558 -==
2523558 == by 0x474B1A: main (bgp_main.c:540)
2523558 -==
2523558 == Uninitialised value was created by a stack allocation
2523558 :==
2523558 == at 0x4BA33D: bgp_process_packet (bgp_packet.c:2529)
```
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
Donatas Abraitis [Sun, 31 Jan 2021 09:05:35 +0000 (11:05 +0200)]
Merge pull request #7984 from donaldsharp/hidden_command
bgpd: Remove hidden `neighbor X route-map Y <in|out>` command
Donatas Abraitis [Sat, 30 Jan 2021 20:24:11 +0000 (22:24 +0200)]
Merge pull request #7970 from volta-networks/fix_snmp_topotest_test_oid_walk
tests: update snmp topotest api test_oid_walk
Donald Sharp [Sat, 30 Jan 2021 02:27:49 +0000 (21:27 -0500)]
bgpd: Remove hidden `neighbor X route-map Y <in|out>` command
This command was put in place to allow upgrades for the
neighbor command from the BGP_NODE and have it put
into the ipv4 uni node instead. Since this
utterly kills the yang conversion. I believe we need
to remove this. Since people upgrading will just loose
the route-map applicatoin( if they are using such an old
config ) and RFC 8212 will come into play. They'll figure
it out pretty fast.
Fixes: #7983
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Rafael Zalamena [Fri, 29 Jan 2021 11:01:03 +0000 (08:01 -0300)]
Merge pull request #7953 from mjstapp/fix_more_ntoa
libs, ospfd: remove inet_ntoa
Donatas Abraitis [Fri, 29 Jan 2021 07:17:26 +0000 (09:17 +0200)]
Merge pull request #7960 from kishorekunal01/bgp_fix_allowas_in
BGP: "no neighbor <peer-group> allowas-in" is not resetting the peer-group member allowas_in[afi][safi].
Donatas Abraitis [Fri, 29 Jan 2021 07:14:49 +0000 (09:14 +0200)]
Merge pull request #7974 from donaldsharp/more_if_zero
More if zero
Karen Schoener [Thu, 28 Jan 2021 16:30:34 +0000 (11:30 -0500)]
tests: update snmp topotest api test_oid_walk
Update snmp topotest api test_oid_walk to validate a subset
of rows in a mib walk.
Signed-off-by: Karen Schoener <karen@voltanet.io>
Donald Sharp [Thu, 28 Jan 2021 21:58:27 +0000 (16:58 -0500)]
Merge pull request #7955 from volta-networks/fix_isis_lsp_bit_topotest
tests: temporarily remove isis-lsp-bit-topo1 topotest
Donald Sharp [Thu, 28 Jan 2021 21:00:58 +0000 (16:00 -0500)]
Merge pull request #7967 from ton31337/feature/show_bgp_summary_wide
bgpd: Add `show bgp summary wide` command
Donald Sharp [Thu, 28 Jan 2021 20:41:39 +0000 (15:41 -0500)]
Merge pull request #7968 from ton31337/feature/doc_ebgp_reset_session
doc: ebgp-requires-policy requires manuall session clearing
Donald Sharp [Thu, 28 Jan 2021 19:56:11 +0000 (14:56 -0500)]
ospfd: ospf_nbr_nbma_lookup_next always returns NULL
The calling function of ospf_nbr_nbma_lookup_next calls
this function and then immediately returns when it
gets the NULL. Just cleanup a bit more code.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Thu, 28 Jan 2021 19:04:59 +0000 (14:04 -0500)]
pbrd: Remove #if 0 code
I am not even sure what the goal of this code was in any
way shape fashion or form. But since it's pbr_nht.c
I as the original author should know... But I don't.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Thu, 28 Jan 2021 19:04:02 +0000 (14:04 -0500)]
lib: Remove #if 0 code
Just some more dead code that has been sitting unused for
a very long time.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Thu, 28 Jan 2021 19:00:45 +0000 (14:00 -0500)]
eigrpd: Remove #if 0 dead code
There is some dead code in eigrpd
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Thu, 28 Jan 2021 18:58:34 +0000 (13:58 -0500)]
bfdd: Remove #if 0
We do have a bunch of old code that is never used.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Thu, 28 Jan 2021 18:55:31 +0000 (13:55 -0500)]
zebra: Remove #if 0 code
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Thu, 28 Jan 2021 18:53:03 +0000 (13:53 -0500)]
bgpd: Remove #if 0 code
Remove all dead #if 0 code from bgpd.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
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>
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>
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>
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>
lynne [Wed, 27 Jan 2021 20:34:11 +0000 (15:34 -0500)]
tests: temporarily remove isis-lsp-bits-topo1 topotest
Signed-off-by: Lynne Morrison <lynne@voltanet.io>
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>
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>
Kishore Kunal [Thu, 28 Jan 2021 05:26:24 +0000 (05:26 +0000)]
bgpd: Removing "neighbor <peer-group> allowas-in"
Unconfig not resetting the peer-group member allowas_in[afi][safi]
This is causing remote route to be accept.
Signed-off-by: Kishore Kunal <kishorekunal01@broadcom.com>
Donatas Abraitis [Thu, 28 Jan 2021 15:15:02 +0000 (17:15 +0200)]
doc: ebgp-requires-policy requires manuall session clearing
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
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
Donatas Abraitis [Thu, 28 Jan 2021 14:12:03 +0000 (16:12 +0200)]
bgpd: Show NoNeg instead of bad parsing `show bgp summary` if disabled
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
Donatas Abraitis [Thu, 28 Jan 2021 14:04:38 +0000 (16:04 +0200)]
doc: Add `show bgp summary wide` short description
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
Donatas Abraitis [Thu, 28 Jan 2021 13:56:33 +0000 (15:56 +0200)]
bgpd: Include local AS for JSON output in `show bgp summary json` cmd
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
Donatas Abraitis [Thu, 28 Jan 2021 11:00:40 +0000 (13:00 +0200)]
bgpd: Add `show bgp summary wide` command
Add LocalAS into wide output and extend Desc to 64 chars instead of 20.
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
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
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
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>
Mark Stapp [Wed, 27 Jan 2021 20:00:10 +0000 (15:00 -0500)]
libs, ospfd: remove inet_ntoa
inet_ntoa not permitted - replace instances.
Signed-off-by: Mark Stapp <mjs@voltanet.io>
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>
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
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>
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>
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>
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
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
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
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
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>
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
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>
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
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>
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>
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
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
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
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
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)
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
Mark Stapp [Mon, 25 Jan 2021 17:30:52 +0000 (12:30 -0500)]
Merge pull request #7923 from donaldsharp/gcc10-cleanups
Gcc10 cleanups
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
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>
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>
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>
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>
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
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>
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>
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>
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>
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>
Donatas Abraitis [Sat, 23 Jan 2021 14:41:31 +0000 (16:41 +0200)]
Merge pull request #7890 from wesleycoakley/docker-fixups
docker: builder fixups
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>
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>
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
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
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>
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
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
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
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
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
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>
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>
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>
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
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>
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.
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
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]"
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
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>
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>