summaryrefslogtreecommitdiffstats
path: root/gdb (unfollow)
Commit message (Collapse)AuthorFilesLines
2020-05-06zebra: Loosen ONLINK restrictions a tiny bitDonald Sharp1-10/+3
Loosen the ONLINK restrictions such that when an upper level protocol sends us a nexthop with an ONLINK attribute just ensure that interface is up and usable. ONLINK effectively means we know what we are doing to the kernel. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-05-06ldpd: LDP does not always send traffic with correct DSCP value.Karen Schoener1-0/+10
Adding code so that the LDP neighbor that does not initiate the TCP connection also sets the DSCP (via setsocketopt). Signed-off-by: Karen Schoener <karen@voltanet.io>
2020-05-06tests: remove unused ref files from ldp topotestMark Stapp2-19/+0
Remove a couple of a couple of mis-named reference output files from the ldp-topo1 suite. Signed-off-by: Mark Stapp <mjs@voltanet.io>
2020-05-06bgpd: Ignore aggregator attribute if it's malformed (0.0.0.0)Donatas Abraitis1-8/+2
This is not the attribute involved in path selection and by rfc7606 it should be just ignored. Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2020-05-06bgpd: Use slightly modified version of error message if AS path contains 0Donatas Abraitis1-6/+8
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2020-05-05bgpd: Check to ensure community attributes exist before freeing themJosh Cox3-0/+9
Community attributes might have been removed by an inbound route map, so we should check to ensure they still exist before trying to free them. This fixes a segfault described in issue #6345. Signed-off-by: Josh Cox <josh.cox@pureport.com>
2020-05-05zebra: abstract 5549 check into a functionStephen Worley1-6/+14
Abstract the 5549 ipv4 over ipv6 into a function for easier code reuse and reading. Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
2020-05-05lib: make hook.h cpp-compatibleQuentin Young1-1/+1
Some CPP compilers don't support these designated initializers, since we're just zero initializing don't need em Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2020-05-05build: don't link ldpd.c twiceDavid Lamparter1-1/+0
... this breaks LLVM bitcode linking. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2020-05-05python: add graphviz callgraphsDavid Lamparter3-1/+488
Uses the JSON data extracted from LLVM bitcode by tools/frr-llvm-cg. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2020-05-05build: add LLVM bitcode targetsDavid Lamparter7-6/+64
Just an easy way to produce LLVM .bc (bitcode) files. Not used during normal builds. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2020-05-05tools: frr-llvm-cgDavid Lamparter3-0/+662
This dumps call graph data from LLVM bitcode files into a JSON file. Specifically for FRR, it understands thread_add_*(), hook_*() and install_element() so it can provide extra information in these cases. As a general feature, it tries to track down function pointers as far as easily feasible. Signed-off-by: David Lamparter <equinox@diac24.net>
2020-05-05build: rework Makefile var extraction... againDavid Lamparter2-16/+53
*sigh* I can't seem to catch a break on this. Add a regex variant. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2020-05-04doc: Add an example about what "(Policy)" means under `show bgp summary`Donatas Abraitis1-0/+17
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2020-05-03bgpd: Show "(Policy)" under PfxRcd/PfxSnt when eBGP policy is in useDonatas Abraitis1-10/+33
It could be hard to notice when eBGP policy is missing in `show bgp summary`. This adds more sugar to the output: Normal: ``` MsgSent TblVer InQ OutQ Up/Down State/PfxRcd PfxSnt 10 0 0 0 00:02:07 6 8 ``` When rfc8212 is enabled (default since 7.4) - OUTBOUND: ``` MsgSent TblVer InQ OutQ Up/Down State/PfxRcd PfxSnt 13 0 0 0 00:04:56 6 (Policy) ``` INBOUND: ``` MsgSent TblVer InQ OutQ Up/Down State/PfxRcd PfxSnt 19 0 0 0 00:06:27 (Policy) 2 ``` Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2020-05-01zebra: force off kernel NHG install with netns VRFsStephen Worley1-1/+2
Force off kernel NHG install with netns-based VRFs for now. There is not really a good solution for allowing kernel nexthop groups in namespaced based vrfs. Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
2020-05-01zebra: Display ifindex of interface being installed onDonald Sharp1-2/+2
When installing a nexthop group, dump out the ifindex of the nexthop being installed as a bit more data for the developer. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-04-30git: ignore emacs desktopMark Stapp1-0/+1
Ignore the emacs desktop files - should never ever be committed Signed-off-by: Mark Stapp <mjs@voltanet.io>
2020-04-30bgpd: Ensure that we have a ifp pointerDonald Sharp1-0/+3
It is possible that the if_lookup_by_index() call will return a NULL value and calling zclient_send_interface_radv_req. Just test that we have a valid interface pointer. Found by Coverity Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-04-30doc: Add an example how to filter BGP bogon ASNsDonatas Abraitis1-0/+11
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2020-04-30zebra: fix detection of VRF misconfigurationRenato Westphal1-10/+13
The netlink_vrf_change() function is called both when a VRF device is created in the Linux kernel and when it is activated. This commit changes this function to perform the VRF misconfiguration detection only when the VRF device is created, as doing the check twice would cause a false positive followed by a hard failure (not to mention the double check is unnecessary since the VRF table ID can't change once the device is created). Fixes #6319. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2020-04-29lib: update the CLI xpath index when exiting from the VRF nodeRenato Westphal1-1/+1
All custom "exit-*" commands that exit from a YANG-modeled CLI node need to use cmd_exit() to ensure the CLI xpath index (vty->xpath_index) will be updated accordingly. Fixes #6316. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2020-04-29ldpd: fix ACL rule modificationlynne6-8/+401
Changes to ACL rules were not applied to LDP. This fix allows LDP to be notified when a rule in an ACL filter is modified by the user. The filter is properly applied to the LDP session. The filter may cause a LDP session to go down/up or to remove/add labels being advertised/received from a neighbor. Signed-off-by: Lynne Morrison <lynne@voltanet.io> Signed-off-by: Karen Schoener <karen@voltanet.io>
2020-04-29zebra: don't treat every interface as unnumberedMark Stapp1-1/+1
Commit e93a6fbb4 from PR3908 changed every interface into an 'unnumbered' interface - even interfaces that do not have ipv4 at all. Undo that. Signed-off-by: Mark Stapp <mjs@voltanet.io>
2020-04-29zebra: fix json for show evpn arp-cache vni vtepPat Ruddy1-0/+3
The function zebra_vxlan_print_neigh_vni_vtep does not create a json object when json has been requested from the CLI and as a result it prints out the information in normal CLI format. Fix is to allocate the json object when required. Signed-off-by: Pat Ruddy <pat@voltanet.io>
2020-04-29doc: Documentation for ipv6 nd ra-retrans-timer commandDon Slice1-0/+12
Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
2020-04-29zebra: add ability to set retransmit timer for IPv6 RAsDon Slice1-5/+57
Reported by testing agency that rfc 4861 section 6.2.1 states that all implementations must have a configuration knob to change the setting of the advertised retransmit timer sent in RA packets. This fix adds that capability. Ticket: CM-29199 Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
2020-04-28doc: Update doc for the `bgp network import-check` commandDonald Sharp1-0/+11
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-04-28bgpd,tests: Modify import-check to require underlying prefixes to existDonald Sharp20-3/+26
Modify the import-check command to require the underlying prefix to exist in the rib. General consensus is that this is the correct behavior. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-04-28zebra: fix zebra pseudowire manager NHTKaren Schoener1-4/+4
Intermittently, there is a 30 second delay for a LDP pseudowire to become operational. One way to reproduce the issue is: Once PW is up, shutdown link to trigger a change to the pseudowire's next hop, and then restore link to cause pseudowire to return to original NH. Problem Descripton: The Zebra PW manager installs pseudowires in the data plane when the following two conditions are met: 1. Pseudowire is labeled via LDP mapping messages 2. A labeled NH route exists to reach the remote pseudowire endpoint The Zebra PW manager registers a NHT callback when a pseudowire is enabled. This allows the Zebra PW manager to install or reinstall the pseudowire. The Zebra PW manager deregisters for the NHT callback when the pseudowire is disabled. When LDP learns the remote-pseudowire status is 'not forwarding', LDP notifies Zebra that the pseudowire is disabled. This creates a race condition where a new labeled NH can be resolved after the Zebra PW manager deregistered for the NHT callback. For static pseudowires, it makes sense for Zebra PW manager to deregister for NHT callbacks for disabled pseudowires. Static pseudowires become disabled via CLI configuration commands. For LDP pseudowires, the Zebra PW manager should not deregister for NHT callbacks for disabled pseudowires. Overview of changes: 1. Zebra PW manager should not deregister for NHT callbacks when an LDP pseudowire is disabled. Zebra PW manager will register for NHT callbacks when the LDP pseudowire is first enabled. Zebra PW manager will deregister for NHT callbacks when the LDP pseudowire is deleted. 2. Remove the 30 second timer that was added in PR4122. PR4122 tried to fix this race condition with a timer. Once we eliminate the race condition (by keeping the Zebra PW manager registered for NHT callbacks), this timer can be removed. 3. Zebra PW manager handling of static pseudowires will remain as-is. Zebra PW manager will register for NHT callbacks when the static pseudowire is enabled. Zebra PW manager will deregister for NHT callbacks when the static pseudowire is disabled. Signed-off-by: Lynne Morrison <lynne@voltanet.io> Signed-off-by: Karen Schoener <karen@voltanet.io>
2020-04-28Revert "vtysh: fix searching commands in parent nodes"Donald Sharp2-6/+0
This reverts commit d741915ecdcf8930ccb3bd23eec1da2f0d000483. This is because it breaks this behavior: router ospf6 <commands> ! int enp39s0 <more commands> ! This is a very legal set of commands and completely destroys the ability to do this. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-04-28pimd: Add a needed space for formattingDonald Sharp1-1/+1
Display a space in the output. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-04-28pimd: don't split format string from zlog callDavid Lamparter1-3/+2
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2020-04-28tests: fix size confusionDavid Lamparter1-1/+1
The question here isn't "why does it break on PowerPC?", but rather "why doesn't it break on x86_64 or ARM?" Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2020-04-28bgpd: fix typoDavid Lamparter1-1/+1
o.O Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2020-04-27bgpd: turn off RAs when numbered peers are deletedDon Slice5-12/+104
Problem reported that in many circumstances, RAs created in the process of bringing up numbered IPv6 peers with extended-nexthop capability enabled (for ipv4 over ipv6) were not stopped on the interface when those peers were deleted. Found several circumstances where this occurred and fix them in this patch. Ticket: CM-26875 Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
2020-04-27bfdd: display debugging status of bfdPhilippe Guibert1-3/+6
display debugging status of bfd. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2020-04-27tools: fix frr-reload AF issue with ldpdEmanuele Di Pascale1-0/+7
when removing a whole address-family block from ldpd config we were erroneously trying to also remove each of the interface sub-sub-contexts that belonged to it; this would effectively re-enable the AF we just removed. Work around this by ignoring these sub-sub-contexts if we detect that we are already removing the parent block. Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2020-04-27zebra: fix handling of failed route install via notificationMark Stapp1-11/+5
An async route notification can indicate that installation has failed, but the handling code wasn't dealing with that possibility correctly. Signed-off-by: Mark Stapp <mjs@voltanet.io>
2020-04-27doc: fix typo in archlinux docMark Stapp1-1/+1
Fix a typo to remove a warning when building the dev docs. Signed-off-by: Mark Stapp <mjs@voltanet.io>
2020-04-27lib: Delete the entire access-list only if there are no more entriesDonatas Abraitis1-1/+2
When you enter the access-list with the same sequence number but with a different prefix AND access-list has only a single entry, then the entry is deleted and the whole access-list is deleted. That means that "replace entry" never be re-inserted. With fix: ``` ~# vtysh -c 'c' -c 'access-list 1 seq 10 permit 127.0.0.10/32' ~# vtysh -c 'sh run' | grep access-list access-list 1 seq 10 permit 127.0.0.10/32 ~# vtysh -c 'c' -c 'access-list 1 seq 10 permit 127.0.0.20/32' ~# vtysh -c 'sh run' | grep access-list access-list 1 seq 10 permit 127.0.0.20/32 ~# vtysh -c 'c' -c 'access-list 1 seq 11 permit 127.0.0.11/32' ~# vtysh -c 'sh run' | grep access-list access-list 1 seq 10 permit 127.0.0.20/32 access-list 1 seq 11 permit 127.0.0.11/32 ~# vtysh -c 'c' -c 'no access-list 1 seq 10 permit 127.0.0.20/32' ~# vtysh -c 'sh run' | grep access-list access-list 1 seq 11 permit 127.0.0.11/32 ~# ``` Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2020-04-27lib: Convert access_list_empty to boolDonatas Abraitis1-3/+3
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2020-04-27build: silence idiotic libtool warningsDavid Lamparter1-0/+3
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2020-04-27build: move python 2.x to the very last preferenceDavid Lamparter1-1/+1
Also try explicit 3.9 & 3.10. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2020-04-27bfdd: fix frr-format false warningDavid Lamparter1-4/+5
Dealing with PRIu64 is unfortunately a bit hacky in the frr-format plugin, as in, it works correctly with snprintfrr, but breaks on plain snprintf. There's no good solution unfortunately :/. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2020-04-27lib/zlog: fix printfrr format attributeDavid Lamparter1-1/+1
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2020-04-27*: fix first headerDavid Lamparter2-1/+6
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>