summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* *: Convert quagga_signal_X to frr_signal_XDonald Sharp2021-11-1129-63/+63
| | | | | | | Naming functions/data structures more appropriately for the project we are actually in. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
* Merge pull request #10006 from chiragshah6/evpn_devRuss White2021-11-111-0/+9
|\ | | | | zebra: svi down remove evpn l2vni from l3vni list
| * zebra: svi down remove l2vni from l3vni listChirag Shah2021-11-081-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: L2-VNI SVI down followed by L2-VNI's vxlan device deletion leads to stale entry into L3VNI's L2-VNI list. Solution: When L2-VNI associated SVI is down, default vrf is the new tenant vrf. Remove L2-VNI from L3VNI's l2vni list as L3VNI/VRF is no longer valid in absence of associated SVI. When SVI is up re-add L2-VNI into associated VRF's L3VNI. The above remove/add from the L3VNI's L2VNI list is already done when vxlan or L2-VNI is flaped, just need to handle when SVI is flapped. Ticket:#2817127 Reviewed By: Testing Done: After deleting SVI following by L2-VNI deletion, L3VNI's L2-VNI list delets the L2-VNI. (no stale entry). After adding back SVI/L2-VNI, L3VNI list adds back the L2-VNI and it is associated right tenant VRF. Signed-off-by: Chirag Shah <chirag@nvidia.com>
* | Merge pull request #10025 from opensourcerouting/xref-backtraceRuss White2021-11-1125-18/+273
|\ \ | | | | | | lib: backtraces for specific log messages
| * | doc: stick `libunwind` into build docsDavid Lamparter2021-11-1013-10/+38
| | | | | | | | | | | | | | | | | | | | | | | | It's strictly optional, but… the backtraces are really much better. Specifically, `libunwind` is notably more capable in figuring out function names compared to glibc/libexecinfo `backtrace_symbols()`. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * | doc: add unique-id & backtrace user docsDavid Lamparter2021-11-101-0/+36
| | | | | | | | | | | | Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * | lib: fix elf_py TLS section handlingDavid Lamparter2021-11-101-0/+3
| | | | | | | | | | | | | | | | | | | | | ... need to ignore TLS sections, their address is effectively meaningless but can overlap other sections we actually need to access. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * | lib: avoid include loop with assert.hDavid Lamparter2021-11-104-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | `assert.h` -> `xref.h` -> `typesafe.h` -> `assert.h` Might be possible to do this more cleanly some way, but that way is not obvious, so here's the "simple & dumb" approach. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * | lib: add `debug uid XXXXX-XXXXX backtrace`David Lamparter2021-11-103-7/+173
| | | | | | | | | | | | | | | | | | | | | Looks much prettier if `libunwind` is available, but works with glibc or libexecinfo's `backtrace()` too. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * | lib: stuff xrefs into a tree for lookupDavid Lamparter2021-11-102-0/+17
| | | | | | | | | | | | | | | | | | ... so we can actually access by UID without searching the entire list. Signed-off-by: David Lamparter <equinox@diac24.net>
| * | lib: add missing include in typerb.hDavid Lamparter2021-11-101-0/+1
| | | | | | | | | | | | | | | | | | The RB-tree macros use memset(), so we need to #include <string.h> Signed-off-by: David Lamparter <equinox@diac24.net>
* | | Merge pull request #9861 from rgirada/ospf6_coverityRuss White2021-11-112-3/+25
|\ \ \ | | | | | | | | ospf6d: Addressing few coverity issues.
| * | | ospf6d: Addressing few coverity issues.rgirada2021-10-292-3/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Description: Addressed the following TAINTED_SCALAR issue which can possibly leads to memory currption. 1. *** CID 1506514: Insecure data handling (TAINTED_SddddddCALAR) /ospf6d/ospf6_gr_helper.c: 1222 in ospf6_grace_lsa_show_info() 2. *** CID 1506513: Insecure data handling (TAINTED_SCALAR) /ospf6d/ospf6_gr_helper.c: 160 in ospf6_extract_grace_lsa_fields() Signed-off-by: Rajesh Girada <rgirada@vmware.com>
* | | | Merge pull request #9864 from ton31337/feature/access_list_autocompleteRuss White2021-11-1113-59/+111
|\ \ \ \ | | | | | | | | | | lib: Add autocomplete for access-lists
| * | | | lib: Add autocomplete for access-listsDonatas Abraitis2021-10-3113-59/+111
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
* | | | | Merge pull request #10019 from donaldsharp/pim_upstream_reg_stateRuss White2021-11-112-5/+1
|\ \ \ \ \ | | | | | | | | | | | | pimd: Remove default from enum based switch
| * | | | | pimd: Remove default from enum based switchDonald Sharp2021-11-102-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | enum based switches should never use default. It makes it very hard to fix and find issues when the enum is changed. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
* | | | | | Merge pull request #9931 from leibaogit/masterIgor Ryzhov2021-11-111-2/+2
|\ \ \ \ \ \ | | | | | | | | | | | | | | zebra: Fix the RA packets can not sent out
| * | | | | | zebar: Fix the RA sent fail in netns modeLEI BAO2021-11-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make the code more explicit. Signed-off-by: LEI BAO <bali.baolei@cn.ibm.com>
| * | | | | | zebra: Fix the RA send failed in netns modeLEI BAO2021-11-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the rtadv_timer(), it always uses the zvrf's socket to send RA packets. In the vrf-lite mode, it's righ since it uses the default vrf to send the RA packets. But in the netns mode, it uses socket in each netns. So the issue only happens in the netns mode because the zvrf's socket may not be in the same netns as the interface's netns. In order to compatible with both vrf-lite and netns mode, the fix uses the if_lookup_by_index() to check whether interfaces can use the zvrf's socket. Signed-off-by: LEI BAO <bali.baolei@cn.ibm.com>
| * | | | | | zebra: Fix the RA packets can not sent outLEI BAO2021-11-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Skip the interfaces which not belong to the same VRF as the current thread's zvrf. Signed-off-by: LEI BAO <bali.baolei@cn.ibm.com>
* | | | | | | Merge pull request #10029 from anlancs/doc-bgp-titleIgor Ryzhov2021-11-111-2/+2
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | doc: remove redundant chars for bgp
| * | | | | | | doc: remove redundant chars for bgpanlan_cs2021-11-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: anlan_cs <anlan_cs@tom.com>
* | | | | | | | Merge pull request #10026 from idryzhov/bfd-peer-str-coverityDonald Sharp2021-11-111-1/+4
|\ \ \ \ \ \ \ \ | |_|_|/ / / / / |/| | | | | | | bfdd: fix coverity warnings
| * | | | | | | bfdd: fix coverity warningsIgor Ryzhov2021-11-101-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | show/clear DEFUNs always require either peer label or IP address to be specified, so if `label` is NULL then `peer_str` is definitely not NULL. But Coverity doesn't know about that, so it complains about possible NULL dereference of `peer_str`. This commit should make Coverity happy. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
* | | | | | | | Merge pull request #9988 from idryzhov/ospf-gr-brokenDonald Sharp2021-11-103-520/+6
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | ospfd: remove commands for broken GR helper mode
| * | | | | | | | ospfd: remove commands for broken GR helper modeIgor Ryzhov2021-11-103-520/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Issue #9983 explains what is wrong with the GR helper mode. To unblock the CI that fails almost all the time on the ospf_gr_topo1 test, remove the commands and disable the test. Also add a reminder to completely remove the helper mode if no one fixes the code in a month. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
* | | | | | | | | Merge pull request #9700 from mjstapp/add_json_det_attrsDonatas Abraitis2021-11-104-10/+63
|\ \ \ \ \ \ \ \ \ | |_|_|/ / / / / / |/| | | | | | | | bgpd: Add 'show bgp <afi> <safi> json detail' header data
| * | | | | | | | tests: fix log string in topotests/lib/bgprib.pyMark Stapp2021-10-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Correct a log string in a method in bgprib.py - cut-and-paste error, maybe? Signed-off-by: Mark Stapp <mstapp@nvidia.com>
| * | | | | | | | bgpd: add 'header' info to show bgp afi safi json detailMark Stapp2021-10-011-3/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The '... json detail' output is missing some data that's shown via the 'route_vty_out_detail_header' function. Integrate the json version of that function in the 'json detail' path. Signed-off-by: Mark Stapp <mstapp@nvidia.com>
| * | | | | | | | bgpd: add some constMark Stapp2021-10-013-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add const to a couple of arguments in bgp_label utilities, and in a show function. Signed-off-by: Mark Stapp <mstapp@nvidia.com>
* | | | | | | | | Merge pull request #9941 from chiragshah6/mdevRafael Zalamena2021-11-101-5/+2
|\ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|/ / |/| | | | | | | | pimd: fix msdp mesh grp with wildcard member addr
| * | | | | | | | pimd: fix msdp mesh grp with wildcard member addrChirag Shah2021-11-081-5/+2
| | |_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | frr-reload fails to recognize wildcard "*" for member address in frr.conf/runing-config as cli syntax expects in v4 address format. Ticket: #2816923 Testing: Without fix: running config: ip msdp mesh-group foo1 member * Frr reoad failure log: 2021-11-02 11:05:04,317 INFO: Loading Config object from vtysh show running line 5: % Unknown command: ip msdp mesh-group foo1 member * Traceback (most recent call last): File "/usr/lib/frr/frr-reload.py", line 1950, in <module> With fix: -------- running config displays: ip msdp mesh-group foo1 member 0.0.0.0 Signed-off-by: Chirag Shah <chirag@nvidia.com>
* | | | | | | | Merge pull request #9939 from idryzhov/fix-ptm-buildMark Stapp2021-11-091-1/+1
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | zebra: fix build with --enable-bfdd=no
| * | | | | | | | zebra: fix build with --enable-bfdd=noIgor Ryzhov2021-11-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
* | | | | | | | | Merge pull request #10007 from Jafaral/debrpmQuentin Young2021-11-092-5/+441
|\ \ \ \ \ \ \ \ \ | |_|_|_|_|/ / / / |/| | | | | | | |
| * | | | | | | | debian: adjust the changelog for the dev branchJafar Al-Gharaibeh2021-11-081-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
| * | | | | | | | debian, redhat: sync changelog from 8.1 releaseJafar Al-Gharaibeh2021-11-082-6/+436
| | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
* | | | | | | | Merge pull request #9996 from opensourcerouting/resolver-fix-threadsIgor Ryzhov2021-11-098-81/+206
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | lib: fix `struct thread **` misuse in c-ares resolver bindings
| * | | | | | | | lib: remove `vector_get_index()`David Lamparter2021-11-082-12/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... its only purpose was to serve as a footgun, and all such uses have been eliminated now. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * | | | | | | | tests: add c-ares "exercise" toolDavid Lamparter2021-11-083-0/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This can't really be run as part of CI, it's intended as a helper instead, to use manually after poking around in the c-ares binding code. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * | | | | | | | tests: allow common_cli.c with logging enabledDavid Lamparter2021-11-082-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | common_cli.c disables logging by default so stdio is usable as vty without log messages getting strewn inbetween. This the right thing for most tests, but not all; sometimes we do want log messages. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| * | | | | | | | lib: fix c-ares thread misuseDavid Lamparter2021-11-081-68/+110
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `struct thread **ref` that the thread code takes is written to and needs to stay valid over the lifetime of a thread. This does not hold up if thread pointers are directly put in a `vector` since adding items to a `vector` may reallocate the entire array. The thread code would then write to a now-invalid `ref`, potentially corrupting entirely unrelated data. This should be extremely rare to trigger in practice since we only use one c-ares channel, which will likely only ever use one fd, so the vector is never resized. That said, c-ares using only one fd is just plain fragile luck. Either way, fix this by creating a resolver_fd tracking struct, and clean up the code while we're at it. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* | | | | | | | Merge pull request #9924 from idryzhov/isis-nb-improvementsRuss White2021-11-088-242/+36
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | various isisd northbound fixes
| * | | | | | | | isisd: fix circuit is-type configurationIgor Ryzhov2021-10-307-123/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, we have a lot of checks in CLI and NB layer to prevent incompatible IS-types of circuits and areas. All these checks become completely meaningless when the interface is moved between VRFs. If the area IS-type is different in the new VRF, previously done checks mean nothing and we still end up with incorrect circuit IS type. To actually prevent incorrect IS type, all checks must be done in the processing code. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
| * | | | | | | | isisd: simplify check to forbid area-tag modificationIgor Ryzhov2021-10-301-22/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We can simply check whether the circuit exists already – if it exists, then we forbid the area-tag modification. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
| * | | | | | | | isisd: remove useless checks when configuring ldp-syncIgor Ryzhov2021-10-302-30/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have checks on NB validation stage to prevent configuring LDP sync on interfaces in non-default VRFs. These checks are completely useless, because the interface can be easily moved to another VRF after configuring LDP sync. Instead, the check must be done in the actual code to cover the case when the interface is moved between VRFs. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
| * | | | | | | | isisd: remove useless checks when configuring passive interfacesIgor Ryzhov2021-10-302-30/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, we have some checks in the CLI and NB layer to "protect" from setting loopback interfaces into non-passive mode. These checks are not correct, because we can not rely on operational data during config reading and validation stage as this data doesn't exist yet. There's nothing wrong in allowing "incorrect" configuration – it is already correctly handled by the actual code. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
| * | | | | | | | isisd: don't remove interface config when isis router is deletedIgor Ryzhov2021-10-301-37/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In previous releases, it was not possible to configure ISIS on an interfaces without configuring the ISIS router first. Therefore, we had to delete the ISIS config from all interfaces when the router config was deleted. This is fixed since version 8.0 – interface and router configs are completely separate and don't depend on each other, so now we can remove this hack and preserve the interface config when the router config is deleted. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
* | | | | | | | | Merge pull request #9995 from donaldsharp/bfd_ospf_topo1_convvergenceRuss White2021-11-081-6/+6
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | tests: bfd_ospf_topo1 expects unreasonable convergence times under load