summaryrefslogtreecommitdiffstats
path: root/staticd (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-05-18doc: remove redundant index directivesIgor Ryzhov5-12/+1
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-05-18isisd: simplify node Sid handlingFredi Raspall1-4/+3
Centralize the n-flag-clear processing to a single point. Signed-off-by: Fredi Raspall <fredi@voltanet.io>
2021-05-18isisd: clear the N-flag in ext. reachability TLVsFredi Raspall1-1/+1
If the n-flag-clear option is set in the configuration of a prefix segment, clear the flag in the extended ip reachability TLVs. RFCs 7794 and 8667 are not too strict on the setting / clearing the N-flag in prefix SIDs. However, if there exists a cmd line option to clear it, it should be cleared in the TLVs announced, as other vendors do. Signed-off-by: Fredi Raspall <fredi@voltanet.io>
2021-05-18tests: adding ospf basic 2 testcases.nguggarigoud4-2/+244
Test cases included are 1 ospf cost, 1 ospf mtu. Signed-off-by: nguggarigoud <nguggarigoud@vmware.com>
2021-05-18lib: libyang2 add missed conversionChristian Hopps8-65/+88
Signed-off-by: Christian Hopps <chopps@labn.net>
2021-05-17ripngd: fix interface wakeup after shutdownIgor Ryzhov1-0/+3
RIPNG schedules a call to `ripng_interface_wakeup` in 1 second after receiving the interface UP event from zebra. The function is called even if the interface was shut down during this interval. This is incorrect and also leads to a crash in the following scenario: ``` vtysh -c "conf" -c "router ripng vrf red" -c "network enp2s0" ip link add red type vrf table 1 ip link set enp2s0 vrf red ip link set enp2s0 down ip link set enp2s0 up && sleep 2 && ip link del red ``` Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-05-17ripd: fix interface wakeup after shutdownIgor Ryzhov1-0/+3
RIP schedules a call to `rip_interface_wakeup` in 1 second after receiving the interface UP event from zebra. The function is called even if the interface was shut down during this interval. This is incorrect and also leads to a crash in the following scenario: ``` vtysh -c "conf" -c "router rip vrf red" -c "network enp2s0" ip link add red type vrf table 1 ip link set enp2s0 vrf red ip link set enp2s0 down ip link set enp2s0 up && ip link del red ``` Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-05-17tests: fix missing gitignore entryIgor Ryzhov1-0/+1
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-05-14bgpd: fix display of timers when only 1 is changedQuentin Young1-1/+1
When only one of the keepalive or hold timers is changed from the default, bgp won't print the timers command in the config. Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-05-13lib: adapt to version 2 of libyangChristian Hopps71-1267/+1226
Compile with v2.0.0 tag of `libyang2` branch of: https://github.com/CESNET/libyang staticd init load time of 10k routes now 6s vs ly1 time of 150s Signed-off-by: Christian Hopps <chopps@labn.net>
2021-05-12pimd: Use __func__ instead of __PRETTY_FUNCTION__Donald Sharp1-1/+1
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-05-12ospfd: Use _func__ instead of __PRETTY_FUNCTION__Donald Sharp6-43/+32
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-05-12zebra: Use __func__ instead of __PRETTY_FUNCTION__Donald Sharp3-10/+8
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-05-12bgpd: use __func__ instead of __PRETTY_FUNCTION__Donald Sharp2-5/+5
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-05-12lib,zebra: Use a flag to track down status for connected addrsMark Stapp2-5/+26
Track 'down' state of connected addresses with a new flag. We may have multiple addresses on an interface that share a prefix; in those cases, we need to determine when the first address is valid, to install a connected route, and similarly detect when the last address goes 'down', to remove the connected route. Signed-off-by: Mark Stapp <mjs@voltanet.io>
2021-05-12tests: Add pytestmark to the flowspec topotestDonald Sharp1-0/+4
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-05-12bgpd: Remove usage of prefix2str and use builtin in bgp_zebra.cDonald Sharp1-11/+7
Convert over from prefix2str explicit call and use the builtin %pFX we have now. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-05-12bgpd: reduce cut-n-paste of bgp_zebra_announce_default for installDonald Sharp1-11/+13
This bit of code was cut-n-pasted all over the place: if (!bpa->installed && !bpa->install_in_progress) { bgp_send_pbr_rule_action(bpa, NULL, true); bgp_zebra_announce_default(bgp, nh, bpa->afi, bpa->table_id, true); } Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-05-12bgpd: reduce cut-n-paste code in bgp_pbr.cDonald Sharp1-32/+14
Create a function bgp_bpr_bpa_remove that is this cut-n-paste code: if (bpa->refcnt == 0) { if (bpa->installed && bpa->table_id != 0) { bgp_send_pbr_rule_action(bpa, NULL, false); bgp_zebra_announce_default(bpa->bgp, &(bpa->nh), AFI_IP, bpa->table_id, false); bpa->installed = false; } } Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-05-12tests: Fix pylint issues in test_bgp_recursive_route_ebgp_multi_hop.pyDonald Sharp1-15/+15
Tests had format for strings with 2 variables but 1 place to put the data. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-05-12tests: Skip example_topojson_test and example_test from being testedDonatas Abraitis1-1/+1
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-05-12zebra: Consolidate on 1 function netlink_parse_rattr_nestedDonald Sharp1-13/+13
if_netlink.c created it's on nested parsing #define which is identical to netlink_parse_rtattr_nested. Consolidate on one instead of having this duality. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-05-12zebra: memset the `struct rtattr *tb[SIZE]` in setting functionDonald Sharp3-19/+3
In order to parse the netlink message into the `struct rtattr *tb[size]` it is assumed that the buffer is memset to 0 before the parsing. As such if you attempt to read a value that was not returned in the message you will not crash when you test for it. The code has places were we memset it and places where we don't. This *will* lead to crashes when the kernel changes. In our parsing routines let's have them memset instead of having to remember to do it pre pass in to the parser. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-05-12lib: Add ZCAP_IPC_LOCKDonald Sharp2-0/+5
We'll need ZCAP_IPC_LOCK for future work coming down the pike related to dataplane work being done. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-05-11bgpd: fix deconfig of conditional advertisementQuentin Young1-1/+1
Deconfiguring conditional advertisement resulted in all other policy settings on the peer getting removed due to an excessively large memset. This also created a desync with the northbound config tree, which caused its own set of problems... Fix the memset to just remove the conditional advertisement config. Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-05-11ospf6d: document the interface address limits for ospfv3lynne1-0/+10
Signed-off-by: Lynne Morrison <lynne@voltanet.io>
2021-05-11ospf6d: Limit the number of interface addresses being supportedlynne6-7/+84
The code had no limits on addresses configured on an interface running ospf6d. The code would crash when more than 100 addresses were added. This change limits the number of interface address to 100 if mtu is set to the default value. If the mtu is set to a jumbo packet size or larger we will support 200 interface addresses. Signed-off-by: Lynne Morrison <lynne@voltanet.io>
2021-05-11tools: Ignore mass renaming of topotests for git blameDonatas Abraitis1-0/+1
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-05-11tests: Unify directory naming for topotestsDonatas Abraitis2082-0/+0
Change every `-` to `_` in directory names. This is to avoid mixing _ and -. Just for consistency and directory sorting properly. Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-05-11tools: Fix topotest directory for TravisDonatas Abraitis1-2/+2
ospf1-topo1 => ospf1_topo1 Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-05-11doc: Require topotests directory to be consistent with othersDonatas Abraitis1-5/+7
Just add a requirement to avoid hyphens in directory naming. Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-05-11doc: Move BGP community alias under a separate sectionDonatas Abraitis1-18/+32
There are more useful CLI commands comming, thus it's desired to have it's own section. Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-05-11ospf6d: Send MAXAGE LS update for received old self-originated LSAsMartin Buck1-8/+10
Fixes OSPFv3-26.13 ANVL RFC conformance bug #8576 by improving the bugfix for #7030 from 4c63a76a. That commit changed handling of received old non-MAXAGE LSAs with a MAXAGE counterpart in the LSDB from "add all LSAs to LSDB and flood non-self-originated ones" to "add & flood only non-self-originated LSAs and ignore self-originated LSAs". The new behaviour is similar but adds sending a MAXAGE LS Update for received self-originated LSAs to remove the old LSAs from the network, resulting in "add & flood non-self-originated LSAs, don't add but send MAXAGE LS Update for self-originated LSAs". The missing MAXAGE LS Update is what OSPFv3-26.13 ANVL complained about. Signed-off-by: Martin Buck <mb-tmp-tvguho.pbz@gromit.dyndns.org>
2021-05-10bgpd: scope evpn specific path selection to type-2 routesNeal Shrader1-4/+8
For EVPN routes, there is specific logic in place for path selection surrounding MAC Mobility. For pure type-5 routes, if a route is advertised with a MED, this is ignored since it ultimately falls inside of the EVPN specific path selection logic, and ultimately selects the lower IP address. This change ensures only type-2 routes fall into the EVPN BGP path selection. Signed-off-by: Neal Shrader <neal@digitalocean.com>
2021-05-10pathd. Pathd TED support . Documentation update - [part 4/4]Javier Garcia1-19/+21
- As an example of pathd and igp (ospfd) config: ! igp ospfv2 snippet interface eth0 ip ospf network point-to-point ! router ospf$ mpls-te on mpls-te export ... !pathd snippet segment-routing traffic-eng mpls-te on mpls-te import ospfv2 segment-list sl-1 index 10 nai adjacency 10.1.2.11 10.1.2.1 index 20 nai adjacency 10.1.20.1 10.1.20.2 index 30 nai adjacency 10.2.5.2 10.2.5.5 ! policy color 5 endpoint 10.10.10.5 name five binding-sid 5555 candidate-path preference 600 name cp51 explicit segment-list sl-1 candidate-path preference 500 name cp52-dyn dynamic Signed-off-by: Javier Garcia <javier.garcia@voltanet.io>
2021-05-10pathd. TED support . Topotest - [part 3/4]Javier Garcia26-0/+1384
Signed-off-by: Javier Garcia <javier.garcia@voltanet.io>
2021-05-10pathd. TED support . Validation of candidate path - [part 2/4]Javier Garcia8-124/+752
- Explicit segment list nai will be resolved to corresponded sid. - Dynamic segment list (from pce) will be validated. - If segment list could not be resolved or validated won't be used. - Now this new config is supported segment-list sl-1 index 10 nai prefix 10.1.2.1/32 iface 1 index 30 nai adjacency 10.2.5.2 10.2.5.5 index 40 nai prefix 10.10.10.5/32 algorithm 0 Signed-off-by: Javier Garcia <javier.garcia@voltanet.io>
2021-05-10pathd. TED support . Client to link State - [part 1/4]Javier Garcia7-2/+987
- pathd will act as a client to for the configured igp. - pathd must be configured to activate and receive data from igp. !pathd config snippet segment-routing traffic-eng mpls-te on mpls-te import ospfv2 Signed-off-by: Javier Garcia <javier.garcia@voltanet.io>
2021-05-10bgpd: deregister bgp instance from zebra when vrf is deletedIgor Ryzhov4-27/+47
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-05-09Revert "bgpd: vrf route leaking, fix vrf redistribute"Igor Ryzhov2-6/+14
This reverts commit 6b2433c63f7fd3027cea8e06ca45f85bd3eea6f2.
2021-05-09zebra: fix style warnings in previous commitsDavid Lamparter3-4/+4
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-05-09tests: fix build warningIgor Ryzhov1-1/+1
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-05-08zebra: check vni oper state in svi up notifChirag Shah1-2/+5
When clagd is stopped on secondary device, all vxlan interfaces (vnis) are kept in protodown state. FRR treats protodown vxlan interfaces (vnis) as interface down and sends vni delete to bgpd. In the event of clagd down, SVIs are flapping as underlying bridge is going through churn. When FRR receives SVI up notification do not trigger event to bgpd if vnis are operationaly down. Ticket:#2600210 CM-22929 Reviewed By:CCR-11544 Testing Done: Performed CLAG stop/start on secondary device, all vxlan devices remained in protodown along with this validated the vnis are cleaned up and added back in bgpd. Signed-off-by: Chirag Shah <chirag@nvidia.com>
2021-05-07ospfd: free "default-information originate" config when removing routerIgor Ryzhov1-2/+7
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-05-07lib: remove old bfd libraryIgor Ryzhov6-431/+77
This commit also adds missing `bfd_protocol_integration_set_shutdown` to ospf6d and pimd. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-05-07isisd: fix bfd config outputIgor Ryzhov1-4/+6
Don't show default BFD config ("no isis bfd") if show_enabled flag is not set. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-05-07isisd: enable autocompletion for bfd profilesIgor Ryzhov1-1/+1
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-05-07isisd: fix "no bfd profile" commandIgor Ryzhov1-9/+11
Instead of setting the profile to an empty string we should destroy the NB node. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-05-07isisd: rework BFD integrationIgor Ryzhov10-413/+97
Rewrite the BFD integration code to use the new library. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-05-06bgpd: don't return error for GR no-op commandsIgor Ryzhov1-7/+0
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>