]>
git.puffer.fish Git - mirror/frr.git/log
anlan_cs [Wed, 23 Feb 2022 04:10:42 +0000 (23:10 -0500)]
zebra: delay setting esi in zebra_evpn_local_es_update()
Currently, `zif->es_info.esi` is always set even for a few unnecessary
cases in `zebra_evpn_local_es_update()`.
Delay setting `zif->es_info.esi` and remove the annoying rollback
(i.e. unset `zif->es_info.esi`) operation on failure case.
Signed-off-by: anlan_cs <vic.lan@pica8.com>
Donatas Abraitis [Sat, 14 May 2022 18:16:19 +0000 (21:16 +0300)]
Merge pull request #11180 from fdumontet6WIND/flag_pre_post
BMP fix invalid bmp POST POLICY flag
Donatas Abraitis [Sat, 14 May 2022 18:15:54 +0000 (21:15 +0300)]
Merge pull request #11135 from donaldsharp/bgp_rpki_no_forms
bgpd: Fix no form of rpki commands to take values
Donatas Abraitis [Sat, 14 May 2022 18:15:03 +0000 (21:15 +0300)]
Merge pull request #11149 from donaldsharp/update_group_debugging
Update group debugging
Donald Sharp [Sat, 14 May 2022 13:53:42 +0000 (09:53 -0400)]
Merge pull request #11202 from anlancs/fix/check_zebra_vrf_get_evpn
zebra: remove unnecessary check for "zevpn_vrf"
anlan_cs [Sat, 14 May 2022 01:02:11 +0000 (21:02 -0400)]
zebra: remove unnecessary check for "zevpn_vrf"
The global vrf in zebra is always non-NULL. In general, it is bound to
default vrf by `zebra_vrf_init()`, at other times bound to some specific
vrf. Anyway, non-NULL.
So remove all redundant checkings for the returned value of
`zebra_vrf_get_evpn()`.
Additionally, remove the unnecessary check for `zvrf` in
`zebra_vxlan_cleanup_tables()`.
Signed-off-by: anlan_cs <vic.lan@pica8.com>
Donald Sharp [Fri, 13 May 2022 18:01:33 +0000 (14:01 -0400)]
Merge pull request #11198 from opensourcerouting/fix/show_ip_bgp_l2vpn_evpn_rd_neighbor_routes_unint
bgpd: Initialize prd for show_ip_bgp_l2vpn_evpn_rd_neighbor_routes()
Donald Sharp [Fri, 13 May 2022 15:49:51 +0000 (11:49 -0400)]
Merge pull request #11195 from anlancs/fix/lib-qsort
lib: add one check in "list_sort()"
Jafar Al-Gharaibeh [Fri, 13 May 2022 13:39:12 +0000 (08:39 -0500)]
Merge pull request #10958 from patrasar/pim_passive
pimd: introduce ip pim passive command
Donald Sharp [Thu, 5 May 2022 15:21:20 +0000 (11:21 -0400)]
bgpd: Add a bit of debug to give us data about how an update group is formed
The creation of the update group is a tiny bit of a black box and is hard
to figure out by hand if it is correct. Add a bit of code so that FRR
operators/developers can determine if the update group categorization
makes us happy.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donatas Abraitis [Fri, 13 May 2022 12:41:16 +0000 (15:41 +0300)]
bgpd: Initialize prd for show_ip_bgp_l2vpn_evpn_rd_neighbor_routes()
*** CID
1517751 : Uninitialized variables (UNINIT)
/bgpd/bgp_evpn_vty.c: 1648 in show_ip_bgp_l2vpn_evpn_rd_neighbor_routes()
1642
1643
1644 if (rd_all)
1645 return bgp_show_ethernet_vpn(vty, NULL, bgp_show_type_neighbor,
1646 peer, SHOW_DISPLAY_STANDARD, uj);
1647 else
>>> CID
1517751 : Uninitialized variables (UNINIT)
>>> Using uninitialized element of array "prd.val" when calling "bgp_show_ethernet_vpn".
1648 return bgp_show_ethernet_vpn(vty, &prd, bgp_show_type_neighbor,
1649 peer, SHOW_DISPLAY_STANDARD, uj);
1650 }
1651
1652 DEFUN(show_ip_bgp_l2vpn_evpn_neighbor_advertised_routes,
1653 show_ip_bgp_l2vpn_evpn_neighbor_advertised_routes_cmd,
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donald Sharp [Thu, 5 May 2022 15:31:33 +0000 (11:31 -0400)]
bgpd: Make bgp_debug.[ch] take `const struct peer *` and return bool
Several functions in bgp_debug.[ch] take a const struct peer *
and also return a bool instead of an int.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Fri, 13 May 2022 12:36:41 +0000 (08:36 -0400)]
Merge pull request #11197 from opensourcerouting/feature/gr_notification_docs
doc: Add some more documentation about Notification support for GR
Donald Sharp [Mon, 2 May 2022 16:36:22 +0000 (12:36 -0400)]
bgpd: Fix no form of rpki commands to take values
Fix the no forms of some rpki commands to take variable
values on the no form. So that people cut-n-pasting while
adding a no works.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donatas Abraitis [Fri, 13 May 2022 11:43:11 +0000 (14:43 +0300)]
Merge pull request #11194 from donaldsharp/untrusted
Some more Coverity issues solved
Donald Sharp [Fri, 13 May 2022 11:40:58 +0000 (07:40 -0400)]
Merge pull request #11177 from opensourcerouting/fix/memset_memcpy
*: memcpy/memset zeroing
Donald Sharp [Fri, 13 May 2022 11:35:57 +0000 (07:35 -0400)]
Merge pull request #11188 from opensourcerouting/fix/argv_find
bgpd: Cleanup
Igor Ryzhov [Fri, 13 May 2022 11:25:06 +0000 (14:25 +0300)]
Merge pull request #9454 from anlancs/fix-ospf6-gr-length
ospf6d: suppress coverity warnings of insecure data handling
Donatas Abraitis [Fri, 13 May 2022 09:45:25 +0000 (12:45 +0300)]
doc: Add some more documentation about Notification support for GR
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
sarita patra [Mon, 9 May 2022 11:03:52 +0000 (04:03 -0700)]
tests: Inroduced pim passive test cases
Co-authored-by: Vijay Kumar Gupta <vijayg@vmware.com>
Signed-off-by: sarita patra <saritap@vmware.com>
sarita patra [Wed, 4 May 2022 13:05:43 +0000 (06:05 -0700)]
pimd: Northbound support for pim passive enable
Added nothbound callbacks for pim-passive-enable
Signed-off-by: sarita patra <saritap@vmware.com>
sarita patra [Thu, 7 Apr 2022 07:09:01 +0000 (00:09 -0700)]
pimd: Disable receiving BSM on passive interface
Signed-off-by: sarita patra <saritap@vmware.com>
sarita patra [Thu, 7 Apr 2022 07:07:53 +0000 (00:07 -0700)]
pimd: Disable receiving assert msg on passive interface
Signed-off-by: sarita patra <saritap@vmware.com>
sarita patra [Thu, 7 Apr 2022 07:06:39 +0000 (00:06 -0700)]
pimd: Disable receiving join/prune on passive interface
Signed-off-by: sarita patra <saritap@vmware.com>
sarita patra [Thu, 7 Apr 2022 07:05:36 +0000 (00:05 -0700)]
pimd: Disable receiving register-stop on passive interface
Signed-off-by: sarita patra <saritap@vmware.com>
sarita patra [Thu, 7 Apr 2022 07:04:21 +0000 (00:04 -0700)]
pimd: Disable receiving register msg on passive interface
Signed-off-by: sarita patra <saritap@vmware.com>
sarita patra [Thu, 7 Apr 2022 07:02:52 +0000 (00:02 -0700)]
pimd: Disable receiving hello on passive interface
Signed-off-by: sarita patra <saritap@vmware.com>
sarita patra [Mon, 4 Apr 2022 11:14:54 +0000 (04:14 -0700)]
pimd: Handling hello send statistics for passive interface
Increment pim_ifstat_hello_sent only when interface is
passive disabled.
Signed-off-by: sarita patra <saritap@vmware.com>
sarita patra [Mon, 4 Apr 2022 11:13:07 +0000 (04:13 -0700)]
pimd: Handling reg and reg_stop send statistics for passive interface
Increment pim_ifstat_reg_stop_send & pim_ifstat_reg_send when
interface is passive disabled.
Signed-off-by: sarita patra <saritap@vmware.com>
sarita patra [Mon, 4 Apr 2022 11:11:38 +0000 (04:11 -0700)]
pimd: Handling Join/Prune statistics for passive interface
Increment pim_ifstat_prune_send only when interface is
passive disabled.
Signed-off-by: sarita patra <saritap@vmware.com>
sarita patra [Mon, 4 Apr 2022 11:10:33 +0000 (04:10 -0700)]
pimd: Handling BSM send statistics for passive interface
Increment pim_ifstat_bsm_tx only when interface is
passive disabled.
Signed-off-by: sarita patra <saritap@vmware.com>
sarita patra [Mon, 4 Apr 2022 11:08:42 +0000 (04:08 -0700)]
pimd: Handling assert send statistics for passive interface
Increment pim_ifstat_assert_send only when interface is
passive disabled.
Signed-off-by: sarita patra <saritap@vmware.com>
sarita patra [Mon, 4 Apr 2022 11:16:10 +0000 (04:16 -0700)]
doc: add ip[v6] pim passive support
Signed-off-by: sarita patra <saritap@vmware.com>
sarita patra [Thu, 7 Apr 2022 07:43:20 +0000 (00:43 -0700)]
pimd: display passive in show ip pim interface cmd
Signed-off-by: sarita patra <saritap@vmware.com>
sarita patra [Mon, 4 Apr 2022 11:37:18 +0000 (04:37 -0700)]
pimd: show ip[v6] pim passive in show running config
Signed-off-by: sarita patra <saritap@vmware.com>
sarita patra [Mon, 4 Apr 2022 11:37:56 +0000 (04:37 -0700)]
pimd: Disable sending of control packets on passive interface
Signed-off-by: sarita patra <saritap@vmware.com>
sarita patra [Thu, 7 Apr 2022 12:34:07 +0000 (05:34 -0700)]
pimd: introduced flags for pim_passive_enable
Signed-off-by: sarita patra <saritap@vmware.com>
sarita patra [Mon, 4 Apr 2022 11:01:45 +0000 (04:01 -0700)]
pim6d: introduce ipv6 pim passive command
Added a new cli command "ip pim passive" in the interface context,
to disable sending of pim control packets on the interface.
Signed-off-by: sarita patra <saritap@vmware.com>
sarita patra [Thu, 7 Apr 2022 07:41:14 +0000 (00:41 -0700)]
pimd: introduce ip pim passive command
Added a new cli command "ip pim passive" in the interface context,
to disable sending of pim control packets on the interface.
Signed-off-by: sarita patra <saritap@vmware.com>
Donatas Abraitis [Fri, 13 May 2022 06:00:08 +0000 (09:00 +0300)]
Merge pull request #11190 from donaldsharp/bgp_data
Fix #11178 and various other cleanup
anlan_cs [Fri, 13 May 2022 02:14:11 +0000 (22:14 -0400)]
lib: add one check in "list_sort()"
Add one check in `list_sort()`:
Immediatly return if no any items in this list.
Signed-off-by: anlan_cs <vic.lan@pica8.com>
Donald Sharp [Thu, 12 May 2022 20:58:29 +0000 (16:58 -0400)]
bfdd: Prevent coverity from thinking values are uninited
Coverity is claiming that bfdd is able got have bglobal.bg_use_dplane
can be true, while dplane_addr can be uninitialized. Not really
possible since global variables are initialized to all 0's. In
any event. Force it to think it can't go there.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Thu, 12 May 2022 20:47:05 +0000 (16:47 -0400)]
bgpd: Assign large enough data structure for coverity to be happy
When implementing the bgp_packet_mpunreach_prefix a uint8_t array
of 3 bytes was created and then assigned to a label type, which
is 4 bytes and then various pointer work is done on it. Eventually
coverity is complaining that the 3 -vs- 4 bytes is not enough
to properly dereference it. Just make the uint8_t 4 bytes
and be done with it.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Thu, 12 May 2022 17:23:36 +0000 (13:23 -0400)]
babeld: Check that bodylen is within some bounds of usable
Coverity believed that the bodylen value was read directly
from the incoming packet and then used as a loop variable.
Unfortunately it missed the fact that in babel_packet_examin
the bodylen was actually checked to ensure that it was long
enough. So instead of checking it 2 times, generate it one
time and let coverity figure it out from that.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Thu, 12 May 2022 13:18:38 +0000 (09:18 -0400)]
bgpd: Align bgp_dump.h to our standards
bgp_dump.h has function declarations that are
not properly aligned with our standard on how
to do so. Fix.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Thu, 12 May 2022 13:17:07 +0000 (09:17 -0400)]
bgpd: Align bgp_debug.h to our standards
bgp_debug.h has function declarations that are
not properly aligned with our standard on how
to do so. Fix.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Thu, 12 May 2022 13:13:40 +0000 (09:13 -0400)]
bgpd: Align bgp_damp.h to our standards
bgp_damp.h has function declarations that are
not properly aligned with our standard on how
to do so. Fix.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Thu, 12 May 2022 13:11:07 +0000 (09:11 -0400)]
bgpd: Align bgp_community.h to our standards
bgp_community.h has function declarations that are
not properly aligned with our standard on how
to do so. Fix.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Thu, 12 May 2022 13:08:12 +0000 (09:08 -0400)]
bgpd: Align bgp_clist.h to our standards
bgp_clist.h has function declarations that are
not properly aligned with our standard on how
to do so. Fix.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Thu, 12 May 2022 13:03:49 +0000 (09:03 -0400)]
bgpd: Align bgp_attr.h to our standards
bgp_attr.h has function declarations that are
not properly aligned with our standard on how
to do so. Fix.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Thu, 12 May 2022 13:00:46 +0000 (09:00 -0400)]
bgpd: Align bgp_aspath.h to our standards
bgp_aspath.h has function declarations that are
not properly aligned with our standard on how
to do so. Fix.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Thu, 12 May 2022 12:53:01 +0000 (08:53 -0400)]
bgpd: Align bgp_advertise.h to our standards
bgp_advertise.h has function declarations that are
not properly aligned with our standard on how
to do so. Fix.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Thu, 12 May 2022 12:28:11 +0000 (08:28 -0400)]
bgpd: Align bgp_zebra.h to our standards
bgp_zebra.h has function declarations that are
not properly aligned with our standard on how
to do so. Fix.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Thu, 12 May 2022 12:11:46 +0000 (08:11 -0400)]
bgpd: Align bgp_mpath.h to our standards
The bgp_mpath.h file was missing some variable names. Let's
add them in to align with our standard for header files.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Thu, 12 May 2022 12:06:14 +0000 (08:06 -0400)]
bgpd: Change single value bitfield to a bool
The maxpaths same_clusterlen value was a uint16_t
with a single bit being used. No other values are
being stored. Let's remove the bitfield and simplify
to a bool.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Thu, 12 May 2022 13:39:27 +0000 (09:39 -0400)]
bgpd: Prevent crash when issuing various forms of `bgp no-rib`
The `bgp no-rib` command cycles through all the bgp rib tables
and removes them from zebra. Modify the code so that FRR notices
that it is attempting to cycle through the safi's that are two level
tables. In addition these safi's cannot just blindly remove the routes
from the rib as that there are none explicitly.
This code just prevents the crash in bgpd. It does not properly cycle
through and remove the zebra changes made that are explicit to these afi's.
This should be handled as appropriate by the developers on these safi's when
it becomes important to them.
Fixes: #11178
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donatas Abraitis [Thu, 12 May 2022 10:28:51 +0000 (13:28 +0300)]
Merge pull request #11176 from anlancs/fix/bgpd-remove-for-type2-prefix
bgpd: remove unncessary check for evpn
Donatas Abraitis [Thu, 12 May 2022 08:32:25 +0000 (11:32 +0300)]
Merge pull request #11186 from anlancs/fix/bgpd-comment-should-es
bgpd,zebra: correct one debug log for evpn-mh
Donatas Abraitis [Thu, 12 May 2022 07:28:06 +0000 (10:28 +0300)]
bgpd: Check and validate return value for str2ipaddr()
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas Abraitis [Thu, 12 May 2022 07:23:28 +0000 (10:23 +0300)]
bgpd: Check argv_find() value instead of the index
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas Abraitis [Thu, 12 May 2022 07:09:42 +0000 (10:09 +0300)]
tools: Catch more argv_find() when not checked properly
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas Abraitis [Thu, 12 May 2022 06:57:13 +0000 (09:57 +0300)]
bgpd: Reuse index from argv_find only if found
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
anlan_cs [Thu, 12 May 2022 01:25:47 +0000 (21:25 -0400)]
bgpd,zebra: correct one debug log for evpn-mh
Correct one debug log in evpn-mh.
BTW, correct one misspelled word in comment.
Signed-off-by: anlan_cs <vic.lan@pica8.com>
Francois Dumontet [Wed, 11 May 2022 13:33:12 +0000 (15:33 +0200)]
BGPD: fix invalid bmp POST POLICY flag
description:
BMP Per Peer Headers of Route Monitoring messages with UPDATE and
WITHDRAW notificatiosn ( not the sync ones at Initiation) are
all typed as POST POLICY.
fix:
notify Pre policy UPDATES AND WITHDRAWS with Per Peer Header type set
to PRE POLICY (0)
Signed-off-by: Francois Dumontet <francois.dumontet@6wind.com>
Donatas Abraitis [Wed, 11 May 2022 10:16:44 +0000 (13:16 +0300)]
*: Properly use memset() when zeroing
Wrong: memset(&a, 0, sizeof(struct ...));
Good: memset(&a, 0, sizeof(a));
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas Abraitis [Wed, 11 May 2022 10:14:01 +0000 (13:14 +0300)]
ripd: Use correct usage of memcpy() when zeroing struct
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas Abraitis [Wed, 11 May 2022 10:12:22 +0000 (13:12 +0300)]
tools: Add coccinelle script to catch memset/memcpy wrong usage
Wrong: memset(&a, 0, sizeof(struct ...));
Good: memset(&a, 0, sizeof(a));
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas Abraitis [Wed, 11 May 2022 10:10:23 +0000 (13:10 +0300)]
bgpd: Use sizeof() for memset instead of numeric
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
mobash-rasool [Wed, 11 May 2022 04:34:18 +0000 (10:04 +0530)]
Merge pull request #11151 from opensourcerouting/pim-various-
20220506
pimd, pim6d: fix various smaller issues
anlan_cs [Wed, 11 May 2022 01:48:50 +0000 (21:48 -0400)]
bgpd: remove unncessary check for evpn
In current code, `build_evpn_type2_prefix()` doesn't distinguish ARP
according to the `ip` parameter. The `ip` parameter from caller is
always non-NULL.
Be consistent and not confused, just remove the unnecessary check.
Signed-off-by: anlan_cs <vic.lan@pica8.com>
Mark Stapp [Tue, 10 May 2022 15:31:52 +0000 (11:31 -0400)]
Merge pull request #11155 from LabNConsulting/ziemba/link-delay-min-max
zebra bugfix interface link-param: allow delay min <= avg <= max (was: min<avg<max)
Russ White [Tue, 10 May 2022 15:25:13 +0000 (11:25 -0400)]
Merge pull request #11160 from opensourcerouting/feature/BGP_NOTIFY_CEASE_ADMIN_RESET_hard_reset
bgpd: Send Hard Reset Notification for BGP_NOTIFY_CEASE_ADMIN_RESET
anlan_cs [Wed, 19 Jan 2022 01:24:01 +0000 (20:24 -0500)]
ospf6d: add header size check for LSA
Add header size check for safe. If the check fails, just jump out of current
function.
Signed-off-by: anlan_cs <vic.lan@pica8.com>
Donatas Abraitis [Tue, 10 May 2022 06:25:59 +0000 (09:25 +0300)]
bgpd: Reset bgp_notify.hard_reset on receive to avoid stale data
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas Abraitis [Fri, 6 May 2022 07:21:15 +0000 (10:21 +0300)]
bgpd: Send Hard Reset Notification for BGP_NOTIFY_CEASE_ADMIN_RESET
`clear bgp neighbor` should send Hard Reset and graceful restart should be
activated. Let's make this adjustable.
https://datatracker.ietf.org/doc/html/rfc8538#section-5.1
+-------+------------------------------------+----------------------+
| Value | Name | Suggested Behavior |
+-------+------------------------------------+----------------------+
| 1 | Maximum Number of Prefixes Reached | Hard Reset |
| 2 | Administrative Shutdown | Hard Reset |
| 3 | Peer De-configured | Hard Reset |
| 4 | Administrative Reset | Provide user control |
| 5 | Connection Rejected | Graceful Cease |
| 6 | Other Configuration Change | Graceful Cease |
| 7 | Connection Collision Resolution | Graceful Cease |
| 8 | Out of Resources | Graceful Cease |
| 9 | Hard Reset | Hard Reset |
+-------+------------------------------------+----------------------+
Enabled by default.
Co-authored-by: Biswajit Sadhu <biswajit.sadhu@gmail.com>
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Russ White [Mon, 9 May 2022 23:36:02 +0000 (19:36 -0400)]
Merge pull request #11138 from opensourcerouting/fix/rpki
bgpd: RPKI reverts, nits...
Russ White [Mon, 9 May 2022 23:35:14 +0000 (19:35 -0400)]
Merge pull request #11147 from opensourcerouting/feature/gr_n-bit_cli_knob
bgpd: Add CLI knob to enable graceful restart for BGP notifications
Igor Ryzhov [Mon, 9 May 2022 21:32:08 +0000 (00:32 +0300)]
Merge pull request #11148 from anlancs/fix/bfdd-wrong-discriminator-mismatch
bfdd: fix override between sessions
Igor Ryzhov [Mon, 9 May 2022 21:16:30 +0000 (00:16 +0300)]
Merge pull request #11163 from opensourcerouting/fix/same_type_casting
*: Avoid casting to the same type as on the left
Russ White [Mon, 9 May 2022 18:50:29 +0000 (14:50 -0400)]
Merge pull request #11154 from opensourcerouting/fix/increase_bgp_flags
bgpd: Use uint64_t for bgp->flags
Russ White [Mon, 9 May 2022 18:44:36 +0000 (14:44 -0400)]
Merge pull request #11161 from opensourcerouting/fix/no_need_to_check_for_xcalloc
zebra, ospf6d: Do not check if NULL for XCALLOC()
Russ White [Mon, 9 May 2022 18:43:03 +0000 (14:43 -0400)]
Merge pull request #11162 from anlancs/fix/bgpd-cleanup-5
bgpd: remove unnecessary check for evpn
mobash-rasool [Mon, 9 May 2022 17:12:22 +0000 (22:42 +0530)]
Merge pull request #11170 from anlancs/fix/bgpd-cleanup-8
bgpd: remove one unnecessary parameter for evpn-mh
Russ White [Mon, 9 May 2022 14:46:50 +0000 (10:46 -0400)]
Merge pull request #11096 from anlancs/fix/bgpd-unlock
bgpd: clear misleading mismatched check
anlan_cs [Wed, 13 Apr 2022 11:06:39 +0000 (07:06 -0400)]
bgpd: remove one unnecessary parameter for evpn-mh
The "add" parameter of `bgp_evpn_mh_route_update()` makes no sense.
Just remove it to clarify this function, and remove the relevant check
with "add" as well.
Signed-off-by: anlan_cs <vic.lan@pica8.com>
anlan_cs [Fri, 6 May 2022 09:52:12 +0000 (05:52 -0400)]
bgpd: remove unnecessary check for evpn
When `bgp_evpn_new()` is called, the `bgp` parameter MUST be non-NULL,
remove this unnecessary check and remove the NULL check for returned
`struct bgpevpn *`, which should be non-NULL.
And modify `import_rt_new()` in the same way.
Signed-off-by: anlan_cs <vic.lan@pica8.com>
Donatas Abraitis [Sun, 8 May 2022 13:07:42 +0000 (16:07 +0300)]
*: Avoid casting to the same type as on the left
Just not necessary.
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas Abraitis [Sun, 8 May 2022 12:43:21 +0000 (15:43 +0300)]
zebra, ospf6d: Do not check if NULL for XCALLOC()
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
anlan_cs [Tue, 26 Apr 2022 04:14:34 +0000 (00:14 -0400)]
bgpd: clear misleading mismatched check
Two changes for `delete_global_type2_routes()`:
1) Remove check of `bgp_dest_has_bgp_path_info_data(rddest)`.
It is unnecessary(`dest->info` should not be NULL) and misleading.
`if (rddest && bgp_dest_has_bgp_path_info_data(rddest))`
Use (locked) node with this check, but unlock with `if (rddest)`,
The mismatched condition is misleading, there seems to be a
mistake to extra unlock.
Just make it clear, immediately exit with `(!rddest)`.
2) Remove checking returned value for it, and use `void` as return type.
It is unnecessary and wrong. Even the check failed, it should continue
to delete other types of routes.
Just remove the check and go through.
Signed-off-by: anlan_cs <vic.lan@pica8.com>
Donatas Abraitis [Sat, 7 May 2022 15:44:59 +0000 (18:44 +0300)]
Merge pull request #11156 from donaldsharp/spelling_three
valgrind issues and general cleanup
Donald Sharp [Sat, 7 May 2022 01:24:56 +0000 (21:24 -0400)]
isisd: Prevent direct copy of different size prefix'es
Memory is allocated for a `struct prefix_ipv6` but
it was directly copied into a `struct prefix` via
direct pointer copy, which leads to a read past
end of memory. Fix by using prefix_copy
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Sat, 7 May 2022 01:19:07 +0000 (21:19 -0400)]
isisd: Remove unneeded pre-declarations
I don't know what was going on. Removing the weird c structures.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Sat, 7 May 2022 01:05:38 +0000 (21:05 -0400)]
isisd: Fix read past end of string
using a memcpy for a strdup'ed string. bad mojo
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Sat, 7 May 2022 00:38:40 +0000 (20:38 -0400)]
*: Fix doesnt spelling mistakes
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
G. Paul Ziemba [Fri, 6 May 2022 21:32:49 +0000 (14:32 -0700)]
zebra/interface.c: allow link-param delay min <= avg <= max
RFC 7471 Section 4.2.7:
It is possible for min delay and max delay to be the same value.
Prior to this change, the code required min < avg < max. This
change allows min == avg and avg == max.
test case:
interface eth-rt1
link-params
delay 8000 min 8000 max 8000
Signed-off-by: G. Paul Ziemba <paulz@labn.net>
Donatas Abraitis [Fri, 6 May 2022 19:10:56 +0000 (22:10 +0300)]
bgpd: Use uint64_t for bgp->flags
We will hit this soon because uint32_t will be not enough.
Two more flags gonna be added for rfc8538.
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
David Lamparter [Fri, 6 May 2022 10:36:51 +0000 (12:36 +0200)]
pimd: un-dependency-hell `pim_instance.h`
This is causing build issues on BSD by including (transitively)
`linux/mroute6.h` - try to address by disentangling the headers a bunch.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
David Lamparter [Tue, 3 May 2022 13:49:26 +0000 (15:49 +0200)]
pimd: pass down length for register messages
The IPv6 `mrt6msg` kernel pseudo-header does not have a length field;
accessing what would be the IPv6 payload length reads zeroes.
Pass down the proper length and use that instead.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
David Lamparter [Tue, 3 May 2022 12:56:57 +0000 (14:56 +0200)]
pim6d: fix Linux kernel header macro
__KERNEL_DIV_ROUND_UP isn't in older versions of linux/const.h. Rather
than pull in more headers, just inline the definition.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
anlan_cs [Tue, 3 May 2022 13:26:15 +0000 (09:26 -0400)]
bfdd: fix override between sessions
After two single-hop sessions (*no local address are configured*) on two
interfaces are UP, remove one address of one interface, both of them
(actually, quite independent sessions) come to be DOWN, not just one.
Consider two boxes: A with `a1` and `a2` adddress on two interfaces,
and B with `b1` and `b2`.
Two sessions are set up and ok: `s1` with <a1,b1> and `s2` with <a2,b2>.
After `a1` of A is removed, there is an unhappy coincidence:
1) On A: `s1` changes local address, and sends <a2,b1> packets with help
of route.
2) On B: wrongly regarded <a2,b1> packets with non-zero remote descriminator
as part of `s2`, and are dropped for mismatched remote remote descriminator.
3) On A: `s1` sends <a2,b1> packets with zero remote descriminator to
initialize this session.
4) On B: wrongly regarded <a2,b1> packets with zero remote descriminator as
part of `s2`. Then `s2` will vibrate.
So the good sessions are overridden.
In this case, the <a2,b1> packets with zero remote descriminator won't take
effect until the current good sessions become bad.
Since single-hop sessions are allowed to be set without bound inteface in
current code, this commit adds one check in `bfd_recv_cb()` to avoid wrong
override.
Signed-off-by: anlan_cs <vic.lan@pica8.com>