summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* pim6d: Add debug mroute6 and detail commandsMobashshera Rasool2022-08-164-2/+40
| | | | | | | | Adding below debug CLIs: debug mroute6 debug mroute6 detail Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
* Merge pull request #11804 from donaldsharp/aug_coverity_updateRuss White2022-08-1610-47/+99
|\ | | | | Aug coverity update
| * watchfrr: Check that the operational timeout specified is good.Donald Sharp2022-08-151-1/+1
| | | | | | | | Signed-off-by: Donald Sharp <sharpd@nvidia.com>
| * pbrd: VTY_GET_CONTEXT can failDonald Sharp2022-08-151-0/+54
| | | | | | | | | | | | | | | | Although VTY_GET_CONTEXT can return a failed value, it will never happen in pbrd because of how context work. In any event add some code to make coverity happy Signed-off-by: Donald Sharp <sharpd@nvidia.com>
| * pathd: Ensure path is free'd after we no longer need it.Donald Sharp2022-08-151-1/+1
| | | | | | | | Signed-off-by: Donald Sharp <sharpd@nvidia.com>
| * lib: Ensure ls_msg2edge does not use memory after freeingDonald Sharp2022-08-151-2/+3
| | | | | | | | | | | | | | ls_msg2edge calls ls_edge_del_all which will free the edge variable. Ensure that FRR properly returns NULL. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
| * pimd: vrf may be NULL from pim_cmd_lookup_vrfDonald Sharp2022-08-151-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The call into pim_cmd_lookup_vrf may be NULL and dereferencing it before ensuring that the vrf pointer is non-NULL is a good way to crash. A crash can be initiated in pim: eva# show ip msdp vrf NOEXIST mesh-group vtysh: error reading from pimd: Permission denied (13)Warning: closing connection to pimd because of an I/O error! eva# 2022/08/15 11:47:38 [PHJDC-499N2][EC 100663314] STARVATION: task vtysh_rl_read (560b77f76de6) ran for 16777ms (cpu time 0ms) eva# Signed-off-by: Donald Sharp <sharpd@nvidia.com>
| * pimd: pim_upstream_add up must existDonald Sharp2022-08-151-9/+7
| | | | | | | | | | | | | | | | When calling pim_upstream_add, the lookup for upstream or the creation of the upstream cannot fail. As such up is never NULL. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
| * pimd: ch->upstream cannot be NULLDonald Sharp2022-08-151-29/+23
| | | | | | | | | | | | | | | | in pim_ifchannel.c there exists several spots where the ch->upstream is assumed to be NULL. This is not possible. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
| * nhrpd: Use frr_weak_random()Donald Sharp2022-08-151-1/+2
| | | | | | | | | | | | Convert usage of rand() to frr_weak_random() Signed-off-by: Donald Sharp <sharpd@nvidia.com>
| * bgpd: Ensure bgp_vrf is non-nullDonald Sharp2022-08-151-0/+3
| | | | | | | | | | | | | | When calling VTY_GET_CONTEXT to get the bgp pointer, FRR needs to ensure that the pointer is valid. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
| * zebra: Remove unused assignment in zebra_dplane.cDonald Sharp2022-08-151-3/+3
| | | | | | | | | | | | | | | | Coverity spotted 3 places where `int ret = XXX` was being used and FRR was immediately assigning a different value. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
* | Merge pull request #11771 from anlancs/fix/minor-zebra-mh-commentDonald Sharp2022-08-151-1/+1
|\ \ | | | | | | zebra: correct one comment for evpn-mh
| * | zebra: correct one comment for evpn-mhanlan_cs2022-08-091-1/+1
| | | | | | | | | | | | | | | | | | | | | These moved mac addresses are actually in active status during moving phase, just correct comment. Signed-off-by: anlan_cs <vic.lan@pica8.com>
* | | Merge pull request #11781 from donaldsharp/ospf_packet_helperDonatas Abraitis2022-08-158-232/+278
|\ \ \ | | | | | | | | Ospf packet helper
| * | | ospf6d: Remove unused variableDonald Sharp2022-08-111-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | last_serviced_oi is always NULL. Remove Signed-off-by: Donald Sharp <sharpd@nvidia.com>
| * | | ospfd: Add how many packets the interface has queued to sendDonald Sharp2022-08-111-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In `show ip ospf interface traffic` how many packets this interface has queued to send. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
| * | | ospfd: Refactor fifo_flush for the interfaceDonald Sharp2022-08-113-18/+18
| | | | | | | | | | | | | | | | Signed-off-by: Donald Sharp <sharpd@nvidia.com>
| * | | ospfd: When a neighbor goes down clear the oi->obuf if we canDonald Sharp2022-08-111-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a neighbor goes down on an interface and that interface has no more neighbors in a viable state where packets should be being sent, then let's clear up the oi->obuf associated with the interface the neighbor is on. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
| * | | ospfd: Cleanup indentation surrounding oi->nbrDonald Sharp2022-08-115-198/+215
| | | | | | | | | | | | | | | | Signed-off-by: Donald Sharp <sharpd@nvidia.com>
| * | | ospfd: Increase packets sent at one time in ospf_writeDonald Sharp2022-08-111-11/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ospf_write pulls an interface off the ospf->oi_write_q then writes one packet and places it back on the queue, keeping track of the first one sent. Then it will stop sending packets even if we get back to the first interface written too but before we have sent the full pkt_count. I do not believe this makes a whole bunch of sense and is very restrictive of how much data can be sent especially if you have a limited number of peers but large amounts of data. Why be so restrictive? Signed-off-by: Donald Sharp <sharpd@nvidia.com>
* | | | Merge pull request #11803 from anlancs/fix/bgp-doc-failoverDonatas Abraitis2022-08-151-1/+1
|\ \ \ \ | |_|_|/ |/| | | doc: correct description for "fast-external-failover"
| * | | doc: correct description for "fast-external-failover"anlan_cs2022-08-151-1/+1
|/ / / | | | | | | | | | | | | | | | | | | The description for `bgp fast-external-failover` is wrongly opposite. Just remove the word - `not`. Signed-off-by: anlan_cs <vic.lan@pica8.com>
* | | Merge pull request #11785 from ↵Donald Sharp2022-08-132-12/+4
|\ \ \ | | | | | | | | | | | | | | | | opensourcerouting/fix/remove_ospf6Enabled_from_JSON ospf6d: Remove ospf6Enabled from JSON output
| * | | ospf6d: Remove ospf6Enabled from JSON outputDonatas Abraitis2022-08-112-12/+4
| |/ / | | | | | | | | | | | | | | | Time to deprecate it. Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
* | | Merge pull request #11784 from anlancs/fix/ospfd-cost-zebra-speedDonald Sharp2022-08-131-1/+4
|\ \ \ | | | | | | | | ospf6d: fix missing cost change
| * | | ospf6d: fix missing cost changeanlan_cs2022-08-111-1/+4
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After all needed interfaces ( for example: interface "a1", vrf "vrf1", and "a1" is binded to "vrf1" ) are ready/created, then restart/start frr. zebra at startup will call `netlink_interface()` to process all interfaces and notify all clients, but its calling `get_iflink_speed()` maybe fails for unexpected order of the coming interfaces: when processing "a1", "vrf1" maybe is unknown at that time. `if_zebra_speed_update()` timer is introduced to deal with this order problem. Currently only ospfd and ospf6d deal with this speed change to recalculated route cost. ospfd can deal with this change, but ospf6d will wrongly missed it. Since both `ipv6 ospf6 cost COST` and `auto-cost reference-bandwidth COST` are not set, cost of this ospf6 interface should be calculated with interface speed, but it is wrongly kept to `10`, which is based on interface speed being `0` for it missed speed change. Further, ECMP function becomes invalid after restart frr, beacuse some ospf6 interfaces of one ECMP are wrongly with cost `10`. To avoid missing, recalculate cost for ospf6 interfaces based on potentially changed speed. Signed-off-by: anlan_cs <vic.lan@pica8.com>
* | | Merge pull request #11795 from opensourcerouting/fix/drop_enable_systemdDonald Sharp2022-08-131-3/+0
|\ \ \ | | | | | | | | redhat: Drop --enable-systemd from build specification
| * | | redhat: Drop --enable-systemd from build specificationDonatas Abraitis2022-08-121-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | This option no longer exists. Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
* | | | Merge pull request #11799 from sri-mohan1/sri-ospf-1Donald Sharp2022-08-131-1/+1
|\ \ \ \ | | | | | | | | | | ospfd: debug string corrected
| * | | | ospfd: debug string correctedsri-mohan12022-08-121-1/+1
| |/ / / | | | | | | | | | | | | | | | | | | | | Debug string for ospf is corrected Signed-off-by: sri-mohan1 <sri.mohan@samsung.com>
* | | | Merge pull request #11798 from opensourcerouting/fix/convert_to_voidDonald Sharp2022-08-122-69/+51
|\ \ \ \ | |/ / / |/| | | bgpd: Convert some int functions to void
| * | | bgpd: Convert some int functions to voidDonatas Abraitis2022-08-122-69/+51
|/ / / | | | | | | | | | | | | | | | The output is not checked, we can have void instead. Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
* | | Merge pull request #11789 from donaldsharp/pw_shutdownDonatas Abraitis2022-08-121-3/+4
|\ \ \ | | | | | | | | zebra: Fix crash in shutdown w/ pw thread still running
| * | | zebra: Fix crash in shutdown w/ pw thread still runningDonald Sharp2022-08-111-3/+4
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I am seeing the zebra_pw_install_retry timer thread crashing on shutdown The shutdown of the timer is only in an if () { ... } else if Let's just always shut it down. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
* | | Merge pull request #11757 from mjstapp/fix_bgp_cond_adv_devDonatas Abraitis2022-08-113-2/+54
|\ \ \ | |/ / |/| | bgpd: conditional adv fixes
| * | bgpd: don't adv conditionally withdrawn routesQuentin Young2022-08-111-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we have conditional advertisement enabled, and conditionally withdrew some prefixes, and then we do a 'clear bgp', those routes were getting advertised again, and then withdrawn the next time the conditional advertisement scanner executed. When we go to advertise check the prefix against the conditional advertisement status so we don't do that. Signed-off-by: Quentin Young <qlyoung@nvidia.com>
| * | bgpd: apply cond-adv policy to update groupQuentin Young2022-08-112-2/+28
|/ / | | | | | | | | | | | | | | | | | | The new outbound filter to apply conditional advertisement policy was not working properly due to complications with update groups. The two routemaps were properly copied into the update group peer filter but not the conditional advertisement state. Signed-off-by: Quentin Young <qlyoung@nvidia.com> Signed-off-by: Mark Stapp <mstapp@nvidia.com>
* | Merge pull request #11778 from AbhishekNR/ttable_mrouteDonald Sharp2022-08-111-18/+30
|\ \ | | | | | | pimd, pim6d: Using ttable for displaying output of show mroute commands
| * | pimd, pim6d: Using ttable for displaying "show ip/ipv6 mroute" command output.Abhishek N R2022-08-101-18/+30
| | | | | | | | | | | | Signed-off-by: Abhishek N R <abnr@vmware.com>
* | | Merge pull request #11782 from AbhishekNR/ttable_mroute_countDonald Sharp2022-08-111-11/+27
|\ \ \ | | | | | | | | pimd, pim6d: Using ttable for displaying output of show mroute count command
| * | | pimd, pim6d: Using ttable for displaying "show ip/ipv6 mroute count" command ↵Abhishek N R2022-08-111-11/+27
|/ / / | | | | | | | | | | | | | | | output. Signed-off-by: Abhishek N R <abnr@vmware.com>
* | | Merge pull request #11775 from AbhishekNR/ttableDonald Sharp2022-08-101-11/+26
|\ \ \ | | | | | | | | pimd, pim6d: Using ttable for displaying output of show multicast command
| * | | pimd, pim6d: Using ttable for displaying "show ip/ipv6 multicast count" command.Abhishek N R2022-08-101-11/+26
| |/ / | | | | | | | | | Signed-off-by: Abhishek N R <abnr@vmware.com>
* | | Merge pull request #11776 from opensourcerouting/fix/callback_readlineDonald Sharp2022-08-101-47/+35
|\ \ \ | | | | | | | | vtysh: Handle SIGTSTP (C-z) without exiting the vty shell
| * | | vtysh: Handle SIGTSTP (C-z) without exiting the vty shellDonatas Abraitis2022-08-101-47/+35
| |/ / | | | | | | | | | | | | | | | | | | After 4c92dd90d3d15cff640de063ff14eec950402d25 switching to poll-based I/O, vtysh prompt exits on C-z signal. Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
* | | Merge pull request #11774 from donaldsharp/zebra_meta_q_shakeupsDonatas Abraitis2022-08-107-171/+177
|\ \ \ | | | | | | | | Zebra meta q shakeups
| * | | zebra: Remove unused return codes in zebra_mpls.cDonald Sharp2022-08-103-31/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There are some return codes for functions that are not really used. Clean them up. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
| * | | zebra: Combine meta_queue_free and meta_queue_vrf_free functionsDonald Sharp2022-08-104-96/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | These functions essentially do the same thing. Combine them for the goodness of mankind. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
| * | | zebra: System routes should be processed the same time as kernelDonald Sharp2022-08-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For whatever reason. ZEBRA_ROUTE_SYSTEM routes were being processed last. Since a system route is just another kernel route type. Let's just switch it to be processed the same time as kernel routes. Signed-off-by: Donald Sharp <sharpd@nvidia.com>