]>
git.puffer.fish Git - matthieu/frr.git/log
Mark Stapp [Thu, 31 Mar 2022 11:22:14 +0000 (07:22 -0400)]
Merge pull request #10915 from opensourcerouting/printfrr-pzn
doc/developer: daemon-specific printfrr formats
Igor Ryzhov [Thu, 31 Mar 2022 08:16:43 +0000 (11:16 +0300)]
Merge pull request #10934 from opensourcerouting/fix/ospf_state_neighbor_detail
Donatas Abraitis [Wed, 30 Mar 2022 19:19:55 +0000 (22:19 +0300)]
ospfd: Show neighbor state in full format (e.g. Full/DR instead of Full)
Before:
```
$ vtysh -c 'show ip ospf neighbor json' | jq '.neighbors."100.100.200.100"[0].nbrState'
"Full/DR"
$ vtysh -c 'show ip ospf neighbor detail json' | jq '.neighbors."100.100.200.100"[0].nbrState'
"Full"
```
After:
```
$ vtysh -c 'show ip ospf neighbor json' | jq '.neighbors."100.100.200.100"[0].nbrState'
"Full/DR"
$ vtysh -c 'show ip ospf neighbor detail json' | jq '.neighbors."100.100.200.100"[0].nbrState'
"Full/DR"
```
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas Abraitis [Wed, 30 Mar 2022 18:14:25 +0000 (21:14 +0300)]
Merge pull request #10926 from donaldsharp/all_stop
tools: Modify all_stop to actually try to stop all daemons
David Lamparter [Wed, 30 Mar 2022 15:15:54 +0000 (17:15 +0200)]
Merge pull request #10676 from AbhishekNR/pim_showcli_com
Donald Sharp [Wed, 30 Mar 2022 14:34:56 +0000 (10:34 -0400)]
Merge pull request #10912 from mobash-rasool/fixes2
pimd: Do not create PIM state when an invalid IGMPv3 join is received
David Lamparter [Tue, 29 Mar 2022 12:26:00 +0000 (14:26 +0200)]
doc/developer: daemon-specific printfrr formats
Group together and extend docs on daemon-specific printfrr formats.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Donald Sharp [Wed, 30 Mar 2022 12:27:48 +0000 (08:27 -0400)]
Merge pull request #10922 from idryzhov/ospf6-crash
ospf6d: fix crash when applying a route-map on a temporary route
Donald Sharp [Wed, 30 Mar 2022 11:53:03 +0000 (07:53 -0400)]
Merge pull request #10918 from opensourcerouting/fix/bgpd_crash
bgpd: Fix Lua route-map crash
Donald Sharp [Tue, 29 Mar 2022 21:47:48 +0000 (17:47 -0400)]
tools: Modify all_stop to actually try to stop all daemons
If a user enters:
/usr/lib/frr/frrinit.sh start
<modifies daemons file to remove a daemon from being used>
then calls:
/usr/lib/frr/frrinit.sh stop
The daemon(s) that are removed from the file are not stopped.
Apparently in shell scripting naming the variables the same
as the callee does not work as one would think. Just renaming
the variable to something else solved the problem.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donatas Abraitis [Wed, 30 Mar 2022 07:20:45 +0000 (10:20 +0300)]
Merge pull request #10850 from crosser/fix-m4-gitignore
autoconf: do not .gitignore m4/ax_lua.m4
Donatas Abraitis [Wed, 30 Mar 2022 07:20:36 +0000 (10:20 +0300)]
Merge pull request #10902 from bobuhiro11/fix_zebra_srv6_func_bits
zebra: fix doc and default value of "func-bits" for SRv6
Russ White [Tue, 29 Mar 2022 15:30:47 +0000 (11:30 -0400)]
Merge pull request #10838 from ton31337/feature/bgpd_callbacks_for_start_end_configurations
bgpd: Add BGP configuration start/end markers
Russ White [Tue, 29 Mar 2022 15:29:51 +0000 (11:29 -0400)]
Merge pull request #10825 from fdumontet6WIND/ospfdefaultoriginatedissue2
ospfd: fix ospf default route wrongly sent back
Russ White [Tue, 29 Mar 2022 15:15:21 +0000 (11:15 -0400)]
Merge pull request #10848 from pguibert6WIND/ospf_srlb_config
Ospf srlb config
Russ White [Tue, 29 Mar 2022 15:14:05 +0000 (11:14 -0400)]
Merge pull request #10837 from opensourcerouting/fix/consistent_JSON_keys_for_ospf_neighbor
ospfd: Use consistent JSON keys for `show ip ospf neighbor` and detaiā¦
Russ White [Tue, 29 Mar 2022 15:13:29 +0000 (11:13 -0400)]
Merge pull request #10845 from opensourcerouting/feature/unify_bgp_logging
bgpd: Print hostname along with IP for most useful debug messages
Russ White [Tue, 29 Mar 2022 15:10:19 +0000 (11:10 -0400)]
Merge pull request #10888 from anlancs/bgpd-cleanup-3
bgpd: small simplification for evpn RT commands
Igor Ryzhov [Tue, 29 Mar 2022 15:09:53 +0000 (18:09 +0300)]
ospf6d: fix crash when applying a route-map on a temporary route
ospf6_routemap_rule_match_interface uses route->ospf6 field for matching
so we must fill the field in our temporary variable.
Fixes #10911.
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
Russ White [Tue, 29 Mar 2022 15:07:30 +0000 (11:07 -0400)]
Merge pull request #10906 from opensourcerouting/fix/stop_llgr_timer_when_established
bgpd: Stop LLGR timer when the connection is established
Russ White [Tue, 29 Mar 2022 15:06:39 +0000 (11:06 -0400)]
Merge pull request #10913 from louis-oui/lsp-parse
isisd: fix infinite loop when parsing LSPs
Russ White [Tue, 29 Mar 2022 15:01:17 +0000 (11:01 -0400)]
Merge pull request #10834 from rgirada/ospf_def
ospfd: Default route becomes stale route in nbrs even after flush from originator
Russ White [Tue, 29 Mar 2022 14:51:02 +0000 (10:51 -0400)]
Merge pull request #10719 from opensourcerouting/nb-show-fixes
lib: fix and improve yang operational data display
Donatas Abraitis [Tue, 29 Mar 2022 14:47:28 +0000 (17:47 +0300)]
bgpd: Make sure we pop the table from the stack when decoding struct attr
```
bgpd[81718]: bgpd/bgp_routemap.c:382: route_match_script(): assertion (lua_gettop(lfs->L) == 1) failed
BGP[81718]: Received signal 6 at
1648554165 (si_addr 0x6e00013f36, PC 0x7fcc5adebce1); aborting...
BGP[81718]: /usr/local/lib/libfrr.so.0(zlog_backtrace_sigsafe+0x5e) [0x7fcc5b1caf5e]
BGP[81718]: /usr/local/lib/libfrr.so.0(zlog_signal+0xe6) [0x7fcc5b1cb136]
BGP[81718]: /usr/local/lib/libfrr.so.0(+0xcd4b2) [0x7fcc5b1f54b2]
BGP[81718]: /lib/x86_64-linux-gnu/libpthread.so.0(+0x14140) [0x7fcc5af89140]
BGP[81718]: /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x141) [0x7fcc5adebce1]
BGP[81718]: /lib/x86_64-linux-gnu/libc.so.6(abort+0x123) [0x7fcc5add5537]
BGP[81718]: /usr/local/lib/libfrr.so.0(_zlog_assert_failed+0xd7) [0x7fcc5b21ecd7]
BGP[81718]: /usr/lib/frr/bgpd(+0x162710) [0x55ed70255710]
BGP[81718]: /usr/local/lib/libfrr.so.0(+0xc0e47) [0x7fcc5b1e8e47]
BGP[81718]: /usr/local/lib/libfrr.so.0(route_map_apply_ext+0x4b6) [0x7fcc5b1eaaf6]
BGP[81718]: /usr/lib/frr/bgpd(+0x13eb24) [0x55ed70231b24]
BGP[81718]: /usr/lib/frr/bgpd(bgp_update+0x7db) [0x55ed7023f81b]
BGP[81718]: /usr/lib/frr/bgpd(bgp_nlri_parse_ip+0x113) [0x55ed70241bc3]
```
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas Abraitis [Tue, 29 Mar 2022 09:11:57 +0000 (12:11 +0300)]
bgpd: Do not print .lua extension twice
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
mobash-rasool [Tue, 29 Mar 2022 13:00:10 +0000 (18:30 +0530)]
Merge pull request #10882 from opensourcerouting/pim6-txrx
pim6d: send IPv6 PIM packets
Russ White [Tue, 29 Mar 2022 12:36:05 +0000 (08:36 -0400)]
Merge pull request #10158 from ckishimo/ospf6d_norefresh
ospf6d: stop refreshing type-5 from NSSA
Louis Scalbert [Mon, 28 Mar 2022 12:32:53 +0000 (14:32 +0200)]
isisd: fix infinite loop when parsing LSPs
Fixing the crash:
> #0 0x0000560aa80f8e30 in lspdb_const_find (h=<error reading variable: Cannot access memory at address 0x7fff5e95efe8>, item=<error reading variable: Cannot access memory at address 0x7fff5e95efe0>) at ./isisd/isis_lsp.h:64
> #1 0x0000560aa80f8e9d in lspdb_find (h=0x560aaa1ed3b8, item=0x7fff5e95f050) at ./isisd/isis_lsp.h:64
> #2 0x0000560aa80f92f9 in lsp_search (head=0x560aaa1ed3b8, id=0x7fff5e95f200 "") at isisd/isis_lsp.c:100
> #3 0x0000560aa8113d69 in spf_adj_list_parse_tlv (spftree=0x560aaa1f09d0, adj_list=0x560aaa214480, id=0x560aad331a78 "", desig_is_id=0x0, pseudo_metric=0, metric=3, oldmetric=false, subtlvs=0x0) at isisd/isis_spf.c:1330
> #4 0x0000560aa811419d in spf_adj_list_parse_lsp (spftree=0x560aaa1f09d0, adj_list=0x560aaa214480, lsp=0x560aaa1f4e50, pseudo_nodeid=0x0, pseudo_metric=0) at isisd/isis_spf.c:1429
> #5 0x0000560aa81141fe in spf_adj_list_parse_lsp (spftree=0x560aaa1f09d0, adj_list=0x560aaa214480, lsp=0x560aaa1ff8e0, pseudo_nodeid=0x0, pseudo_metric=0) at isisd/isis_spf.c:1442
> #6 0x0000560aa81141fe in spf_adj_list_parse_lsp (spftree=0x560aaa1f09d0, adj_list=0x560aaa214480, lsp=0x560aaa1f4e50, pseudo_nodeid=0x0, pseudo_metric=0) at isisd/isis_spf.c:1442
> (...)
> #65507 0x0000560aa81141fe in spf_adj_list_parse_lsp (spftree=0x560aaa1f09d0, adj_list=0x560aaa214480, lsp=0x560aaa1ff8e0, pseudo_nodeid=0x0, pseudo_metric=0) at isisd/isis_spf.c:1442
> #65508 0x0000560aa81141fe in spf_adj_list_parse_lsp (spftree=0x560aaa1f09d0, adj_list=0x560aaa214480, lsp=0x560aaa1f4e50, pseudo_nodeid=0x0, pseudo_metric=0) at isisd/isis_spf.c:1442
> #65509 0x0000560aa81141fe in spf_adj_list_parse_lsp (spftree=0x560aaa1f09d0, adj_list=0x560aaa214480, lsp=0x560aaa1ff8e0, pseudo_nodeid=0x0, pseudo_metric=0) at isisd/isis_spf.c:1442
> #65510 0x0000560aa81141fe in spf_adj_list_parse_lsp (spftree=0x560aaa1f09d0, adj_list=0x560aaa214480, lsp=0x560aaa1f4e50, pseudo_nodeid=0x0, pseudo_metric=0) at isisd/isis_spf.c:1442
> #65511 0x0000560aa8114313 in isis_spf_build_adj_list (spftree=0x560aaa1f09d0, lsp=0x560aaa1f4e50) at isisd/isis_spf.c:1455
> #65512 0x0000560aa8114f09 in isis_run_spf (spftree=0x560aaa1f09d0) at isisd/isis_spf.c:1775
> #65513 0x0000560aa8115057 in isis_run_spf_with_protection (area=0x560aaa1ed3b0, spftree=0x560aaa1f09d0) at isisd/isis_spf.c:1801
> #65514 0x0000560aa8115311 in isis_run_spf_cb (thread=0x7fff5f15e5a0) at isisd/isis_spf.c:1859
> #65515 0x00007f90bac66dcc in thread_call (thread=0x7fff5f15e5a0) at lib/thread.c:2002
> #65516 0x00007f90bac013ee in frr_run (master=0x560aa9f5cb40) at lib/libfrr.c:1196
> #65517 0x0000560aa80e7da2 in main (argc=2, argv=0x7fff5f15e7b8, envp=0x7fff5f15e7d0) at isisd/isis_main.c:273
Fixes: 7b36d36e0e ("isisd: make the SPF code more modular")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
Abhishek N R [Tue, 15 Feb 2022 10:19:39 +0000 (02:19 -0800)]
pim6d: Implementing "show ipv6 pim state" CLI
Adding new show CLI to display pim internal state related to groups.
Signed-off-by: Abhishek N R <abnr@vmware.com>
Abhishek N R [Tue, 15 Feb 2022 07:42:40 +0000 (23:42 -0800)]
pim6d: Implementing "show ipv6 pim upstream-rpf" CLI.
Adding new show CLI to display pim RPF for upstreams.
Signed-off-by: Abhishek N R <abnr@vmware.com>
Abhishek N R [Tue, 15 Feb 2022 07:24:31 +0000 (23:24 -0800)]
pim6d: Implementing "show ipv6 pim upstream-join-desired" CLI
Adding new show CLI to display group join desired status.
Signed-off-by: Abhishek N R <abnr@vmware.com>
Abhishek N R [Fri, 11 Feb 2022 05:15:31 +0000 (21:15 -0800)]
pim6d: Implementing "show ipv6 pim upstream" CLI
Adding new show CLI to display pim upstream information.
Signed-off-by: Abhishek N R <abnr@vmware.com>
Abhishek N R [Wed, 9 Feb 2022 07:19:25 +0000 (23:19 -0800)]
pim6d: Implementing "show ipv6 pim statistics" CLI
Adding new show CLI to display pim statistics.
Signed-off-by: Abhishek N R <abnr@vmware.com>
Abhishek N R [Wed, 9 Feb 2022 04:32:14 +0000 (20:32 -0800)]
pim6d: Implementing "show ipv6 pim secondary" CLI
Adding new show CLI to display pim secondary addresses.
Signed-off-by: Abhishek N R <abnr@vmware.com>
Abhishek N R [Fri, 4 Mar 2022 07:56:19 +0000 (23:56 -0800)]
pim6d: Implementing "show ipv6 pim rpf" CLI
Adding new show CLI to display pim RPF information.
Also corrected ipv4 json object.
Signed-off-by: Abhishek N R <abnr@vmware.com>
Abhishek N R [Tue, 8 Feb 2022 17:15:06 +0000 (09:15 -0800)]
pimd: Moving the common functions from pim_cmd.c
Moving the functions that are used by both IPV4 and IPV6 to a
common file pim_cmd_common.c file
Signed-off-by: Abhishek N R <abnr@vmware.com>
Abhishek N R [Mon, 7 Feb 2022 10:13:16 +0000 (02:13 -0800)]
pim6d: Implementing "show ipv6 pim rp-info" CLI
Adding new show CLI to display pim RP information.
Also corrected ipv4 json object.
Signed-off-by: Abhishek N R <abnr@vmware.com>
Donatas Abraitis [Tue, 29 Mar 2022 05:53:44 +0000 (08:53 +0300)]
Merge pull request #10904 from mobash-rasool/fixes
pim6d: Correct the show ip prefix-list display for pim6d
Mobashshera Rasool [Mon, 28 Mar 2022 10:42:15 +0000 (03:42 -0700)]
pimd: update the pim state when there is a group change
Re-evaluate the creation/deletion of groups when there is
a change in group type.
Issue: #10128
Co-authored-by: Vishal Dhingra <rac.vishaldhingra@gmail.com>
Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
Mobashshera Rasool [Mon, 28 Mar 2022 10:09:58 +0000 (03:09 -0700)]
pimd: Do not create PIM state for invalid (S,G)
Currently FRR creates an (S,G) PIM state when an IGMPv3
(S,G) join with INCLUDE mode is received for the ASM group.
Since it is an ASM group, we should not create (S,G) PIM state
and should not be sending PIM (S,G) joins towards the source.
This is a misconfiguration. So keep this group in IGMP table
and do not create PIM state.
Issue: #10128
Co-authored-by: Vishal Dhingra <rac.vishaldhingra@gmail.com>
Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
ckishimo [Wed, 5 Jan 2022 22:46:24 +0000 (23:46 +0100)]
ospf6d: fix topotest
The routes in the test_nssa_range() are E2
"routes":{
"2001:db8:1000::2/128":{
"destinationType":"Network",
"installedTimeSince":"00:06:29",
"changedTimeSince":"00:06:29",
"numberOfLock":2,
"flags":"BA--",
"associatedArea":"0.0.0.2",
"pathType":"External-2",
"lsOriginRoutePathType":"NSSA",
"lsId":"0.0.0.3",
"lsAdvertisingRouter":"10.254.254.4",
"options":"--|-|-|--|-|--",
"routerBits":"--------",
"prefixOptions":"--|P|--|--|--",
"metricType":2,
"metricCost":10,
"metricCostE2":20,
"pathsCount":1,
"nextHopCount":1,
"nextHops":[
{
"nextHop":"::",
"interfaceName":"r2-eth2"
}
]
}
This PR fixes the key from `metricCost` to `metricCostE2`
Signed-off-by: ckishimo <carles.kishimoto@gmail.com>
ckishimo [Wed, 5 Jan 2022 19:27:55 +0000 (20:27 +0100)]
ospf6d: fix NSSA area-range command
When an area-range command is applied in an ABR, the more specific prefixes
need to be removed.
r2# sh ipv6 ospf database
AS Scoped Link State Database
Type LSId AdvRouter Age SeqNum Payload
ASE 0.0.0.1 10.254.254.2 53
80000001 ::
ASE 0.0.0.2 10.254.254.2 51
80000001 2001:db8:1::/64
ASE 0.0.0.3 10.254.254.2 51
80000001 2001:db8:3::/64
ASE 0.0.0.4 10.254.254.2 51
80000001 2001:db8:2::/64
ASE 0.0.0.5 10.254.254.2 46
80000001 2001:db8:1::/64
ASE 0.0.0.6 10.254.254.2 46
80000001 2001:db8:3::/64
ASE 0.0.0.7 10.254.254.2 46
80000001 2001:db8:2::/64
ASE 0.0.0.8 10.254.254.2 41
80000001 2001:db8:3::/64
ASE 0.0.0.9 10.254.254.2 41
80000001 2001:db8:1000::1/128 <-- **
ASE 0.0.0.10 10.254.254.2 41
80000001 2001:db8:1000::2/128 <-- **
ASE 0.0.0.12 10.254.254.2 24
80000001 2001:db8:1000::/64
ASE 0.0.0.1 10.254.254.3 52
80000001 2001:db8:2::/64
Signed-off-by: ckishimo <carles.kishimoto@gmail.com>
David Lamparter [Mon, 28 Mar 2022 15:57:50 +0000 (17:57 +0200)]
pim6d: box out IPv4 fragmentation code
... this shouldn't run for IPv6. (We'll switch to not using
IPV6_HDRINCL later, so the kernel will handle it, but for the time being
let's just stop trying to use the IPv4 code for IPv6.)
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Donald Sharp [Mon, 28 Mar 2022 12:27:19 +0000 (08:27 -0400)]
Merge pull request #10878 from ton31337/fix/bgp_crash_vrf_all_all
bgpd: Fix crash for `show ip bgp vrf all all`
Donald Sharp [Mon, 28 Mar 2022 12:23:36 +0000 (08:23 -0400)]
Merge pull request #10897 from opensourcerouting/safi-nht
zebra,staticd,*: SAFI_MULTICAST NHT groundwork
David Lamparter [Sun, 27 Mar 2022 10:04:39 +0000 (12:04 +0200)]
pim6d: include IPv6 pseudoheader in RX checksums
A lot simpler than the TX code.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
David Lamparter [Sun, 27 Mar 2022 09:50:40 +0000 (11:50 +0200)]
pim6d: include IPv6 pseudoheader in TX checksums
Lots of passing src/dst around, but it is what it is.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
David Lamparter [Sat, 12 Mar 2022 21:08:35 +0000 (22:08 +0100)]
pim6d: reenable socket functions
pim_sock_*() functions are adapted for IPv6 now, reenable calling them.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
David Lamparter [Sat, 12 Mar 2022 21:43:05 +0000 (22:43 +0100)]
pim6d: send PIM packets
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
David Lamparter [Mon, 28 Mar 2022 12:04:44 +0000 (14:04 +0200)]
Merge pull request #10661 from plsaranya/pim6_msg
Donatas Abraitis [Mon, 28 Mar 2022 08:41:35 +0000 (11:41 +0300)]
bgpd: Stop LLGR timer when the connection is established
When the connection goes up, the timer is not stopped and if we have a
subsequent GR event we have an old timer which is not as we expect.
Before:
```
spine1-debian-11# sh ip bgp 192.168.100.1/32
BGP routing table entry for 192.168.100.1/32, version 95
Paths: (1 available, best #1, table default, mark routes to be retained for a longer time. Requires support for Long-lived BGP Graceful Restart)
Not advertised to any peer
65001 47583, (stale)
192.168.0.1 from 192.168.0.1 (100.100.200.100)
Origin incomplete, valid, external, best (First path received)
Community: llgr-stale
Last update: Mon Mar 28 08:27:53 2022
Time until Long-lived stale route deleted: 23 <<<<<<<<<<<<
spine1-debian-11# sh ip bgp 192.168.100.1/32
BGP routing table entry for 192.168.100.1/32, version 103
Paths: (1 available, best #1, table default)
Advertised to non peer-group peers:
192.168.0.1
65001 47583
192.168.0.1 from 192.168.0.1 (100.100.200.100)
Origin incomplete, valid, external, best (First path received)
Last update: Mon Mar 28 08:43:29 2022
spine1-debian-11# sh ip bgp 192.168.100.1/32
BGP routing table entry for 192.168.100.1/32, version 103
Paths: (1 available, best #1, table default, mark routes to be retained for a longer time. Requires support for Long-lived BGP Graceful Restart)
Not advertised to any peer
65001 47583, (stale)
192.168.0.1 from 192.168.0.1 (100.100.200.100)
Origin incomplete, valid, external, best (First path received)
Community: llgr-stale
Last update: Mon Mar 28 08:43:30 2022
Time until Long-lived stale route deleted: 17 <<<<<<<<<<<<<<<
```
After:
```
spine1-debian-11# sh ip bgp 192.168.100.1/32
BGP routing table entry for 192.168.100.1/32, version 79
Paths: (1 available, best #1, table default, mark routes to be retained for a longer time. Requires support for Long-lived BGP Graceful Restart)
Not advertised to any peer
65001 47583, (stale)
192.168.0.1 from 192.168.0.1 (0.0.0.0)
Origin incomplete, valid, external, best (First path received)
Community: llgr-stale
Last update: Mon Mar 28 09:05:18 2022
Time until Long-lived stale route deleted: 24 <<<<<<<<<<<<<<<
spine1-debian-11# sh ip bgp 192.168.100.1/32
BGP routing table entry for 192.168.100.1/32, version 87
Paths: (1 available, best #1, table default)
Advertised to non peer-group peers:
192.168.0.1
65001 47583
192.168.0.1 from 192.168.0.1 (100.100.200.100)
Origin incomplete, valid, external, best (First path received)
Last update: Mon Mar 28 09:05:25 2022
spine1-debian-11# sh ip bgp 192.168.100.1/32
BGP routing table entry for 192.168.100.1/32, version 87
Paths: (1 available, best #1, table default, mark routes to be retained for a longer time. Requires support for Long-lived BGP Graceful Restart)
Not advertised to any peer
65001 47583, (stale)
192.168.0.1 from 192.168.0.1 (100.100.200.100)
Origin incomplete, valid, external, best (First path received)
Community: llgr-stale
Last update: Mon Mar 28 09:05:29 2022
Time until Long-lived stale route deleted: 29 <<<<<<<<<<<<<<
```
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Mobashshera Rasool [Mon, 28 Mar 2022 06:58:48 +0000 (23:58 -0700)]
pim6d: Correct the show ip prefix-list display for pim6d
Currently the PIM6d component is getting displayed under
"show ip prefix-list" instead of "show ipv6 prefix-list".
Fixed it.
Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
mobash-rasool [Mon, 28 Mar 2022 10:22:30 +0000 (15:52 +0530)]
Merge pull request #10905 from opensourcerouting/fix/BGP_PREFIX_SID_SRV6_L3_SERVICE_SID_STRUCTURE_LENGTH
bgpd: Fix mixed print types for BGP_PREFIX_SID_SRV6_L3_SERVICE_SID_STā¦
Nobuhiro MIKI [Fri, 25 Mar 2022 06:41:00 +0000 (15:41 +0900)]
zebra: output optional param "func-bits" for SRv6
Signed-off-by: Nobuhiro MIKI <nmiki@yahoo-corp.jp>
Donatas Abraitis [Mon, 28 Mar 2022 08:08:33 +0000 (11:08 +0300)]
bgpd: Fix mixed print types for BGP_PREFIX_SID_SRV6_L3_SERVICE_SID_STRUCTURE_LENGTH
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
David Lamparter [Mon, 28 Mar 2022 07:18:36 +0000 (09:18 +0200)]
Merge pull request #10366 from AbhishekNR/mld_cli
Donatas Abraitis [Mon, 28 Mar 2022 06:04:55 +0000 (09:04 +0300)]
Merge pull request #10883 from donaldsharp/bgp_evpn_stream_read
bgpd: Fix possible insufficient stream data
Donatas Abraitis [Mon, 28 Mar 2022 06:02:24 +0000 (09:02 +0300)]
Merge pull request #10887 from donaldsharp/dump_it
zebra: Note when the netlink DUMP command is interrupted
Nobuhiro MIKI [Fri, 25 Mar 2022 06:15:36 +0000 (15:15 +0900)]
zebra: fix typo in doc/user/zebra.rst
Signed-off-by: Nobuhiro MIKI <nmiki@yahoo-corp.jp>
David Lamparter [Sun, 27 Mar 2022 14:18:59 +0000 (16:18 +0200)]
pim6d: fix string constant size
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
David Lamparter [Mon, 4 Oct 2021 11:05:18 +0000 (13:05 +0200)]
staticd: track nexthops per-SAFI
This stops intermixing SAFI_UNICAST NHT into SAFI_MULTICAST static
routes.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
David Lamparter [Mon, 4 Oct 2021 10:54:57 +0000 (12:54 +0200)]
staticd: use inline prefix in NHT data
No need to waste malloc overhead on this.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
David Lamparter [Mon, 4 Oct 2021 10:52:05 +0000 (12:52 +0200)]
staticd: use typesafe static_nht_hash
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
David Lamparter [Fri, 11 Mar 2022 11:47:46 +0000 (12:47 +0100)]
zebra: add a few `const` in RNH code
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
David Lamparter [Mon, 4 Oct 2021 10:21:45 +0000 (12:21 +0200)]
*: add SAFI argument to zclient_send_rnh
Just pushing that SAFI_UNICAST up 1 level to the caller.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
David Lamparter [Thu, 21 Oct 2021 13:17:41 +0000 (15:17 +0200)]
zebra: `show ip nht mrib`
Prints the SAFI_MULTICAST NHT state in zebra.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
David Lamparter [Thu, 21 Oct 2021 13:16:21 +0000 (15:16 +0200)]
zebra: register NHT nexthops with proper SAFI
Just a small puzzle piece missing in zebra SAFI NHT support.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
David Lamparter [Thu, 21 Oct 2021 13:17:12 +0000 (15:17 +0200)]
zebra: check other SAFIs when removing gone client
When a client disconnects, we need to check & remove NHT entries for
other SAFIs too. Otherwise we crash later trying to access stale data.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Donald Sharp [Sun, 27 Mar 2022 12:15:15 +0000 (08:15 -0400)]
Merge pull request #10889 from anlancs/bgpd-cleanup-4
bgpd: remove dead code for evpn
Donald Sharp [Sun, 27 Mar 2022 11:29:21 +0000 (07:29 -0400)]
Merge pull request #10891 from opensourcerouting/feature/autocomplate_for_bmptagets
bgpd: Add autocomplete for BMP targets
David Lamparter [Sun, 27 Mar 2022 08:56:31 +0000 (10:56 +0200)]
Merge pull request #10894 from donaldsharp/babel_down_up
David Lamparter [Sun, 27 Mar 2022 08:51:38 +0000 (10:51 +0200)]
Merge pull request #10892 from donaldsharp/seconds
anlan_cs [Sat, 26 Mar 2022 04:09:27 +0000 (12:09 +0800)]
bgpd: small simplification for evpn RT commands
Small simplification for evpn RT commands, i.e. both per-VRF
and per-VNI - `bgp_evpn_vrf_rt_cmd` and `bgp_evpn_vni_rt_cmd`.
Just extract the duplicated code as a common code, there are
no functional changes.
Additionally correct one comment for `ecommunity_free()`.
Signed-off-by: anlan_cs <vic.lan@pica8.com>
Donald Sharp [Sun, 27 Mar 2022 00:46:36 +0000 (20:46 -0400)]
babeld: Rehook up interface up events
When babeld was switched over to the zapi
interface up/down callbacks the interface up
event was not properly put back in.
Fixes: #10893
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Sat, 26 Mar 2022 20:20:53 +0000 (16:20 -0400)]
lib: Ensure order of operations is expected with SECONDS
These 3 values:
ONE_DAY_SECOND
ONE_WEEK_SECOND
ONE_YEAR_SECOND
Are defined based upon the number of seconds. Unfortunately doing math
on these values say something like:
days = t->tv_sec / ONE_DAY_SECOND;
Once you go over about a day causes the order of operations to cause the multiplication
to get messed up:
204 if (!t)
(gdb) n
207 w = d = h = m = ms = 0;
(gdb) set t->tv_sec = ONE_DAY_SECOND + 30
(gdb) n
208 memset(buf, 0, size);
(gdb)
210 us = t->tv_usec;
(gdb)
211 if (us >= 1000) {
(gdb)
212 ms = us / 1000;
(gdb)
213 us %= 1000;
(gdb)
217 if (ms >= 1000) {
(gdb)
222 if (t->tv_sec > ONE_WEEK_SECOND) {
(gdb)
227 if (t->tv_sec > ONE_DAY_SECOND) {
(gdb)
228 d = t->tv_sec / ONE_DAY_SECOND;
(gdb) n
229 t->tv_sec -= d * ONE_DAY_SECOND;
(gdb) n
232 if (t->tv_sec >= HOUR_IN_SECONDS) {
(gdb) p d
$6 =
2073600
(gdb) p t->tv_sec
$7 = -
179158953570
(gdb)
Converting to adding paranthesis around around the ONE_DAY_SECOND causes
the order of operations to work as expected.
Fixes: #10880
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donatas Abraitis [Sat, 26 Mar 2022 16:37:14 +0000 (18:37 +0200)]
bgpd: Add autocomplete for BMP targets
```
spine1-debian-11(config-router)# bmp targets ?
BMPTARGETS Name of the BMP target group
ok test1
```
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Eugene Crosser [Wed, 23 Mar 2022 10:17:28 +0000 (11:17 +0100)]
autoconf: do not .gitignore m4/ax_lua.m4
The file m4/ax_lua.m4 needs to be a part of distribution, but it is not
inluded in the git repository by default becuase .gitignore file has a
wildcard for all *.m4 files, while individual files that must _not_ be
ignored are listed one by one as exceptions. ax_lua.m4 needs to be added
to this list of exceptions too.
One failure scenario is when you put a snapshot of the source tree in a
new git repository (e.g. the one used for a local CI/CD), this file is
not included in the repository, and subsequently build fails.
This commit adds the exception into m4/.gitignore file
Signed-off-by: Eugene Crosser <crosser@average.org>
anlan_cs [Sat, 26 Mar 2022 11:32:13 +0000 (19:32 +0800)]
bgpd: remove dead code for evpn
`is_vni_param_configured()` is used to check whether RD/RT
configured for specific evpn vni.
There seems to be no need for this mixed check. No caller for
about 5 years, just remove it.
Signed-off-by: anlan_cs <vic.lan@pica8.com>
Donald Sharp [Fri, 25 Mar 2022 23:08:14 +0000 (19:08 -0400)]
zebra: Note when the netlink DUMP command is interrupted
There exists code paths in the linux kernel where a dump command
will be interrupted( I am not sure I understand what this really
means ) and the data sent back from the kernel is wrong or incomplete.
At this point in time I am not 100% certain what should be done, but
let's start noticing that this has happened so we can formulate a plan
or allow the end operator to know bad stuff is a foot at the circle K.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Fri, 25 Mar 2022 18:09:20 +0000 (14:09 -0400)]
Merge pull request #10677 from mobash-rasool/pimv6-receive-pkt
pim6d: Handling of receiving of PIMv6 packets
Francois Dumontet [Fri, 25 Mar 2022 14:40:36 +0000 (15:40 +0100)]
ospfd: fix ospf default route wrongly sent back
That commit aim is to fix an invalid behavior when
default-information is activated on ospf router without always option.
Consider an ASBR with:
-one default route coming from ospf,
-and another default route coming from another deaemon (such BGP or static).
When the daemon bgp stops advertising its default route,
-ospf continues to advertise its previous default route (with aging 0),
-this may create default routing loops.
Expected behavior: is to update the removed external default route with
MAXAGING value.
Updating with MAXAGING value will notify the fact the route is currently
invalid. A later removal from ospf external LSA database will be made.
Analysis: all default routes have their type overwritten by a
DEFAULT_ROUTE type. Thus all default routes whatever its origin (ospf,
bgp, static...) is treated in a same way. But this is not pertinent for
ospf originated default routes.
Fix: avoid overwiting of route type when default route is ospf type.
Signed-off-by: Francois Dumontet <francois.dumontet@6wind.com>
Philippe Guibert [Wed, 16 Feb 2022 16:26:53 +0000 (17:26 +0100)]
ospfd: show running-config displays also srgb on some cases
The following configuration:
router ospf
segment-routing global-block 16000 23999 local-block 1000 2000
!
appears in the 'show running-config' like below:
router ospf
local-block 1000 2000
!
When there are custom Adjacencies, display the SRGB even if SRGB
has the default settings.
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Philippe Guibert [Tue, 15 Feb 2022 16:18:30 +0000 (17:18 +0100)]
ospfd: silently remove prefix sid already stored in config
There is no need to have an interface available to configure
SRGB. Conversely, it should be possible to remove the SRGB
when no interfaces are available.
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Donald Sharp [Fri, 25 Mar 2022 14:10:24 +0000 (10:10 -0400)]
Merge pull request #10861 from opensourcerouting/fix/replace_strings_to_tr
tools: Replace `strings` to `tr` for frrinit.sh
Donald Sharp [Fri, 25 Mar 2022 14:09:59 +0000 (10:09 -0400)]
Merge pull request #10862 from anlancs/zebra-mh-svi-add
zebra: optimization on the mac addition for evpn-mh
Donald Sharp [Fri, 25 Mar 2022 14:06:42 +0000 (10:06 -0400)]
Merge pull request #10881 from opensourcerouting/pim6-ssmpingd-formats
pim6d: fix format string mistakes in ssmpingd
Donald Sharp [Fri, 25 Mar 2022 13:58:08 +0000 (09:58 -0400)]
Merge pull request #10879 from ton31337/fix/bgp_crash_vrf_all_neighbor_advertise
bgpd: Fix crash for `show ip bgp vrf all all neighbors 192.168.0.1 ...`
Donald Sharp [Fri, 25 Mar 2022 11:44:55 +0000 (07:44 -0400)]
bgpd: Fix possible insufficient stream data
When reading the BGP_PREFIX_SID_SRV6_L3_SERVICE_SID_STRUCTURE
it is possible that the length read in the packet is insufficiently
large enough to read a BGP_PREFIX_SID_SRV6_L3_SERVICE_SID_STRUCTURE.
Let's ensure that it is.
Fixes: #10860
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
David Lamparter [Fri, 25 Mar 2022 10:30:13 +0000 (11:30 +0100)]
pim6d: IPv6 headers are always stripped on receive
IPV6_HDRINCL is a TX-only option (unlike IP_HDRINCL), so on RX there
never are IPv6 headers to be looked at / skipped over.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Mobashshera Rasool [Mon, 28 Feb 2022 16:21:48 +0000 (08:21 -0800)]
pim6d: Adjust pim_pkt_dst_addr_ok for PIMv6
Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
Mobashshera Rasool [Mon, 28 Feb 2022 06:58:15 +0000 (22:58 -0800)]
pimd: Modify pim_pim_packet api for receiving v6 packets
Modified the pim_pim_packet api for pimv4/v6.
Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
Mobashshera Rasool [Mon, 28 Feb 2022 07:06:18 +0000 (23:06 -0800)]
pim6d: Parse BSM packet for PIMv6
Modify pim_bsm_process to accomodate v4 and v6 address
for parsing the received packet.
Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
David Lamparter [Fri, 25 Mar 2022 10:35:32 +0000 (11:35 +0100)]
pim6d: fix format string mistakes in ssmpingd
PR #10653 forgot to update a bunch of format specifiers. Fix.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Donatas Abraitis [Fri, 25 Mar 2022 09:53:47 +0000 (11:53 +0200)]
bgpd: Fix crash for `show ip bgp vrf all all neighbors 192.168.0.1 ...`
When `all` is specified BGP pointer is always NULL, we need to iterate over
all instances separately.
```
Received signal 11 at
1648199394 (si_addr 0x30, PC 0x562e96597090); aborting...
/usr/local/lib/libfrr.so.0(zlog_backtrace_sigsafe+0x5e) [0x7f378a57ff6e]
/usr/local/lib/libfrr.so.0(zlog_signal+0xe6) [0x7f378a580146]
/usr/local/lib/libfrr.so.0(+0xcd4c2) [0x7f378a5aa4c2]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x14140) [0x7f378a33e140]
/usr/lib/frr/bgpd(bgp_afi_safi_peer_exists+0) [0x562e96597090]
/usr/lib/frr/bgpd(+0x15c3b8) [0x562e9654a3b8]
```
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas Abraitis [Fri, 25 Mar 2022 09:35:39 +0000 (11:35 +0200)]
bgpd: Fix crash for `show ip bgp vrf all all`
When `all` is specified BGP pointer is always NULL, we need to iterate over
all instances separately.
```
BGP[170822]: Received signal 11 at
1648199394 (si_addr 0x30, PC 0x562e96597090); aborting...
BGP[170822]: /usr/local/lib/libfrr.so.0(zlog_backtrace_sigsafe+0x5e) [0x7f378a57ff6e]
BGP[170822]: /usr/local/lib/libfrr.so.0(zlog_signal+0xe6) [0x7f378a580146]
BGP[170822]: /usr/local/lib/libfrr.so.0(+0xcd4c2) [0x7f378a5aa4c2]
BGP[170822]: /lib/x86_64-linux-gnu/libpthread.so.0(+0x14140) [0x7f378a33e140]
BGP[170822]: /usr/lib/frr/bgpd(bgp_afi_safi_peer_exists+0) [0x562e96597090]
BGP[170822]: /usr/lib/frr/bgpd(+0x15c3b8) [0x562e9654a3b8]
BGP[170822]: /usr/local/lib/libfrr.so.0(+0x75a9e) [0x7f378a552a9e]
BGP[170822]: /usr/local/lib/libfrr.so.0(cmd_execute_command+0x5d) [0x7f378a552e2d]
BGP[170822]: /usr/local/lib/libfrr.so.0(cmd_execute+0xc0) [0x7f378a553070]
BGP[170822]: /usr/local/lib/libfrr.so.0(+0xe3697) [0x7f378a5c0697]
BGP[170822]: /usr/local/lib/libfrr.so.0(+0xe3db1) [0x7f378a5c0db1]
BGP[170822]: /usr/local/lib/libfrr.so.0(+0xe6c30) [0x7f378a5c3c30]
BGP[170822]: /usr/local/lib/libfrr.so.0(thread_call+0x73) [0x7f378a5bb743]
BGP[170822]: /usr/local/lib/libfrr.so.0(frr_run+0xd0) [0x7f378a578750]
BGP[170822]: /usr/lib/frr/bgpd(main+0x344) [0x562e964cf3f4]
BGP[170822]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xea) [0x7f378a18bd0a]
BGP[170822]: /usr/lib/frr/bgpd(_start+0x2a) [0x562e964d10ea]
```
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
David Lamparter [Fri, 25 Mar 2022 05:55:37 +0000 (06:55 +0100)]
Merge pull request #10867 from donaldsharp/ifp_use_after_free
David Lamparter [Fri, 25 Mar 2022 05:25:39 +0000 (06:25 +0100)]
Merge pull request #10868 from donaldsharp/zlog_backtrace_uninited
David Lamparter [Fri, 25 Mar 2022 05:03:10 +0000 (06:03 +0100)]
Merge pull request #10852 from mjstapp/fix_lib_distclean
David Lamparter [Fri, 25 Mar 2022 03:22:04 +0000 (04:22 +0100)]
Merge pull request #10865 from donaldsharp/freebsd_terminal_monitor
David Lamparter [Fri, 25 Mar 2022 03:20:19 +0000 (04:20 +0100)]
Merge pull request #10866 from donaldsharp/freebsd_unknown_type2str