summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | | | | | zebra: set ZEBRA_IFC_DOWN on connected routes for inactive interfacesVolodymyr Huti2022-04-191-0/+4
|/ / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If you are in a situation where you have multiple addresses on an interface, zebra creates one connected route for them. The issue is that the rib entry is not created if addresses were added before the interface was running. We add the address to a running interface in a typical flow. Therefore, we handle the route & rib creation within a single ADD event. In the opposite case, we create the route entries without activating them. These are considered to be active since ZEBRA_IFC_DOWN is not set. On the following interface UP, we ignore the same ADDR_ADD as it overlaps with the existing prefixes -> rib is never created. The minimal reproducible setup: ----------------------------------------- ip link add name dummy0 type dummy ip addr flush dev dummy0 ip link set dummy0 down ip addr add 192.168.1.7/24 dev dummy0 ip addr add 192.168.1.8/24 dev dummy0 ip link set dummy0 up vtysh -c 'show ip route' | grep dummy0 Signed-off-by: Volodymyr Huti <v.huti@vyos.io>
* | | | | | | | | | Merge pull request #11050 from opensourcerouting/fix/pathd_missingDonald Sharp2022-04-194-1/+12
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | packaging: Add pathd to logrotate
| * | | | | | | | | | packaging: Add pathd to logrotateDonatas Abraitis2022-04-194-1/+12
| | |_|_|_|_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
* | | | | | | | | | Merge pull request #11049 from opensourcerouting/fix/usage_for_frrinit.shDonald Sharp2022-04-191-1/+3
|\ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / |/| | | | | | | | | tools: Print usage for frrinit.sh when running without arguments
| * | | | | | | | | tools: Print usage for frrinit.sh when running without argumentsDonatas Abraitis2022-04-191-1/+3
| |/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ``` root@spine1-debian-11:~/frr# /usr/lib/frr/frrinit.sh Usage: /usr/lib/frr/frrinit.sh (start|stop|restart|force-reload|reload|status) ``` Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
* | | | | | | | | Merge pull request #10908 from donaldsharp/proto_only_errormobash-rasool2022-04-191-4/+6
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | zebra: When `zebra nexthop proto only` limit errors
| * | | | | | | | | zebra: When `zebra nexthop proto only` limit errorsDonald Sharp2022-04-181-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Operators are seeing: Mar 28 07:19:37 kingpin zebra[418]: [TZANK-DEMSE] netlink_nexthop_msg_encode: nhg_id 68 (zebra): proto-based nexthops only, ignoring Mar 28 07:19:37 kingpin zebra[418]: [TZANK-DEMSE] netlink_nexthop_msg_encode: nhg_id 68 (zebra): proto-based nexthops only, ignoring Mar 28 07:19:37 kingpin zebra[418]: [YXPF5-B2CE0] netlink_route_multipath_msg_encode: RTM_DELROUTE 2804:4d48:4000::/42 vrf 0(254) Mar 28 07:19:37 kingpin zebra[418]: [YXPF5-B2CE0] netlink_route_multipath_msg_encode: RTM_NEWROUTE 2804:4d48:4000::/42 vrf 0(254) Mar 28 07:19:37 kingpin zebra[418]: [TVM3E-A8ZAG] _netlink_route_build_singlepath: (single-path): 2804:4d48:4000::/42 nexthop via fe80::b6fb:e4ff:fe26:c5d5 if 2 vrf default(0) Mar 28 07:19:37 kingpin zebra[418]: [HYEHE-CQZ9G] nl_batch_send: netlink-dp (NS 0), batch size=140, msg cnt=2 Mar 28 07:19:37 kingpin zebra[418]: [P2XBZ-RAFQ5][EC 4043309074] Failed to install Nexthop ID (68) into the kernel When `zebra nexthop proto only` is turned on. Effectively zebra intentionally does not do the nexthop group installation and the dplane notification in zebra_nhg.c just assumes it was a failure and prints an error message. Since this act was intentional, let's just notice that it was intentional and not report the message as a failure. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
* | | | | | | | | | Merge pull request #10977 from bobuhiro11/alloc_sid_based_on_prefixRuss White2022-04-191-17/+23
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | bgpd: take SRv6 locator's prefix length into account when generating SIDs
| * | | | | | | | | | bgpd: take SRv6 locator's prefix length into account when generating SIDsNobuhiro MIKI2022-04-141-17/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Until now, it has been hard-coded that the position at which the label is inserted is from the 64th bits. Therefore, when the Locator prefix was not /64, incorrect SIDs were generated. Also, SIDs are generated in duplicate on Lines 604 & 613 in bgpd/bgp_mplsvpn.c. In this patch, the position where the label is inserted is calculated based on the sum of block_bits_length and node_bits_length (i.e., the user-specified Locator prefix length). In addition, SID generation is performed at one location in alloc_new_sid. Signed-off-by: Nobuhiro MIKI <nmiki@yahoo-corp.jp>
| * | | | | | | | | | bgpd: fix memory leakNobuhiro MIKI2022-04-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Nobuhiro MIKI <nmiki@yahoo-corp.jp>
* | | | | | | | | | | Merge pull request #10983 from pguibert6WIND/show_isis_nbr_bfdRuss White2022-04-191-0/+10
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | isisd: add bfd information on isis neighbor show command
| * | | | | | | | | | | isisd: add bfd information on isis neighbor show commandPhilippe Guibert2022-04-081-0/+10
| | |_|_|_|_|_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add bfd information on show isis neighbor command. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
* | | | | | | | | | | Merge pull request #11030 from ranjanyash54/minlsRuss White2022-04-191-15/+28
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | ospf6d: Check for MinLSInterval timer when adding to LSUpdate list
| * | | | | | | | | | | ospf6d: Check for MinLSInterval timer when adding to LSUpdate listYash Ranjan2022-04-181-15/+28
| | |_|/ / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A router has some static routes and redistributes turned on. "clear ipv6 ospf process" command is applied. Then static routes are deleted. In 1 in 5 runs, AS-External LSAs are not getting removed from the neighbors even though it gets removed from its own LSDB. Because of the clear process command, MAX_AGE LSAs are advertised and fresh LSAs are installed in the LSDB. When the MAX_LSAs are advertised back to the same router as part of the flooding process, it gets added to the LSUpdate list even though it comes inside the MinLSArrival time. When the static routes get deleted, it removed the LSA from the LSRetrans list but not from LSUpdate list. The LSAs present in the LSUpdate list gets advertised when sending LS Updates. When an old copy of an LSA is more recent than the new LSA, check if it has come inside the MinLSArrival time before adding to the LSUpdate list. Signed-off-by: Yash Ranjan <ranjany@vmware.com>
* | | | | | | | | | | Merge pull request #11040 from donaldsharp/bgp_type5_route_handlingDonatas Abraitis2022-04-191-0/+4
|\ \ \ \ \ \ \ \ \ \ \ | |_|_|_|/ / / / / / / |/| | | | | | | | | | bgpd: Allow type 5 routes to be handled better when link is flapping
| * | | | | | | | | | bgpd: Allow type 5 routes to be handled better when link is flappingDonald Sharp2022-04-181-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In some stress testing, we are seeing type-5 evpn routes being left in a rejected state in zebra. Sequence of events as I am seeing it: a) Interface comes up that type5 routes nexthop depends on b) zebra processes creates the connected and lets bgp know via nht c) bgp installs the route to zebra d) zebra processes and sends install to kernel e) before route is installed, the interface the nexthop points at flaps f) the route install is rejected, notify zebra g) the interface comes up h) zebra gets the notification about the route install rejection i) zebra processes the down/up and turns it into a single up event j) BGP never reinstalls the type 5 route This up event does not translate into a nexthop tracking event when the events happen quickly enough and/or zebra is extremelyh busy and bgp would never see that the nexthops changed even very quickly. This is the same thing that was going on with https://github.com/FRRouting/frr/pull/7724 in PBR. To fix this let's notice the interface up/down events for v4 in bgp now as well. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
* | | | | | | | | | | Merge pull request #11012 from anlancs/bgpd-mh-simplify-conditionDonatas Abraitis2022-04-194-22/+19
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | zebra: simplify one check for evpn-mh
| * | | | | | | | | | | bgpd: correct a few comments for evpn-mhanlan_cs2022-04-123-10/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Correct a few evpn-mh omissions mainly on type-1 and type-4. Signed-off-by: anlan_cs <vic.lan@pica8.com>
| * | | | | | | | | | | zebra: simplify one check for evpn-mhanlan_cs2022-04-121-12/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An simplification for one check in `zebra_evpn_mh_uplink_oper_flags_update()`. Signed-off-by: anlan_cs <vic.lan@pica8.com>
* | | | | | | | | | | | Merge pull request #11043 from mobash-rasool/spell-fixDonatas Abraitis2022-04-192-6/+6
|\ \ \ \ \ \ \ \ \ \ \ \ | |_|_|_|_|_|/ / / / / / |/| | | | | | | | | | | pimd, pim6d: Spelling fixes
| * | | | | | | | | | | pim6d: Correct the spelling of RendezvousMobashshera Rasool2022-04-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rendevous --> Rendezvous Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
| * | | | | | | | | | | pimd: Correct the spelling of RendezvousMobashshera Rasool2022-04-191-4/+4
|/ / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rendevous --> Rendezvous Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
* | | | | | | | | | | Merge pull request #10993 from donaldsharp/more_watchfrr_infoJafar Al-Gharaibeh2022-04-191-0/+6
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | watchfrr: Add some more information to `show watchfrr`
| * | | | | | | | | | | watchfrr: Add some more information to `show watchfrr`Donald Sharp2022-04-181-0/+6
| | |_|/ / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To allow people to know the state of watchfrr from vtysh, let's add a bit more data to the output. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
* | | | | | | | | | | Merge pull request #11032 from anlancs/fix/bgpd-evpn-mh-null-debugJafar Al-Gharaibeh2022-04-191-2/+2
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | bgpd: fix NULL deference in evpn-mh's log
| * | | | | | | | | | | bgpd: fix NULL deference in evpn-mh's loganlan_cs2022-04-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix NULL deference issue in log. And change one word - "vtep", it should be with lowercase letters like other places. Signed-off-by: anlan_cs <vic.lan@pica8.com>
* | | | | | | | | | | | Merge pull request #11029 from rampxxxx/isis_mtuIgor Ryzhov2022-04-192-50/+5
|\ \ \ \ \ \ \ \ \ \ \ \ | |_|_|_|/ / / / / / / / |/| | | | | | | | | | |
| * | | | | | | | | | | isisd: Fix crash in ISIS when mtu mismatch occurslynnemorrison2022-04-182-50/+5
| | |_|_|_|/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When lsp-mtu is configured larger than interface mtu and the interface is brought up, the ISIS code would crash. When other vendors have this misconfiguration they just continue ISIS running and allow the LSP packets to be created but not sent. When the misconfiguration is corrected the LSP packets start being sent. This change creates that same behavior in FRR. The startup issue I am hitting is when the isis lsp-mtu is larger that the interfaces mtu. We run into this case when we are in the process of changing the mtu on a tunnel. I issue a shutdown/no shutdown on the interface, because the tunnel MTU is smaller than the lsp-mtu, it is considered an error and calls circuit_if_del. This deletes part of the circuit information, which includes the circuit->ip_addr list. Later on we get an address update from zebra and try to add the interface address to this list and crash. 2022/04/07 20:19:52.032 ISIS: [GTRPJ-X68CG] CSM_EVENT for tun_gw2: IF_UP_FROM_Z calls isis_circuit_if_add this initialize the circuit->ip_addrs isis_circuit_up has the mtu check circuit->area->lsp_mtu > isis_circuit_pdu_size(circuit) and fails returns ISIS_ERROR on failure call isis_circuit_if_del this deletes the circiut->ip_addrs list <---- 2022/04/07 20:19:52.032 ZEBRA: [NXYHN-ZKW2V] zebra_if_addr_update_ctx: INTF_ADDR_ADD: ifindex 3, addr 192.168.0.1/24 message to isisd to add address isis_zebra_if_address_add isis_circuit_add_addr circuit->ip_addr we try to add the ip address to the list, but it was deleted above and isisd crashes Signed-off-by: Lynne Morrison <lynne.morrison@ibm.com>
* | | | | | | | | | | Merge pull request #11001 from donaldsharp/system_route_recursionRuss White2022-04-183-1/+128
|\ \ \ \ \ \ \ \ \ \ \ | |_|_|/ / / / / / / / |/| | | | | | | | | | zebra: Allow system routes to recurse through themselves
| * | | | | | | | | | tests: Add a test case for a kernel route depending on a kernel routeDonald Sharp2022-04-092-0/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a test case where a kernel route depends on a kernel route and when you perturb an interface, ensure that FRR does not loose the route. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
| * | | | | | | | | | zebra: Allow system routes to recurse through themselvesDonald Sharp2022-04-091-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently if a end user has something like this: Routing entry for 192.168.212.1/32 Known via "kernel", distance 0, metric 100, best Last update 00:07:50 ago * directly connected, ens5 Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, T - Table, v - VNC, V - VNC-Direct, A - Babel, F - PBR, f - OpenFabric, > - selected route, * - FIB route, q - queued, r - rejected, b - backup t - trapped, o - offload failure K>* 0.0.0.0/0 [0/100] via 192.168.212.1, ens5, src 192.168.212.19, 00:00:15 C>* 192.168.212.0/27 is directly connected, ens5, 00:07:50 K>* 192.168.212.1/32 [0/100] is directly connected, ens5, 00:07:50 And FRR does a link flap, it refigures the route and rejects the default route: 2022/04/09 16:38:20 ZEBRA: [NZNZ4-7P54Y] default(0:254):0.0.0.0/0: Processing rn 0x56224dbb5b00 2022/04/09 16:38:20 ZEBRA: [ZJVZ4-XEGPF] default(0:254):0.0.0.0/0: Examine re 0x56224dbddc20 (kernel) status: Changed Installed flags: Selected dist 0 metric 100 2022/04/09 16:38:20 ZEBRA: [GG8QH-195KE] nexthop_active_update: re 0x56224dbddc20 nhe 0x56224dbdd950 (7), curr_nhe 0x56224dedb550 2022/04/09 16:38:20 ZEBRA: [T9JWA-N8HM5] nexthop_active_check: re 0x56224dbddc20, nexthop 192.168.212.1, via ens5 2022/04/09 16:38:20 ZEBRA: [M7EN1-55BTH] nexthop_active: Route Type kernel has not turned on recursion 2022/04/09 16:38:20 ZEBRA: [HJ48M-MB610] nexthop_active_check: Unable to find active nexthop 2022/04/09 16:38:20 ZEBRA: [JPJF4-TGCY5] default(0:254):0.0.0.0/0: After processing: old_selected 0x56224dbddc20 new_selected 0x0 old_fib 0x56224dbddc20 new_fib 0x0 So the 192.168.212.1 route is matched for the nexthop but it is not connected and zebra treats it as a problem. Modify the code such that if a system route matches through another system route, then it should work imo. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
* | | | | | | | | | | Merge pull request #11028 from ↵Russ White2022-04-151-3/+8
|\ \ \ \ \ \ \ \ \ \ \ | |_|/ / / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ton31337/fix/pass_non_transitive_communities_via_rsclient bgpd: Pass non-transitive ext-communities between Route Server and RS clients
| * | | | | | | | | | bgpd: Pass non-transitive ext-communities between Route Server and RS clientsDonatas Abraitis2022-04-141-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://datatracker.ietf.org/doc/html/rfc7947#section-2.2 Optional recognized and unrecognized BGP attributes, whether transitive or non-transitive, SHOULD NOT be updated by the route server (unless enforced by local IXP operator configuration) and SHOULD be passed on to other route server clients. By default LB ext-community works with iBGP peers. When we receive a route from eBGP peer, we can send LB ext-community to iBGP peers. With this patch, allow sending LB ext-community to iBGP/eBGP peers if they are set as RS clients. FRR does not send non-transitive ext-communities to eBGP peers, but for example GoBGP sends and if it's set as RS client, we should pass those attributes towards another RS client. Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
* | | | | | | | | | | Merge pull request #10910 from donaldsharp/doc_nhtSri Mohana Singamsetty2022-04-131-0/+11
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | doc: Add `show ip nht..` documentation
| * | | | | | | | | | | doc: Add `show ip nht..` documentationDonald Sharp2022-04-081-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Donald Sharp <sharpd@nvidia.com>
* | | | | | | | | | | | Merge pull request #10978 from anlancs/bgpd-cleanup-6Russ White2022-04-131-10/+5
|\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | bgpd: cosmetic change for evpn-mh
| * | | | | | | | | | | | bgpd: cosmetic change for evpn-mhanlan_cs2022-04-071-10/+5
| | |_|_|_|/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Two cosmetic change - 1) Remove unnecessary local variable - `es_vtep` used in one condition. 2) Remove unused variable - `es_cnt`. `proc_cnt` has already taken `es` into account. Signed-off-by: anlan_cs <vic.lan@pica8.com>
* | | | | | | | | | | | Merge pull request #10996 from donaldsharp/watchfrr_systemd_interactionsSri Mohana Singamsetty2022-04-131-7/+42
|\ \ \ \ \ \ \ \ \ \ \ \ | |_|_|/ / / / / / / / / |/| | | | | | | | | | | watchfrr: Send operational state to systemd
| * | | | | | | | | | | watchfrr: Send operational state to systemdDonald Sharp2022-04-081-7/+42
| | |/ / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When watchfrr has noticed issues, send operational state to systemd so operators issuing `systemd status frr` can see a more nuanced state of the daemon. Add the `--operational-timeout X` value to the cli. After the daemon has been restarted and communication re-established wait this time before reporting to systemd that the daemon is up and running. Default value of 60 seconds was choosen to allow some small delay in reporting so that, if the daemon is in a crash loop status will not ping pong. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
* | | | | | | | | | | Merge pull request #10987 from ↵Russ White2022-04-132-0/+22
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | opensourcerouting/fix/bgp_conditional_advertisements_rmap_change_peer_groups bgpd: Do not forget to update conditional advertisements rmaps for peer-groups
| * | | | | | | | | | | bgpd: Do not forget to update conditional advertisements rmaps for peer-groupsDonatas Abraitis2022-04-082-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the peer is configured for the first time: ``` neighbor P1 peer-group neighbor P1 remote-as external neighbor P1 advertise-map ADV exist-map EXIST neighbor 10.10.10.1 peer-group P1 ``` Conditional advertisements route-maps are not updated and cond. advertisements do not work until FRR restarted. BGP sessions clear does not help. Or even changing peer-group for a peer, causes this bug to kick in. ``` no neighbor 10.10.10.1 neighbor 10.10.10.1 peer-group P2 ``` With this fix, cond. advertisements start working immediatelly. Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
* | | | | | | | | | | | Merge pull request #11024 from anlancs/bgpd-fix-missing-newlineRuss White2022-04-131-1/+5
|\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | bgpd: fix wrong check for default VRF
| * | | | | | | | | | | | bgpd: fix wrong check for default VRFanlan_cs2022-04-131-1/+5
| | |_|_|_|/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the warning is wrong: ``` root#show bgp vrf default vni BGP instance for VRF default not foundACC1(config)# ``` Two changes for "show bgp vrf VRFNAME vni [json]": - Correct the default VRF check - Add newline for warning Signed-off-by: anlan_cs <vic.lan@pica8.com>
* | | | | | | | | | | | Merge pull request #11025 from anlancs/bgpd-remove-l3nhg-controlRuss White2022-04-132-3/+1
|\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | bgpd: remove unnecessary l3nhg knob for evpn-mh
| * | | | | | | | | | | | bgpd: remove unnecessary l3nhg knob for evpn-mhanlan_cs2022-04-132-3/+1
| |/ / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove unnecessary `install_l3nhg` knob because it has already been controlled by the command: "[no$no] use-es-l3nhg". Signed-off-by: anlan_cs <vic.lan@pica8.com>
* | | | | | | | | | | | Merge pull request #11010 from ↵Russ White2022-04-1310-67/+29
|\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | opensourcerouting/feature/reuse_bgp_attr_set_community_for_flags bgpd: Reuse bgp_attr_set_[el]community() for setting attribute flags
| * | | | | | | | | | | | bgpd: Fix styling, drop braces for single statement blockDonatas Abraitis2022-04-121-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
| * | | | | | | | | | | | bgpd: Reuse bgp_attr_set_ecommunity() for setting attribute flagsDonatas Abraitis2022-04-129-35/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
| * | | | | | | | | | | | bgpd: Reuse bgp_attr_set_[l]community() for setting attribute flagsDonatas Abraitis2022-04-125-30/+13
| |/ / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
* | | | | | | | | | | | Merge pull request #11009 from opensourcerouting/fix/med_for_aggregate-addressRuss White2022-04-132-5/+11
|\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | bgpd: aggregate-address fixes