This repository was archived by the owner on Mar 1, 2023. It is now read-only.
forked from sonic-net/sonic-buildimage
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit 217a38f
Update git submodules
* Update src/sonic-frr/frr from branch 'broadcom_sonic'
to 0fb4e167fc692e1cb389abe153df2cd2b7f40c6b
- [JIRA SONIC-10754] Merge branch broadcom_sonic_frr_7.1 to 'broadcom_sonic'.
Change-Id: Icfd8ffd17e15f483566697e09ed2b12d71053bd7
- [JIRA SONIC-10754] merge latest pimd changes into temp frr7.1 upgrade
branch.
Change-Id: I483487e1b1c90c7ecfc81b06d4f3927bba753a7f
- [JIRA SONIC-10033] Merge of FRR changes from broadcom_sonic into frr7.1
upgrade temporary branch.
Daily sanity verified.
Change-Id: I63565e7b4ed8a3708329ee5d0d2f742f592d626e
- Merge pull request #5092 from sworleys/Fix-Vrf_ID-Decode_7.1
[7.1] lib: Decode vrf_id update appropriately from zapi
- lib: Decode vrf_id update appropriately from zapi
The vrf_id in `zsend_interface_vrf_update()` is encoded as
a long via `stream_putl()`, we should decode it as such
as well.
Signed-off-by: Stephen Worley <[email protected]>
- Merge pull request #5030 from donaldsharp/7.1_send_that_error_bgp
7.1 send that error bgp
- bgpd: Invalid NH's should send an apropriate reason code
RFC 4271 sec 6.3 p33, In the case of a BGP_NEXTHOP attribute with an
incorrect value, FRR is supposed to send a notification
and include 'Corresponding type, length and value of the NEXT_HOP
attribute in the notification data.
Fixes: #4997
Signed-off-by: Nikos <[email protected]>
Signed-off-by: Donald Sharp <[email protected]>
- bgpd: IPv6 session flapping with MP_REACH_NLRI and 0.0.0.0 in NEXT_HOP attribute
This is causing interop issues with vendors. According to the RFC,
receiver should ignore the NEXT_HOP attribute with MP_REACH_NLRI
present.
Signed-off-by: nikos <[email protected]>
- bgpd: IPv6 session flapping with MP_REACH_NLRI and 0.0.0.0 in NEXT_HOP attribute
This is causing interop issues with vendors. According to the RFC,
receiver should ignore the NEXT_HOP attribute with MP_REACH_NLRI
present.
Signed-off-by: nikos [email protected]
- Merge pull request #4960 from ton31337/fix/check_if_rmap_exists_before_warning
bgpd: [7.1] `neighbor X:X::X default-originate` complains about (null)
- bgpd: `neighbor X:X::X default-originate` complains about (null)
The `neighbor X:X::X default-originate command is complaining
that:
The route-map '(null)' does not exist.
Upon inspection of the code we were passing a NULL
string to the lookup. Testing for null gets us this:
donna.cumulusnetworks.com# conf t
donna.cumulusnetworks.com(config)# router bgp 99
donna.cumulusnetworks.com(config-router)# neighbor 2001:1::1:2 remote-as 99
donna.cumulusnetworks.com(config-router)# neighbor 2001:1::1:2 default-originate
donna.cumulusnetworks.com(config-router)# end
donna.cumulusnetworks.com# show run
Building configuration...
Current configuration:
!
frr version 7.2-dev
frr defaults datacenter
hostname donna.cumulusnetworks.com
log stdout
no ipv6 forwarding
!
ip route 4.5.6.7/32 10.50.11.4
!
router bgp 99
neighbor 2001:1::1:2 remote-as 99
!
address-family ipv4 unicast
neighbor 2001:1::1:2 default-originate
Signed-off-by: Donald Sharp <[email protected]>
- Merge pull request #4938 from ton31337/feature/documentation_for_rfc8212_7.1
doc: [7.1] Add documentation for `bgp ebgp-requires-policy` command
- doc: Add documentation for `bgp ebgp-requires-policy` command
Signed-off-by: Donatas Abraitis <[email protected]>
- Merge pull request #4899 from ton31337/fix/no_aspath_prepend_last_7.1
bgpd: [7.1] Add 'no set as-path prepend last-as X' command
- bgpd: Update doc for some as-path route-map commands
Update the documentation for some as-path route-map commands.
Signed-off-by: Donald Sharp <[email protected]>
- bgpd: Add 'no set as-path prepend last-as X' command
The `set as-path prepend last-as X` command had no, 'no' form
of the command. Add this into the cli.
Testing:
!
route-map BLARBLE permit 10
set as-path prepend last-as 3
!
!
router bgp 9999
neighbor 10.50.12.118 remote-as external
neighbor 10.50.12.118 ebgp-multihop 30
!
address-family ipv4 unicast
neighbor 10.50.12.118 route-map BLARBLE in
!
!
eva# show bgp ipv4 uni 4.4.4.4
BGP routing table entry for 4.4.4.4/32
Paths: (1 available, best #1, table default)
Advertised to non peer-group peers:
10.50.12.118
999 999 999 999
10.50.12.118 from 10.50.12.118 (10.50.12.118)
Origin incomplete, metric 0, valid, external, best (First path received)
Last update: Mon Aug 26 09:47:17 2019
eva# conf
eva(config)# route-map BLARBLE permit 10
eva(config-route-map)# no set as-path prepend last-as 3
eva(config-route-map)# end
eva# clear bgp ipv4 uni *
eva# show bgp ipv4 uni 4.4.4.4
BGP routing table entry for 4.4.4.4/32
Paths: (1 available, best #1, table default)
Advertised to non peer-group peers:
10.50.12.118
999
10.50.12.118 from 10.50.12.118 (10.50.12.118)
Origin incomplete, metric 0, valid, external, best (First path received)
Last update: Mon Aug 26 09:48:31 2019
Signed-off-by: Donald Sharp <[email protected]>
- Merge pull request #4853 from rtrlib/2019-08-16-bugfix-7-1
bgpd: rpki fixes (stable/7.1)
- bgpd: fix bgp_table range lookup
In case the topmost node has a larger prefix length than the lookup
prefix it never matches even if it was still lower than maxlen
This also alters a test case to check for this bug.
Signed-off-by: Marcel Röthke <[email protected]>
- bgpd: remove initial sync timeout in rpki startup code
The initial sync timeout breaks config load and is not necessary anyway.
Fix #4827
Signed-off-by: Marcel Röthke <[email protected]>
- Merge pull request #4743 from opensourcerouting/7.1/ospfd-default-originate
[7.1] ospfd: fix default originate always
- bgpd: [7.1] Strip `delete` keyword when looking up for communit… (#4769)
bgpd: [7.1] Strip `delete` keyword when looking up for communities
- bgpd: [7.1] Strip `delete` keyword when looking up for lcommuni… (#4786)
bgpd: [7.1] Strip `delete` keyword when looking up for lcommunities
- bgpd: Strip `delete` keyword when looking up for lcommunities
Signed-off-by: Donatas Abraitis <[email protected]>
- topotests: Check if set-comm-list is working under route-map scope
Signed-off-by: Donatas Abraitis <[email protected]>
- bgpd: Convert to network byte order before passing value to `community_del_val`
community_val_get() returns ntohl(val) which is used in more places like
community_include(), community_add_val(), but community_del_val() is missing
back conversion htonl().
Signed-off-by: Donatas Abraitis <[email protected]>
- bgpd: Strip `delete` keyword when looking up for communities
Signed-off-by: Donatas Abraitis <[email protected]>
- Merge pull request #4749 from ton31337/fix/next-hop-self_force_alias_for_ipv6_7.1
bgpd: [7.1] Add hidden `next-hop-self all` for all address families
- bgpd: Add hidden `next-hop-self all` for all address families
Signed-off-by: Donatas Abraitis <[email protected]>
- ospfd: re-fix default origination check
ospf->external[DEFAULT_ROUTE] and zclient->default_information don't
line up with each other; the former is only used for "originate always".
Fixes: #4237
Signed-off-by: David Lamparter <[email protected]>
- Revert "ospfd: default route got flushed after lsa refresh timer."
This reverts commit a6b4e1fdedb290e8d86f73b0d7f842f7042b26af.
This fix is wrong too.
Signed-off-by: David Lamparter <[email protected]>
- Merge pull request #4662 from opensourcerouting/fix-outdated-candidate-7.1
[7.1] lib: fix outdated candidate configuration issue
- Merge pull request #4665 from ton31337/fix/show_delete_suboption_for_set_comm-list_7.1
bgpd: [7.1] Show `delete` sub-option for `set [l]comm-list <list> delete`
- bgpd: Show `delete` sub-option for `set [l]comm-list <list> delete`
Signed-off-by: Donatas Abraitis <[email protected]>
- lib: fix outdated candidate configuration issue
Even when using the classic CLI mode (i.e. when --tcli is not
used), the northbound code still uses vty->candidate_config
to perform configuration changes. From the perspective of the
user, the running configuration is being edited directly, but
under the hood the northbound layer does a full configuration
transaction for each command. When the running configuration is
edited by a northbound client other than the CLI (e.g. kernel,
gRPC), vty->candidate_config might become outdated, and this can
lead to lots of weird problems. To fix this, always regenerate
vty->candidate_config before each configuration command when
using the classic CLI mode. When using the transactional CLI,
the user needs to update the candidate manually using the "update"
command, otherwise the "commit" command will fail with this error:
"% Candidate configuration needs to be updated before commit".
Fixes some problems reported by Don after moving an interface from
one VRF to another one while zebra is running.
Reported-by: Don Slice <[email protected]>
Signed-off-by: Renato Westphal <[email protected]>
- Merge pull request #4646 from ton31337/feature/validate_lcommunity_7.1
bgpd: [7.1] Validate large-community-list against UINT_MAX
- bgpd: Validate large-community-list against UINT_MAX
Signed-off-by: Donatas Abraitis <[email protected]>
- [7.1] *: s/TRUE/true/, s/FALSE/false/ (#4633)
[7.1] *: s/TRUE/true/, s/FALSE/false/
- *: s/TRUE/true/, s/FALSE/false/
Signed-off-by: Quentin Young <[email protected]>
- Merge pull request #4611 from donaldsharp/7_1_igmp_connected_source
[7.1]pimd: Dissallow query to be received from a non-connected source
- pimd: Dissallow query to be received from a non-connected source
When we receive an igmp query on a interface, ensure that the
source address of the packet is connected to the incoming
interface. This will prevent a meanie from crafting a igmp
packet with a source address less than ours and causing
us to suspend query activities.
Fixes: #1692
Signed-off-by: Donald Sharp <[email protected]>
- Merge pull request #4595 from ton31337/feature/autocomplete/bgp_peer-groups_7.1
bgpd: [7.1] List all groups dynamically for commands with peer-group
- bgpd: List all groups dynamically for commands with peer-group
Signed-off-by: Donatas Abraitis <[email protected]>
- Merge pull request #4593 from ton31337/fix/match_ip_nexthop_type_blackhole_7.1
rmap: [7.1] Backport changes regarding `no match ip next-hop type`
- rmap: Minor changes in comments regarding match ip[v6] next-hop type
Signed-off-by: Donatas Abraitis <[email protected]>
- rmap: Modify cli helper text for `match_ipv6_next_hop_type_cmd`
Signed-off-by: Donatas Abraitis <[email protected]>
- rmap: Add hooks into zebra,ospf,rip for `match ip next-hop type blackhole`
Signed-off-by: Donatas Abraitis <[email protected]>
- FRRouting release 7.1
- gRPC northbound plugin
- "table NNN" removed from zebra
- more dataplane MT work
- EVPN in non-default VRFs
- RFC 8212 (default deny policy for eBGP)
- RFC 8106 (IPv6 RA DNS options)
Signed-off-by: David Lamparter <[email protected]>
- Merge pull request #4539 from opensourcerouting/7.1/watchfrr-sd-timeout
[7.1] tools: retain sanity when reloading under systemd
- tools: retain sanity when reloading under systemd
Without this, we end up restarting watchfrr with the systemd watchdog
non-functional & tripped a bit later. Also, if watchfrr is in the
"control" cgroup, systemd 232 will kill it. (241 apparently doesn't.
Can't find anything about this in systemd's ChangeLog though.)
Signed-off-by: David Lamparter <[email protected]>
(cherry picked from commit 9c251d376ad8e604c25767b32c2816e9ae75a738)
- 7.1: isisd: The RFC states that v6 addresses are limited to 16 in a hello … (#4475)
7.1: isisd: The RFC states that v6 addresses are limited to 16 in a hello …
- isisd: The RFC states that v6 addresses are limited to 16 in a hello packet
The RFC states we can send only up to 16 v6 addresses in a hello packet
and cannot send sub tlv's of that type.
Signed-off-by: Donald Sharp <[email protected]>
- Merge pull request #4462 from donaldsharp/7.1_bfd_access_list
7.1: bfdd: Modify bfdd to quietly accept access-lists
- bfdd: Modify bfdd to quietly accept access-lists
The `access-list ...` command was causing bfdd to return
'unknown commands'. Make bfdd at least cognizant of
access-lists enough to not create strange error messages
Signed-off-by: Donald Sharp <[email protected]>
- Merge pull request #4425 from ton31337/feature/show_fqdn_in_show_ip_bgp_7.1
bgpd: [7.1] Show FQDN in `show [ip] bgp` output
- bgpd: Show FQDN in `show [ip] bgp` output
We already show this information in `show [ip] bgp <prefix`, thus why don't
show it in global output. It's very handy when using at scale and to see
the whole picture instead of resolving neighbor manually.
It will show FQDN only if `bgp default show-hostname` is toggled.
Signed-off-by: Donatas Abraitis <[email protected]>
- Merge pull request #4423 from ton31337/feature/delete_prefix_list_by_sequence_number_7.1
plist: [7.1] Delete prefix-list by sequence number
- plist: Delete prefix-list by sequence number
Signed-off-by: Donatas Abraitis <[email protected]>
- Merge pull request #4411 from opensourcerouting/feature/fix-isis-route-deletion-7.1
isisd: del routes when area is unconfigured
- isisd: del routes when area is unconfigured
attempt to fix #4399
Signed-off-by: Emanuele Di Pascale <[email protected]>
- Merge pull request #4406 from opensourcerouting/snap-fix-7.1
[7.1] Snap fixes for 7.1
- snapcraft: Add libdb5.3 dependency
Signed-off-by: Martin Winter <[email protected]>
- snapcraft: Disable libyang CACHE for snap package (Temp workaround)
There seems to be a bug in latest libyang running when running in
a snap container which causes a failure of the cache logic. Disable
CACHE for now as it's not yet needed. Will be re-enabled in a later
release
Signed-off-by: Martin Winter <[email protected]>
- snapcraft: Add FabricD to Snap package
Signed-off-by: Martin Winter <[email protected]>
- snapcraft: Update bgpd to use newer rpki lib
Signed-off-by: Martin Winter <[email protected]>
- snapcraft: Add libyang to snap package
Signed-off-by: Martin Winter <[email protected]>
- snapcraft: Add missing staticd.conf.default
Signed-off-by: Martin Winter <[email protected]>
- snapcraft: Don't stage libc6
Signed-off-by: Martin Winter <[email protected]>
- snapcraft: Update RTRLIB to 0.6.3
Signed-off-by: Martin Winter <[email protected]>
- Merge pull request #4381 from opensourcerouting/7.1/dlist
[7.1] DLIST / BGP adv_fifo deletion fix
- bgpd: use DLIST for adv_fifo
I mistakenly assumed that something called "FIFO" would primarily be
used by removing items from the front. This isn't the case for the
adv_fifo... so use a DLIST there to make sure deletions from the middle
of the queue are fast.
Signed-off-by: David Lamparter <[email protected]>
(cherry picked from commit 5ac8ecbabd9638f726fdff5d49b43e675a47e434)
- lib: add DECLARE_DLIST (double-linked list)
Turns out we need one of these. Same API as DECLARE_LIST, but deleting
random items is much faster.
Signed-off-by: David Lamparter <[email protected]>
(cherry picked from commit fdad523b547e68a2170a7e5fec4bad98222cb9a0)
- Merge pull request #4356 from donaldsharp/7.1_updates
7.1 updates
- bgpd: display bgp neighbor advertised-routes json warning message
Issue 1:
Getting an empty json without any warning message, while executing
the command "show ip bgp neighbor <x.x.x.x> advertised-routes
json" when the bgp instance is not present or getting created.
Issue 2:
Getting an empty json without any warning message, while executing
the command "show ip bgp vrf/view <name> advertised-routes json"
when the specified view/vrf is not present.
Fix:
Display warning message while executing the above cli commands, when
the bgp instance, specified vrf is not present.
Signed-off-by: Sarita Patra <[email protected]>
- lib: fix crash in the CLI grammar sandbox
The CLI grammer sandbox needs to initialize the northbound subsystem
otherwise the running_config global variable won't be set, which
leads to crashes.
Fixes #4319.
Signed-off-by: Renato Westphal <[email protected]>
- doc: fix ospf6d router-id cmd
in ospf6d, the 'router-id' command must be prefixed with 'ospf6'.
Update the docs to reflect this.
Signed-off-by: Emanuele Di Pascale <[email protected]>
- bgpd: evpn json cli bug fix
Bug: If there are 2 different prefixes under an rd, the
output of "show bgp l2vpn evpn json" would print only one of the
prefixes.
RCA: prefix info was added to the json_object once per rd. Hence,
prefix and rd were added just once, as the loop iterated over all
the prefixes and paths.
This is related to my earlier commit that went in via PR 4283:
https://github.com/FRRouting/frr/pull/4283
Signed-off-by: Lakshman Krishnamoorthy <[email protected]>
- doc: add doc for zebra dplane cli
Add some notes about the cli associated with the zebra
dataplane.
Signed-off-by: Mark Stapp <[email protected]>
- zebra: unset sticky mac upon local deletion
if the local sticky mac delete request is received,
if there are associated neighbor entries present, mac's
only local flag is removed and marked as auto mac.
this results in next local mac learning automatically assumes
mac is sticky.
There is a case when bridge learning off is configured, user
configures sticky mac via bridge fdb add.
This MAC learns associated neighbor entry.
Later user deletes stick mac via bridge fdb del, this triggers
frr to delete mac but if there are neighbors present, frr marks
MAC as AUTO but does not remove sticky flag.
User enables bridge learning on which triggers
The mac to learn as dynamic entry and in absence of this
fix, the mac is marked as sticky.
Ticket:CM-24968
Reviewed By:CCR-8683
Testing Done:
Validated broken condition with internally reproduction
with fix and without.
Signed-off-by: Chirag Shah <[email protected]>
- doc: add doc for bgp maximum-prefix knob
Signed-off-by: Quentin Young <[email protected]>
- bgpd: Evpn json cli output missing
Issue1: The following json cli commands are broken (they dont display
anything):
1. show [ip] bgp l2vpn evpn json
2. show [ip] bgp l2vpn evpn all neighbors <IP> routes json
3. show [ip] bgp l2vpn evpn rd <RD> json
4. show [ip] bgp l2vpn evpn rd <RD> neighbors <IP> routes json
RCA1: The existing json_object was partially filled.
Some fields like "prefix", "prefixLen", etc were not
filled in the json_object.
RCA2: Code missing to display the constructed json_object.
Issue2: Column header not shown on bgp evpn commands.
Fix: turned on the flag to display header
Output after fix:
The above commands have been made to follow the existing output style of
"show bgp l2vpn evpn routes json"
leaf-1# sh bgp l2vpn evpn json
{
"bgpTableVersion":1,
"bgpLocalRouterId":"10.100.0.1",
"defaultLocPrf":100,
"localAS":65000,
"10.100.0.1:3":{
"rd":"10.100.0.1:3",
"[3]:[0]:[32]:[10.100.0.1]":{
"prefix":"[3]:[0]:[32]:[10.100.0.1]",
"prefixLen":288,
"paths":[
{
"valid":true,
"bestpath":true,
"pathFrom":"external",
"routeType":3,
"ethTag":0,
"ipLen":32,
"ip":"10.100.0.1",
"weight":32768,
"peerId":"(unspec)",
"aspath":"",
"path":"",
"origin":"IGP",
"nexthops":[
{
"ip":"10.100.0.1",
"afi":"ipv4",
"used":true
}
]
}
]
}
},
..........
..........
"10.100.0.2:2":{
"rd":"10.100.0.2:2",
"[3]:[0]:[32]:[10.100.0.2]":{
"prefix":"[3]:[0]:[32]:[10.100.0.2]",
"prefixLen":288,
"paths":[
{
"valid":true,
"bestpath":true,
"pathFrom":"external",
"routeType":3,
"ethTag":0,
"ipLen":32,
"ip":"10.100.0.2",
"weight":0,
"peerId":"205.0.113.2",
"aspath":"65002",
"path":"65002",
"origin":"IGP",
"nexthops":[
{
"ip":"10.100.0.2",
"afi":"ipv4",
"used":true
}
]
},
{
"valid":true,
"pathFrom":"external",
"routeType":3,
"ethTag":0,
"ipLen":32,
"ip":"10.100.0.2",
"weight":0,
"peerId":"203.0.113.4",
"aspath":"65001 65002",
"path":"65001 65002",
"origin":"IGP",
"nexthops":[
{
"ip":"10.100.0.2",
"afi":"ipv4",
"used":true
}
]
}
]
}
},
....
....
"numPrefix":10,
"totalPrefix":10
}
leaf-1# sh bgp l2vpn evpn
BGP table version is 1, local router ID is 10.100.0.1
Status codes:s suppressed, d damped, h history, * valid, > best, i - int
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: ip 10.100.0.1:3
*> [3]:[0]:[32]:[10.100.0.1]
10.100.0.1 32768 i
Route Distinguisher: ip 10.100.0.1:4
*> [3]:[0]:[32]:[10.100.0.1]
10.100.0.1 32768 i
Route Distinguisher: ip 10.100.0.1:5
*> [3]:[0]:[32]:[10.100.0.1]
10.100.0.1 32768 i
Route Distinguisher: ip 10.100.0.1:6
*> [3]:[0]:[32]:[10.100.0.1]
10.100.0.1 32768 i
Route Distinguisher: ip 10.100.0.2:2
*> [3]:[0]:[32]:[10.100.0.2]
10.100.0.2 0 65002 i
* [3]:[0]:[32]:[10.100.0.2]
10.100.0.2 0 65001 65002
Route Distinguisher: ip 10.100.0.2:3
*> [3]:[0]:[32]:[10.100.0.2]
10.100.0.2 0 65002 i
* [3]:[0]:[32]:[10.100.0.2]
10.100.0.2 0 65001 65002
Route Distinguisher: ip 10.100.0.2:4
*> [3]:[0]:[32]:[10.100.0.2]
10.100.0.2 0 65002 i
* [3]:[0]:[32]:[10.100.0.2]
10.100.0.2 0 65001 65002
Displayed 10 out of 10 total prefixes
Signed-off-by: Lakshman Krishnamoorthy <[email protected]>
- isisd: Don't set subtlv structure if we didn't unpack any subtlvs
This ensures deserialized and serialized TLV representation is
consistent.
- Pimd : S,G Mroute entries are not expiring even after KAT expiry,
become stale entries.
Topology:
--------
Source
|
FHR
|
RP ------ LHR --- Recv1
|
Recv2
Root case :
-----------
When RP acts as a LHR i.e RP has a local receiver and registed for
the same group where LHR connected receiver also registered for the
same multicast group.When RP receives a (s,g) join form LHR , it
increments upstream ref count to two to track the Local membership
as well.But at the time of KAT expiry in RP , upstream reference
is not being removed Which is added to track local membership which
is causing to make these entries as stale in RP and FHR.
Fix : Made the change such that it removes the upstream reference
if it is added to track the local memberships.
Signed-off-by: Rajesh Girada <[email protected]>
- lib, bgpd: Disallow processing of duplicate config.
This fix aims to reduce the load on BGPD when certain
exisiting configurations are replayed.
Specifically, the fix prevents BGPD from processing
routes when the following already existing configurations
are replayed:
1) A match criteria is configured within a route-map.
2) When "call" is invoked within a route-map.
3) When a route-map is tied to a BGP neighbor.
Signed-off-by: NaveenThanikachalam <[email protected]>
- lib : Child rmap not sending an update to parent rmap,if there is an update in child rmap.
Route map library creates a hash table to save the dependency binding.
route-map LRM permit 1
call rLRM
Whenever there is change in child routemap(rLRM), it tries to
find the dependency mapping with the child route map MATCH event
and it fails.The handing of match add and match delete was missing
to get the correct dependency,here it's LRM.
This fix would correct the flow to get the correct dependency.
Signed-off-by: vishaldhingra <[email protected]>
- Merge pull request #4336 from mjstapp/fix_vrf_lsps_7_1
zebra: [7.1] remove vrf LSPs when vrf is deleted
- zebra: [7.1] remove vrf LSPs when vrf is deleted
Try to remove any LSPs associated with a vrf when the vrf is
deleted. The vrf code was calling a helpful zebra_mpls api,
but that api was basically a no-op for vrfs other than
the default.
Signed-off-by: Mark Stapp <[email protected]>
- configure: Update Version to be 7.1
Signed-off-by: Donald Sharp <[email protected]>
- Merge pull request #4286 from vishaldhingra/show_expanded
bgpd : lcommlist not shows the standard and expanded conf. correctly.
- bgpd : lcommlist not shows the standard and expanded conf. correctly.
lcommunity_list_show uses the wrong macro to calculate the style.
Use the correct one LARGE_COMMUNITY_LIST_STANDARD.
Signed-off-by: vishaldhingra<[email protected]>
- Merge pull request #4280 from qlyoung/remove-yang-strreplace-func
lib: remove str_replace function
- Merge pull request #4277 from rtrlib/2019-05-07-master-bugfix
RPKI fixes/improvements
- Merge pull request #4082 from opensourcerouting/grpc-nb-plugin
gRPC northbound plugin
- Merge pull request #4215 from Orange-OpenSource/TE
ospfd: Correct Link-ID and Remote IP for TE LSA
- lib: remove str_replace function
Signed-off-by: Quentin Young <[email protected]>
- Merge pull request #4273 from donaldsharp/doc_zebra_command
doc: Add a couple of missed `show zebra ...` comamnds to doc
- Merge pull request #4270 from opensourcerouting/libyang-compat
lib, yang: disable libyang custom user types temporarily
- bgpd: fix rpki module build without ssh support
Signed-off-by: Marcel Röthke <[email protected]>
- bgpd: add missing newline to a warning message in the rpki module
Signed-off-by: Marcel Röthke <[email protected]>
- doc: Add a couple of missed `show zebra ...` comamnds to doc
Noticed that a couple of the `show zebra ...` commands are missing
from the zebra documentation that I use a bunch. Let's add them
in.
Signed-off-by: Donald Sharp <[email protected]>
- Merge pull request #4266 from vishaldhingra/lcomm_dyn
bgpd : dynamic modification in lcomm-list is not taking effect.
- Merge pull request #4268 from qlyoung/frrstr-replace
lib: add string replace function
- Merge pull request #4244 from donaldsharp/pim_single_interface
pimd: Stop crash in show of single interface
- Merge pull request #4264 from pguibert6WIND/trace_bfd
More traces for BFD clients
- lib, yang: disable libyang custom user types temporarily
libyang 1.0 introduced a few changes in the user types API, and
these changes made FRR incompatible with libyang 1.x. In order to
ease our migration from libyang 0.x to libyang 1.x, let's disable
our libyang custom user types temporarily so that FRR can work
with both libyang 0.x and libyang 1.x. This should be especially
helpful to the CI systems during the transition. Once the migration
to libyang 1.x is complete, this commit will be reverted.
Disabling our libyang custom user types should have only
minimal performance implications when processing configuration
transactions. The user types infrastructure should be more important
in the future to perform canonization of YANG data values when
necessary.
Signed-off-by: Renato Westphal <[email protected]>
- lib: add string replace function
Signed-off-by: Quentin Young <[email protected]>
- Merge pull request #4256 from donaldsharp/zebra_table
doc, zebra: Remove "table X" command
- Merge pull request #4253 from qlyoung/zapi-handler-args-macro
ZAPI callback args macro
- Merge pull request #4234 from donaldsharp/flood_the_vtep
zebra: Fix incorrect reading of REMOTE_VTEP_[ADD|DEL]
- doc, zebra: Remove "table X" command
This command is broken and has been broken since the introduction
of vrf's. Since no-one has complained it is safe to assume that
there is no call for this specialized linux command. Remove
from the system with extreme prejudice.
Signed-off-by: Donald Sharp <[email protected]>
- zebra: Be consistent in how we call rib_add( and rib_delete( with tableid
The rib_add( and rib_delete( functions are there to allow
kernel interactions with the creation of routes. Fixup the
code to be consistent in the passup of the tableid.
Signed-off-by: Donald Sharp <[email protected]>
- bgpd : dynamic modification in lcomm-list is not taking effect.
lcomm-list is configured and attached to route-map via match clause.
If you modify the lcomm-list then it is not taking into effect via routemap.
Signed-off-by: vishaldhingra <[email protected]>
- ospfd: add bfd up event trace
that bfd trace is visible when using 'debug ospf nsm event' command.
Signed-off-by: Philippe Guibert <[email protected]>
- bgpd: add bfd event trace
that bfd event trace is visible when 'debug bgp neighbor-event' is
enabled.
Signed-off-by: Philippe Guibert <[email protected]>
- Merge pull request #4255 from donaldsharp/coverity_stole_my_sanity
Coverity stole my sanity
- *: use ZAPI_CALLBACK_ARGS macro for zapi handlers
This macro:
- Marks ZAPI callbacks for readability
- Standardizes argument names
- Makes it simple to add ZAPI arguments in the future
- Ensures proper types
- Looks better
- Shortens function declarations
Signed-off-by: Quentin Young <[email protected]>
- lib: define ZAPI_CALLBACK_ARGS macro
Signed-off-by: Quentin Young <[email protected]>
- zebra: Memory allocations do not fail
If a memory allocation fails then we *know* we assert
and core the program.
Signed-off-by: Donald Sharp <[email protected]>
- lib: Remove functionally dead code.
The vrf_with_default_name vrf variable is set to NULL
and then tested to see if it is valid. Removing the
dead code.
Signed-off-by: Donald Sharp <[email protected]>
- ospfd: continue statement is redundant
The continue statement is redundant because DISCARD_LSA
has one in it already.
Signed-off-by: Donald Sharp <[email protected]>
- bgpd: The vpn variable must be non-null
The vpn variable in bgp_evpn_advertise_svi_ip_vni must
be non-null as such it is impossible to ever need the
!vpn test case.
Signed-off-by: Donald Sharp <[email protected]>
- zebra: Add some extra safety for route_info
The route_info[X].meta_q_map *must* be less than MQ_SIZE
or we will do some strange stuff, so assert on it at startup.
The distance in route_info is a uint8_t so let's keep the data
structure the same.
Signed-off-by: Donald Sharp <[email protected]>
- bgpd: Remove logically dead code assignment
The label value is set to MPLS_LABEL_NONE at the start
of the function and we never modify it, testing it for
BGP_PREVENT_VRF_2_VRF_LEAK equality will never be true
Signed-off-by: Donald Sharp <[email protected]>
- zebra: ifp must be a real pointer sometimes
The ifp pointer must be pointing at a real location
in memory since right above us in this loop we
return if it is.
Signed-off-by: Donald Sharp <[email protected]>
- pbrd: Prevent usage of c if it is null
It is possible, that a connected lookup from
zebra_interface_address_read is null. Protect and Serve
Signed-off-by: Donald Sharp <[email protected]>
- Merge pull request #4233 from qlyoung/fix-zapi-msg-debugs
zebra: fix zapi msg debugging dumps
- zebra: fix zapi msg debugging dumps
When we switched to a pthread per client, we lost the ability to
correlate zapi message debugs with their handlers in zlog, because the
message was logged when it was read off the zapi socket and not right
before it was processed. Move the zapi msg hexdump to happen right
before we call the message handler.
Signed-off-by: Quentin Young <[email protected]>
- Merge pull request #4252 from pogojotz/master
doc: Fix failing `make doc`
- doc: Fix failing `make doc`
This build system bug was introduced with 9251d1f596.
Signed-off-by: Juergen Werner <[email protected]>
- Merge pull request #4247 from mjstapp/fix_topotest_topo_only
topotest: fix pytest deprecation warning
- topotest: fix pytest deprecation warning
As of pytest 4.something, a pattern we were using in conftest.py
was deprecated. Also make a new-ish test script executable (all
the rest appear to be?)
Signed-off-by: Mark Stapp <[email protected]>
- Merge pull request #4243 from mjstapp/fix_dplane_strlcpy
zebra: replace strncpy with strlcpy in dplane
- pimd: Stop crash in show of single interface
There exists a possiblity that we have upstream data but
at this point in time the rpf failed because there is no
path. As such the rpf interface will be NULL and we
should not necessarily trust it. Prevent a crash
Ticket: CM-24857
Signed-off-by: Donald Sharp <[email protected]>
- zebra: replace strncpy with strlcpy in dplane
The dataplane module picked up a couple of strncpys; replace
them.
Signed-off-by: Mark Stapp <[email protected]>
- Merge pull request #4238 from LabNConsulting/working/lb/master/tt-clear-nves
topotests/bgp_rfapi_basic_sanity: cleanup rfapi using non-debug command
- Merge pull request #4241 from FRRouting/revert-4192-biswajitfrr_4
Revert "bgpd: Prevent IPv6 routes received via a ibgp session with own ip as nexthop "
- Revert "bgpd: Prevent IPv6 routes received via a ibgp session with own ip as nexthop "
- Merge pull request #4240 from FRRouting/revert-4236-zebra_diet
Revert "Zebra diet"
- Revert "Zebra diet"
- Merge pull request #4236 from donaldsharp/zebra_diet
Zebra diet
- topotests/bgp_rfapi_basic_sanity: cleanup rfapi using non-debug command
Signed-off-by: Lou Berger <[email protected]>
- lib: Convert table code to use new hash type
This converts the new table code to use the new hash
type provided by David.
The following test is 1 million routes installed and how
much memory we are using:
Old mem usage:
Memory statistics for zebra:
System allocator statistics:
Total heap allocated: 574 MiB
Holding block headers: 0 bytes
Used small blocks: 0 bytes
Used ordinary blocks: 536 MiB
Free small blocks: 33 MiB
Free ordinary blocks: 4600 KiB
Ordinary blocks: 0
Small blocks: 0
Holding blocks: 0
New Memory usage:
Memory statistics for zebra:
System allocator statistics:
Total heap allocated: 542 MiB
Holding block headers: 0 bytes
Used small blocks: 0 bytes
Used ordinary blocks: 506 MiB
Free small blocks: 3374 KiB
Free ordinary blocks: 33 MiB
Ordinary blocks: 0
Small blocks: 0
Holding blocks: 0
Signed-off-by: Donald Sharp <[email protected]>
- lib: Make prefix_hash_key accept a const
We should not be modifying the pointer for the prefix_hash_key
function, make it a const so that we can use it elsewhere.
Signed-off-by: Donald Sharp <[email protected]>
- lib: Make _find functions treat the head as const
The head of a list should not change for find functions. Probably
are others that should be considered but these changes can come
in as needed I believe.
Signed-off-by: Donald Sharp <[email protected]>
- zebra: Remove linked list and replace with new LIST
The `struct rib_dest_t` was being used to store the linked
list of rnh's associated with the node. This was taking up
a bunch of memory. Replace with new data structure supplied
by David and see the memory reductions associated with 1 million
routes in the zebra rib:
Old:
Memory statistics for zebra:
System allocator statistics:
Total heap allocated: 675 MiB
Holding block headers: 0 bytes
Used small blocks: 0 bytes
Used ordinary blocks: 567 MiB
Free small blocks: 39 MiB
Free ordinary blocks: 69 MiB
Ordinary blocks: 0
Small blocks: 0
Holding blocks: 0
New:
Memory statistics for zebra:
System allocator statistics:
Total heap allocated: 574 MiB
Holding block headers: 0 bytes
Used small blocks: 0 bytes
Used ordinary blocks: 536 MiB
Free small blocks: 33 MiB
Free ordinary blocks: 4600 KiB
Ordinary blocks: 0
Small blocks: 0
Holding blocks: 0
`struct rnh` was moved to rib.h because of the tangled web
of structure dependancies. This data structure is used
in numerous places so it should be ok for the moment.
Future work might be needed to do a better job of splitting
up data structures and function definitions.
Signed-off-by: Donald Sharp <[email protected]>
- doc: Some minor doc cleanup for new data structures
Noticed during attempts at usage that the documentation
needed a couple small updates:
1) Tell the user which header to include
2) Some functions want the address of the data structure
Signed-off-by: Donald Sharp <[email protected]>
- Merge pull request #4230 from sworleys/Route-Info-Check
zebra: Check on startup route_info has all types
- Merge pull request #4220 from donaldsharp/fix_linux_alias
zebra: Modify how we display/store os description
- Merge pull request #4192 from bisdhdh/biswajitfrr_4
bgpd: Prevent IPv6 routes received via a ibgp session with own ip as nexthop
- topotests/bgp_rfapi_basic_sanity: cleanup rfapi using non-debug command
Signed-off-by: Lou Berger <[email protected]>
- zebra: Check on startup route_info has all types
Add a function to check if the route_info array
has all types specified with data in it. Specifically,
test the 'key' attribute for non-zero data. Ignore
ZEBRA_ROUTE_SYSTEM as it should be zero key anyway.
Signed-off-by: Stephen Worley <[email protected]>
- zebra: suppress unused variable warning
Signed-off-by: Quentin Young <[email protected]>
- Merge pull request #4226 from sworleys/PBR-BFD-OF-route_info
zebra: Add PBR, BFD, OpenFabric to route_info
- zebra: Fix incorrect reading of REMOTE_VTEP_[ADD|DEL]
With flooding control added recently we were not properly handling
the new flood control parameter in zebra_vxlan.c handler functions.
The error message that was being repeatedly seen:
2019/05/01 00:47:32 ZEBRA: [EC 100663311] stream_get2: Attempt to get out of bounds
2019/05/01 00:47:32 ZEBRA: [EC 100663311] &(struct stream): 0x7f0f04001740, size: 22, getp: 22, endp: 22
The fix was to ensure that both the _add and _del functions kept proper
sizing of amount of data read *and* the _del function was not
reading the flood_control data from the stream.
Signed-off-by: Donald Sharp <[email protected]>
- Merge pull request #4232 from mjstapp/fix_topotests_py3
topotest: fixes to support python3
- topotest: fixes to support python3
Make some small changes to support both python 2 and 3.
Signed-off-by: Mark Stapp <[email protected]>
- Merge pull request #3045 from opensourcerouting/atoms
READY: lists/skiplists/rb-trees new API & sequence lock & atomic lists
- ospfd: Correct Link-ID and Remote IP for TE LSA
Solve issue #4198
Link-ID and Remote IP address must be set accordingly to the interface type
(Point-to-Point or Broadcast) from the neighbor information. However, this
information are only valid once the Network State Machine (NSM) is Full i.e.
when the adjacency is up. The original TE code only look to Interface State
Machine (ISM) change which not allow to collect valid neighbor information.
The patch move setup of Link-ID and Remote-IP TE parameters from
ospf_mpls_te_ism_change() to ospf_mpls_te_nsm_change() function.
Signed-off-by: Olivier Dugeon <[email protected]>
- zebra: Comment to ensure types added to route_info
Add a comment to indicate that route types added to
Zebra, should also be present in the route_info array.
Signed-off-by: Stephen Worley <[email protected]>
- Merge pull request #4227 from faickermo/fix_show_ip_bgp_json
bpgd: Add the end of newline of show bgp table json output
- zebra: Add OpenFabric to route_info array
Add OpenFabric to the route_info array for handling processing
of the OpenFabric route type.
Signed-off-by: Stephen Worley <[email protected]>
- zebra: Add BFD to route_info array
Add BFD to the route_info array for handling processing
of the BFD route type.
Signed-off-by: Stephen Worley <[email protected]>
- zebra: Add PBR to route_info array
Add PBR to the route_info array for handling processing
of the PBR route type.
Signed-off-by: Stephen Worley <[email protected]>
- Revert "lib: use DECLARE_SKIPLIST for timers instead of pqueue"
This reverts commit 7c198e4e1ac07c043ecfc573aed9f1d107f87234.
- Revert "lib: remove pqueue_*"
This reverts commit 798ac49d06b6619adb4c5ac765b092397bc50a6c.
- bpgd: Add the end of newline of show bgp table json output
Signed-off-by: Faicker Mo <[email protected]>
- lib: remove fifo implementation
- bgpd: replace label pool fifo with DECLARE_LIST
Again, the FIFO_* stuff in lib/fifo.h is no different from a simple
unsorted list. Just use DECLARE_LIST here so we can get rid of FIFO_*.
Signed-off-by: David Lamparter <[email protected]>
- bgpd: replace ADV_FIFO with DECLARE_LIST
The FIFO_* stuff in lib/fifo.h is no different from a simple unsorted
list. Just use DECLARE_LIST here so we can get rid of FIFO_*.
Signed-off-by: David Lamparter <[email protected]>
- isisd: replace dict_* with DECLARE_RBTREE
Historically, isisd has been carrying around its own red-black tree to
manage its LSP DB in. This replaces that with the newly-added
DECLARE_RBTREE_*. This allows completely removing the dict_* code.
Signed-off-by: David Lamparter <[email protected]>
- lib: remove pqueue_*
All users of the pqueue_* implementations have been migrated to use
TYPEDSKIP_* skiplists. Remove.
Signed-off-by: David Lamparter <[email protected]>
- ospfd: replace pqueue_* with DECLARE_SKIPLIST
This replaces the SPF pqueue_* with a DECLARE_SKIPLIST_* skiplist.
Signed-off-by: David Lamparter <[email protected]>
- ospf6d: replace pqueue_* with DECLARE_SKIPLIST
As the previous commit, this replaces ospf6d's pqueue_* usage in SPF
calculations with a DECLARE_SKIPLIST_* skiplist.
Signed-off-by: David Lamparter <[email protected]>
- lib: use DECLARE_SKIPLIST for timers instead of pqueue
Replaces the use of pqueue_* for the thread_master's timer list with an
instance of DECLARE_SKIPLIST_*.
Signed-off-by: David Lamparter <[email protected]>
- lib: use DECLARE_LIST for thread_list
Replaces the open-coded thread_list with a DECLARE_LIST instantiation.
Some function prototypes are actually identical to what was previously
open-coded.
Signed-off-by: David Lamparter <[email protected]>
- lib: use DECLARE_HASH for qobj hash
This changes the qobj node ID hash to use the new typed hash instead of
the old hash_* code.
Signed-off-by: David Lamparter <[email protected]>
- tests: exercise the typesafe list wrappers
Since all of these list implementations provide almost the same API, we
can run and validate them against the same test code. 9 tests for the
price of one!
Signed-off-by: David Lamparter <[email protected]>
- doc: add developer docs for type-safe lists
Signed-off-by: David Lamparter <[email protected]>
- lib: atomlist & atomsort
These two are lock-free linked list implementations, the plain one is
primarily intended for queues while the sorted one is for general data
storage.
Signed-off-by: David Lamparter <[email protected]>
- lib: typesafe rb-tree
Typesafe red-black tree, built out of the OpenBSD implementation and the
macro soup layered on top. API compatible with skiplists & simple
lists.
Signed-off-by: David Lamparter <[email protected]>
- lib: typesafe lists, skiplist & hash
By the power of the C preprocessor, these macros provide type-safe
warppers for simple lists, skiplists and hash tables. Also, by changing
the instantiation macro, it is easily possible to switch between
algorithms; the code itself does not need to be changed since the API
is identical across all algorithms.
Signed-off-by: David Lamparter <[email protected]>
- lib: add new gRPC-based northbound plugin
This is an experimental plugin for now. Full documentation will
come later.
Signed-off-by: Renato Westphal <[email protected]>
- lib: introduce a read-write lock for northbound configurations
The upcoming gRPC-based northbound plugin will run on a separate
pthread, and it will need to have access to the running configuration
global variable. Introduce a rw-lock to control concurrent access
to the running configuration. Add the lock inside the "nb_config"
structure so that it can be used to protect candidate configurations
as well (this might be necessary depending on the threading scheme
of future northbound plugins).
Signed-off-by: Renato Westphal <[email protected]>
- lib: add API to allow northbound clients to lock/unlock the running configuration
The ability to lock the running configuration to prevent other users
from changing it is a very important one. We already supported
the "configure exclusive" command but the lock was applied to
the CLI users only (other clients like ConfD could still commit
configuration transactions, ignoring the CLI lock). This commit
introduces a global lock for the running configuration that is
shared by all northbound clients, and provides a public API to
manipulate it. This way other northbound clients will also be able
to lock/unlock the running configuration if required (the upcoming
gRPC northbound plugin will have RPCs for that).
NOTE: this is a management-level lock for the running configuration,
not to be confused with low-level locks used to avoid data races.
Signed-off-by: Renato Westphal <[email protected]>
- zebra: Modify how we display/store os description
The alias/description of an interface in linux was being
used to override the internal description. As such let's
fix the display to keep track of both if we have it.
Config in FRR:
!
interface docker0
description another combination
!
interface enp3s0
description BAMBOOZLE ME WILL YOU
!
Config in linux:
sharpd@robot ~/f/zebra> ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
alias This is the loopback you cabbage
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 74:d0:2b:9c:16:eb brd ff:ff:ff:ff:ff:ff
alias HI HI HI
Now the 'show int descr' command:
robot# show int description
Interface Status Protocol Description
docker0 up down another combination
enp3s0 up up BAMBOOZLE ME WILL YOU
HI HI HI
lo up up This is the loopback you cabbage
Fixes: #4191
Signed-off-by: Donald Sharp <[email protected]>
- Merge pull request #4216 from donaldsharp/nhg_sharpd_fixup
vtysh: Fixup exit nexthop-group to include sharpd
- vtysh: Fixup exit nexthop-group to include sharpd
The exit of the nexthop-group should know about sharpd
Signed-off-by: Donald Sharp <[email protected]>
- Merge pull request #4159 from sworleys/WQ-ErrFunc-Fix
lib: Fix workqueue error function callback
- Merge pull request #4209 from dslicenc/zebra-nexthop-update-flag
zebra: resolve issue with protocol route-map not applied properly
- zebra: resolve issue with protocol route-map not applied properly
Problem reported that route-maps applied to "ip protocol table bgp"
would not be invoked if the ip protocol table command was issued
after the bgp prefixes were installed. Found that a recent change
improving how often nexthop_active_update runs missed causing this
filtering to be applied. This fix resolves that issue as well as
a couple of other places that were problematic with the recent
change.
Signed-off-by: Don Slice <[email protected]>
- Merge pull request #4201 from Orange-OpenSource/SR-isis
Issue #4032: Add IS-IS-TE support per Area
- isisd: Correct MPLS-TE CLI to new northbound API
Due to recent modification in northbound API, replace
yang_dnode_get_entry() call by nb_running_get_entry() call.
Signed-off-by: Olivier Dugeon <[email protected]>
- isisd: Add IS-IS-TE support per Area
Solve issue #4032
- Change MPLS-TE from global to per Area
- Add new mpls_te_area structure to area in replacement of global variable
isisMPLS_TE
- Move mpls-te from global to instance in frr-isisd.yang
- Change code in isis_te.c, isis_northbound.c, isis_cli.c, isis_pdu.c,
isis_lsp.c and isis_zebra.c accordingly
Signed-off-by: Olivier Dugeon <[email protected]>
- Merge pull request #4205 from donaldsharp/pim_more_flags
pimd: Add missing flags to json output
- Merge pull request #4204 from dslicenc/frr-reload-bfd-timers
tools: frr-reload.py stop bouncing peers on bfd timer change
- tools: frr-reload.py stop bouncing peers on bfd timer change
Problem reported that if a bgp neighbor had a bfd timer change
made in frr.conf and systemctl reload frr performed, the neighbor
with the timer changed bounced. If the change is made in vtysh
by just adding the new timer values, no peer bounce occurs. This
fix skips the delete part of the delete/add process in frr-reload
so the peers stay up.
Signed-off-by: Don Slice <[email protected]>
- Merge pull request #4155 from pguibert6WIND/bfd_increase_config
bfdd: avoid having bfd config inherited from operation context
- Merge pull request #4145 from pguibert6WIND/bfd_converge_up
BFD speed convergence up
- Merge pull request #4140 from ton31337/fix/do_not_send_notification_again_with_invalid_nlri
bgpd: Do not send UPDATE message with maximum-prefix
- Merge pull request #4126 from karamalla0406/4113
zebra: L3VNI's are allowed to unconfigure from any VRF
- Merge pull request #4200 from ton31337/fix/add_alias_for_force_next-hop
bgpd: Make sure `next-hop-self all` backward compatible with force
- bgpd: Make sure `next-hop-self all` backward compatible with force
Signed-off-by: Donatas Abraitis <[email protected]>
- Merge pull request #4203 from opensourcerouting/bfd-fix-src-port
bfdd: fix UDP source port range
- bfdd: fix UDP source port range
RFC 5881 Section 4 tells us that the BFD source port must be between
49152 and 65535 inclusive.
Spotted by Lucian Cristian.
Signed-off-by: Rafael Zalamena <[email protected]>
- bgpd: Do not send UPDATE message with maximum-prefix
When using maximum-prefix and count is overflow BGP
sends UPDATE message:
Apr 15 20:45:06 exit1-debian-9 bgpd[9818]: 192.168.0.2 [Error] Error parsing NLRI
Apr 15 20:45:06 exit1-debian-9 bgpd[9818]: %NOTIFICATION: sent to neighbor 192.168.0.2 3/10 (UPDATE Message Error/Invalid Network Field) 0 bytes
Signed-off-by: Donatas Abraitis <[email protected]>
- bgpd: Prevent IPv6 routes received via a ibgp session with own ip as nexthop
Prevent IPv6 routes received via a ibgp session with one of its own interface
ip as nexthop from getting installed in the BGP table.
Implemented IPV6 HASH table, where we need to add any ipv6 address as they
gets configured and delete them from the HASH table as the ipv6 addresses
get unconfigured. The above hash table is used to verify if any route learned
via BGP has nexthop which is equal to one of its its connected ipv6 interface.
Signed-off-by: Biswajit Sadhu [email protected]
- pimd: Add missing flags to json output
the json code has not been updated since a variety of new flags have
been added to the code base. Add those flags in so we can tell
what is going on sometimes.
Signed-off-by: Donald Sharp <[email protected]>
- Merge pull request #4187 from donaldsharp/doc_pim
doc: Cleanup output of new PIM-EVPN doc
- Merge pull request #4176 from qlyoung/doc-cleanup-ospf-apiserver
Cleanup OSPF API server docs
- doc: typo / grammar pass on OSPF API docs
Signed-off-by: Quentin Young <[email protected]>
- doc: add copyright notice from Ralph Keller
Ralph has kindly granted us GPLv2+ license to use this documentation,
and requests that we keep a reference to his name. Add these facts to
the documentation.
Signed-off-by: Quentin Young <[email protected]>
- Merge pull request #4184 from ton31337/fix/documentation_for_as-path_regexp
doc: Specify allowed chars in bgp regular expressions
- doc: Specify allowed chars in bgp regular expressions
Signed-off-by: Donatas Abraitis <[email protected]>
- doc: pim evpn tabs -> spaces
And remove `interface` highlight directive
Signed-off-by: Quentin Young <[email protected]>
- doc: Cleanup output of new PIM-EVPN doc
The PIM-EVPN doc was not rendering very well on the
website. So Update documentation to allow it to render
better.
Signed-off-by: Donald Sharp <[email protected]>
- Merge pull request #4179 from donaldsharp/mroute_show
Mroute show
- Merge pull request #4177 from donaldsharp/pim_more_sg
pimd: When creating new upstream state, figure out what we should join
- Merge pull request #4163 from chiragshah6/evpn_dev2
bgpd: instance delete unimport evpn routes
- Merge pull request #4183 from ton31337/feature/validate_regexp_for_show_command_as_well
bgpd: Validate as-path in `show bgp regexp`
- bgpd: Validate as-path in `show bgp regexp`
Signed-off-by: Donatas Abraitis <[email protected]>
- Merge pull request #4185 from FRRouting/revert-4137-TE
Revert "isisd: Add IS-IS-TE support per Area"
- Revert "isisd: Add IS-IS-TE support per Area"
- Merge pull request #4137 from Orange-OpenSource/TE
isisd: Add IS-IS-TE support per Area
- Merge pull request #4162 from opensourcerouting/rip-issues
ripd, ripngd: fix cleaning up of offset lists
- doc: Update `show ip mroute` command docs.
Signed-off-by: Donald Sharp <[email protected]>
- pimd: Add ability to select on S or G for `show ip mroute`
Add the ability to select on a S or G for a `show ip mroute`
command.
show ip mroute 225.1.1.111
show ip mroute 4.5.6.7 225.1.1.111
Signed-off-by: Donald Sharp <[email protected]>
- pimd: When creating new upstream state, figure out what we should join
Always when creating a new S,G state look at all possible ifchannels
to decide what the mroute should be.
The bug that this is fixing is this:
Suppose two incoming `*,G` joins on swp1, and swp2.
Now suppose that one of those ifchannel `*,G` sends a `*,G S,G RPT Prune`.
We were creating the S,G upstream state as we should but we were
only looking at the S,G ifchannel to decide the S,G mroute we would
be creating. As such what we need to do is to look over the associated
*,G ifchannels and allow us to associate correct oil needed.
Ticket: CM-24732
Signed-off-by: Donald Sharp <[email protected]>
- Merge pull request #4173 from mjstapp/fix_linklist_warning
lib: fix warning in linklist api
- doc: add --apiserver to ospfd manpage
Signed-off-by: Quentin Young <[email protected]>
- doc: cleanup OSPF API server documentation
* Reflow to 80 columns
* Improve markup
* Add --apiserver option to example ospfd invocations
* Add note on requirement of this option to use api server
Signed-off-by: Quentin Young <[email protected]>
- lib: fix warning in linklist api
Add return value and comment to new/recent linklist api
to clean up compile warning.
Signed-off-by: Mark Stapp <[email protected]>
- Merge pull request #3786 from mjstapp/dplane_intf
zebra: async interface address programming
- Merge pull request #4161 from opensourcerouting/nb-performance
lib: rework management of user pointers in the northbound layer
- zebra: removing old intf address code
Remove old ioctl and netlink interface-address code
after conversion to async dataplane
Signed-off-by: Mark Stapp <[email protected]>
- zebra: Dplane interface address install for non-netlink
ioctl-based platform code for interface address installation
Signed-off-by: Mark Stapp <[email protected]>
- zebra: add 'is broadcast' accessor for interface data
Add flag and accessor corresponding to the interface struct's
'is broadcast' flag.
Signed-off-by: Mark Stapp <[email protected]>
- libs: use const in some interface flag accessors
Use const in several interface struct flag accessors (that just
test flags.)
Signed-off-by: Mark Stapp <[email protected]>
- zebra: Use dplane for interface addresses (netlink)
Start using the dataplane for interface-address programming,
on netlink platforms. Other platforms just stubbed at this
point.
Signed-off-by: Mark Stapp <[email protected]>
- zebra: add interface-address info for dataplane
Add data and accessor apis for interface-address information.
Signed-off-by: Mark Stapp <[email protected]>
- Merge pull request #4025 from AnuradhaKaruppiah/pim-evpn
pim-evpn: Forwarding overlay BUM traffic via multicast VxLAN tunnels in the underlay
- Merge pull request #4057 from mjstapp/fix_privs_even_more
lib: serialize privs changes
- libs: control privs changes with refcount
Use a refcount to control privs changes. Support process-wide
privs apis, as well as per-pthread apis.
Signed-off-by: Mark Stapp <[email protected]>
- Merge pull request #4166 from donaldsharp/pim_s_g
Pim s g
- Merge pull request #4170 from AnuradhaKaruppiah/evpn-fix-bgp-locks
bgpd: lock the tenant-vrf associated with the l2-vni
- Merge pull request #4156 from ton31337/fix/allow_backslash_in_as-path_regexp
bgpd: Allow backslash in as-path filter lists
- pimd: fix macro backslash alignment
Fixed in response to Jafar's comments.
Signed-off-by: Anuradha Karuppiah <[email protected]>
- lib: two extra bytes were being allocated for the SG string
Fixup in response to Jafar's review comments.
This is actually old code moved in from pimd to lib. But the fixup does
make sense.
Signed-off-by: Anuradha Karuppiah <[email protected]>
- zebra: use "mcast group" instead of just mcast in show and logs
Fixup done in response to Jafar's review comments.
root@act-7726-03:~# vtysh -c "show interface vxlan1000111"
Interface vxlan1000111 is up, line protocol is up
Link ups: 0 last: (never)
Link downs: 0 last: (never)
PTM status: disabled
vrf: default
…1 parent efe6b28 commit 217a38fCopy full SHA for 217a38f
1 file changed
+1
-1
lines changedsrc/sonic-frr/frr
Copy file name to clipboardSubmodule frr updated from 885d011 to 0fb4e16
0 commit comments