summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #6314 from pjdruddy/fix-arp-cache-vtep-json-cliSri Mohana Singamsetty2020-04-291-0/+3
|\ | | | | zebra: fix json for show evpn arp-cache vni vtep
| * zebra: fix json for show evpn arp-cache vni vtepPat Ruddy2020-04-291-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>
* | Merge pull request #5786 from mjstapp/fix_notif_empty_nhgStephen Worley2020-04-291-11/+5
|\ \ | | | | | | zebra: fix handling of failed route install via notification
| * | zebra: fix handling of failed route install via notificationMark Stapp2020-04-271-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>
* | | Merge pull request #6309 from dslicenc/ra-retrans-intervalRuss White2020-04-292-5/+69
|\ \ \ | | | | | | | | zebra: add ability to set retransmit timer for IPv6 RAs
| * | | doc: Documentation for ipv6 nd ra-retrans-timer commandDon Slice2020-04-291-0/+12
| | | | | | | | | | | | | | | | Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
| * | | zebra: add ability to set retransmit timer for IPv6 RAsDon Slice2020-04-291-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>
* | | Merge pull request #6303 from dslicenc/stop-enhe-rasRuss White2020-04-295-12/+104
|\ \ \ | | | | | | | | bgpd: turn off RAs when numbered peers are deleted
| * | | bgpd: turn off RAs when numbered peers are deletedDon Slice2020-04-275-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>
* | | | Merge pull request #6313 from volta-networks/fix_zebra_pw_nhtDonald Sharp2020-04-291-4/+4
|\ \ \ \ | | | | | | | | | | zebra: fix zebra pseudowire manager NHT
| * | | | zebra: fix zebra pseudowire manager NHTKaren Schoener2020-04-281-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>
* | | | | Merge pull request #6299 from ton31337/fix/access-list_deletionDonald Sharp2020-04-291-4/+5
|\ \ \ \ \ | |_|_|/ / |/| | | | lib: Delete the entire access-list only if there are no more entries
| * | | | lib: Delete the entire access-list only if there are no more entriesDonatas Abraitis2020-04-271-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>
| * | | | lib: Convert access_list_empty to boolDonatas Abraitis2020-04-271-3/+3
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
* | | | | Merge pull request #6228 from donaldsharp/change_network_statement_defaultDavid Lamparter2020-04-2921-3/+37
|\ \ \ \ \
| * | | | | doc: Update doc for the `bgp network import-check` commandDonald Sharp2020-04-281-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
| * | | | | bgpd,tests: Modify import-check to require underlying prefixes to existDonald Sharp2020-04-2820-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>
* | | | | | Merge pull request #6310 from donaldsharp/revert_the_behaviorSri Mohana Singamsetty2020-04-292-6/+0
|\ \ \ \ \ \ | |/ / / / / |/| | | | | Revert "vtysh: fix searching commands in parent nodes"
| * | | | | Revert "vtysh: fix searching commands in parent nodes"Donald Sharp2020-04-282-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>
* | | | | | Merge pull request #6302 from volta-networks/fix_ldpd_af_reloadDonald Sharp2020-04-281-0/+7
|\ \ \ \ \ \ | | | | | | | | | | | | | | tools: fix frr-reload AF issue with ldpd
| * | | | | | tools: fix frr-reload AF issue with ldpdEmanuele Di Pascale2020-04-271-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>
* | | | | | Merge pull request #6295 from ton31337/feature/show_bgp_afi_safi_sntpfxLou Berger2020-04-284-19/+27
|\ \ \ \ \ \ | | | | | | | | | | | | | | bgpd: Show PfxSnt for `show bgp <afi> <safi>` command
| * | | | | | tests: Adopt some tests to PfxSnt counterDonatas Abraitis2020-04-243-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
| * | | | | | bgpd: Show PfxSnt for `show bgp <afi> <safi>` commandDonatas Abraitis2020-04-241-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | JSON output was already in, just printing in CLI as well. ``` root@exit1-debian-9:~# vtysh -c 'show bgp ipv4 summary' IPv4 Unicast Summary: BGP router identifier 10.10.10.1, local AS number 65001 vrf-id 0 BGP table version 100003 RIB entries 200005, using 37 MiB of memory Peers 1, using 21 KiB of memory ... MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd PfxSnt ... 64 157 0 0 0 00:01:18 0 100003 Total number of neighbors 1 ``` JSON: ``` root@exit1-debian-9:~# vtysh -c 'show bgp ipv4 summary json' \ | > jq '.ipv4Unicast.peers."192.168.0.2".pfxSnt' 100003 ``` Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
* | | | | | | Merge pull request #6308 from donaldsharp/pim_orderingDavid Lamparter2020-04-281-1/+1
|\ \ \ \ \ \ \ | |_|_|/ / / / |/| | | | | |
| * | | | | | pimd: Add a needed space for formattingDonald Sharp2020-04-281-1/+1
| | |_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | Display a space in the output. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* | | | | | Merge pull request #6306 from opensourcerouting/triple-wtf-20200428Donald Sharp2020-04-283-5/+4
|\ \ \ \ \ \ | |/ / / / / |/| | | | | *: triple pack of one-liner WTF fixes
| * | | | | pimd: don't split format string from zlog callDavid Lamparter2020-04-281-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * | | | | tests: fix size confusionDavid Lamparter2020-04-281-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>
| * | | | | bgpd: fix typoDavid Lamparter2020-04-281-1/+1
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | o.O Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* | | | | Merge pull request #6301 from pguibert6WIND/bfd_debug_showRafael Zalamena2020-04-271-3/+6
|\ \ \ \ \ | |_|/ / / |/| | | | bfdd: display debugging status of bfd
| * | | | bfdd: display debugging status of bfdPhilippe Guibert2020-04-271-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | display debugging status of bfd. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
* | | | | Merge pull request #6298 from opensourcerouting/build-assorted-20200423Donald Sharp2020-04-2733-239/+382
|\ \ \ \ \ | |_|_|/ / |/| | | | build: spring cleaning
| * | | | build: silence idiotic libtool warningsDavid Lamparter2020-04-271-0/+3
| | | | | | | | | | | | | | | | | | | | Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * | | | build: move python 2.x to the very last preferenceDavid Lamparter2020-04-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also try explicit 3.9 & 3.10. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * | | | bfdd: fix frr-format false warningDavid Lamparter2020-04-271-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>
| * | | | lib/zlog: fix printfrr format attributeDavid Lamparter2020-04-271-1/+1
| | | | | | | | | | | | | | | | | | | | Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * | | | *: fix first headerDavid Lamparter2020-04-272-1/+6
| | | | | | | | | | | | | | | | | | | | Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * | | | python: add check-first-header toolDavid Lamparter2020-04-271-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The first #include statement in all FRR .c files should be either zebra.h or config.h. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * | | | build: make clippy Makefile rules nicerDavid Lamparter2020-04-2720-88/+181
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are easy to get subtly wrong, and doing so can cause nondeterministic failures when racing in parallel builds. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * | | | tools/symalyzer: fix copypastaDavid Lamparter2020-04-271-1/+1
| | | | | | | | | | | | | | | | | | | | Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * | | | python: move MakeVars class into separate moduleDavid Lamparter2020-04-273-42/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... so I can reuse it. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * | | | build: use VPATH for vtysh_scanDavid Lamparter2020-04-2721-101/+101
|/ / / / | | | | | | | | | | | | | | | | | | | | No need to put $(top_srcdir) everywhere. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* | | | Merge pull request #6249 from chiragshah6/yang_nb5Rafael Zalamena2020-04-242-0/+32
|\ \ \ \ | |_|/ / |/| | | lib: yang wrapper for date-and-time
| * | | lib: yang wrapper for date-and-timeChirag Shah2020-04-222-0/+32
| | | | | | | | | | | | | | | | Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
* | | | Merge pull request #6279 from opensourcerouting/nb-cb-argsDonald Sharp2020-04-2431-3811/+3204
|\ \ \ \ | | | | | | | | | | *: change the signature of the northbound callbacks to be more flexible
| * | | | *: change the signature of the northbound callbacks to be more flexibleRenato Westphal2020-04-2330-3728/+3084
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Having a fixed set of parameters for each northbound callback isn't a good idea since it makes it difficult to add new parameters whenever that becomes necessary, as several hundreds or thousands of existing callbacks need to be updated accordingly. To remediate this issue, this commit changes the signature of all northbound callbacks to have a single parameter: a pointer to a 'nb_cb_x_args' structure (where x is different for each type of callback). These structures encapsulate all real parameters (both input and output) the callbacks need to have access to. And adding a new parameter to a given callback is as simple as adding a new field to the corresponding 'nb_cb_x_args' structure, without needing to update any instance of that callback in any daemon. This commit includes a .cocci semantic patch that can be used to update old code to the new format automatically. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
| * | | | lib: create a wrapper function for all northbound callbacksRenato Westphal2020-04-232-94/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The intention here is to keep the code more organized. These wrappers should be used by the northbound clients only, and never directly by any YANG backend code. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
* | | | | Merge pull request #6282 from opensourcerouting/fix-isisd-sh-runDonald Sharp2020-04-244-6/+11
|\ \ \ \ \ | | | | | | | | | | | | isisd: fix display of "isis bfd" in the running configuration
| * | | | | isisd: fix display of "isis bfd" in the running configurationRenato Westphal2020-04-234-6/+11
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since this command is modeled using YANG, it's already displayed as part of the call to nb_cli_show_dnode_cmds(). Calling the 'isis_circuit_config_write' hook was only making that command to be displayed twice. The aforementioned hook is still necessary for fabricd, which wasn't converted to the new northbound model yet. Fixes #6281. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>