]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
4 years agoMerge pull request #4622 from donaldsharp/import_table_fix
Sri Mohana Singamsetty [Tue, 2 Jul 2019 18:20:02 +0000 (11:20 -0700)]
Merge pull request #4622 from donaldsharp/import_table_fix

Import table fix

4 years agoMerge pull request #4598 from bisdhdh/master
Quentin Young [Tue, 2 Jul 2019 17:52:54 +0000 (13:52 -0400)]
Merge pull request #4598 from bisdhdh/master

bgpd: 'show bgp ipv6 neighbors <X::Y> prefix-counts' prefix-count is not getting displayed

4 years agoMerge pull request #4624 from qlyoung/use-standard-bools
David Lamparter [Tue, 2 Jul 2019 15:51:09 +0000 (17:51 +0200)]
Merge pull request #4624 from qlyoung/use-standard-bools

*: s/TRUE/true/, s/FALSE/false/

4 years agoMerge pull request #4086 from opensourcerouting/fix-yang-validation
Quentin Young [Tue, 2 Jul 2019 15:39:13 +0000 (11:39 -0400)]
Merge pull request #4086 from opensourcerouting/fix-yang-validation

Fix a couple of YANG validation issues

4 years agoMerge pull request #3888 from donaldsharp/ospf_cleanup
Olivier Dugeon [Tue, 2 Jul 2019 15:37:23 +0000 (17:37 +0200)]
Merge pull request #3888 from donaldsharp/ospf_cleanup

ospfd: Cleanup ospf->redist and ospf->external on shutdown

4 years agoMerge pull request #4496 from chiragshah6/evpn_dev2
Russ White [Tue, 2 Jul 2019 14:55:25 +0000 (10:55 -0400)]
Merge pull request #4496 from chiragshah6/evpn_dev2

bgpd: vrf route leak handle bgp instance delete recreate

4 years agobgpd: 'show bgp ipv6 neighbors <X::Y> prefix-counts' prefix-count is
Biswajit Sadhu [Mon, 24 Jun 2019 07:50:33 +0000 (00:50 -0700)]
bgpd: 'show bgp ipv6 neighbors <X::Y> prefix-counts' prefix-count is
not getting displayed.

Neighbour prefix-count is not getting displayed with IPV6 neighbours
and displays the o/p “ % No such neighbor or address family ”.
However, I observed it is working fine for IPV4 neighbour.

Signed-off-by: Biswajit Sadhu <sadhub@vmware.com>
4 years agoripd: fix problems with the "ip rip authentication" command
Renato Westphal [Fri, 5 Apr 2019 01:28:00 +0000 (22:28 -0300)]
ripd: fix problems with the "ip rip authentication" command

libyang-0.16-r3 doesn't allow the creation of data nodes if their
corresponding "when" statement (if any) resolves to false. This
change broke the "ip rip authentication" command.

This commit adapts this command so that it's not affected by the
new libyang stricter validation checks.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
4 years agolib: fix a couple of yang validation issues
Renato Westphal [Fri, 5 Apr 2019 01:28:00 +0000 (22:28 -0300)]
lib: fix a couple of yang validation issues

libyang-0.16-r3 contains a commit[1] that changed the autodelete
behavior of subtrees when validating data. A few FRR commands were
affected by this change since they relied on the old autodelete
behavior.

To fix these commands, use the LYD_OPT_WHENAUTODEL flag when
validating data to restore the old autodelete behavior (which adds
a lot of convenience for us).

[1] https://github.com/CESNET/libyang/commit/bbc43b1b4

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
4 years ago*: s/TRUE/true/, s/FALSE/false/
Quentin Young [Mon, 1 Jul 2019 17:26:05 +0000 (17:26 +0000)]
*: s/TRUE/true/, s/FALSE/false/

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
4 years agoMerge pull request #4608 from donaldsharp/vtysh_pam_helping_hand
Jafar Al-Gharaibeh [Thu, 27 Jun 2019 19:04:31 +0000 (22:04 +0300)]
Merge pull request #4608 from donaldsharp/vtysh_pam_helping_hand

vtysh: Try to be perscriptive about pam failures

4 years agoMerge pull request #4610 from donaldsharp/pim_igmp_connected_source
Jafar Al-Gharaibeh [Thu, 27 Jun 2019 18:49:59 +0000 (21:49 +0300)]
Merge pull request #4610 from donaldsharp/pim_igmp_connected_source

[master]pimd: Dissallow query to be received from a non-connected source

4 years agoMerge pull request #4617 from LabNConsulting/working/master/bgp2vrf_imp1
Mark Stapp [Thu, 27 Jun 2019 13:32:52 +0000 (09:32 -0400)]
Merge pull request #4617 from LabNConsulting/working/master/bgp2vrf_imp1

topotests/ bgp_l3vpn_to_bgp_vrf: improvements

4 years agotopotest: reduce chattiness of lutil output
Lou Berger [Wed, 26 Jun 2019 20:30:59 +0000 (20:30 +0000)]
topotest: reduce chattiness of lutil output

Signed-off-by: Lou Berger <lberger@labn.net>
4 years agoNexthop Tracking and Static route fix (#4602)
David Lamparter [Wed, 26 Jun 2019 18:37:55 +0000 (20:37 +0200)]
Nexthop Tracking and Static route fix (#4602)

Nexthop Tracking and Static route fix

4 years agobgp_l3vpn_to_bgp_vrf: report zebra memory stats
Lou Berger [Wed, 26 Jun 2019 17:54:20 +0000 (17:54 +0000)]
bgp_l3vpn_to_bgp_vrf: report zebra memory stats

Signed-off-by: Lou Berger <lberger@labn.net>
4 years agobgp_l3vpn_to_bgp_vrf: refactor to try to avoid periodic failure, also collect more...
Lou Berger [Wed, 26 Jun 2019 17:53:46 +0000 (17:53 +0000)]
bgp_l3vpn_to_bgp_vrf: refactor to try to avoid periodic failure, also collect more info

Signed-off-by: Lou Berger <lberger@labn.net>
4 years agovtysh: Try to be perscriptive about pam failures
Donald Sharp [Wed, 26 Jun 2019 00:14:25 +0000 (20:14 -0400)]
vtysh: Try to be perscriptive about pam failures

When using pam for authentication, the code just silently
fails and gives no indication to the end user what has gone
wrong.  Try to increase messaging about what has gone wrong
by outputting some more data.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agoMerge pull request #4575 from nitinsoniism/show_mac_arp_cache_vni_json_fix
Sri Mohana Singamsetty [Wed, 26 Jun 2019 00:03:14 +0000 (17:03 -0700)]
Merge pull request #4575 from nitinsoniism/show_mac_arp_cache_vni_json_fix

zebra: show evpn mac vni xx json output is broken

4 years agozebra: When installing route use a good proto
Donald Sharp [Tue, 25 Jun 2019 21:47:51 +0000 (17:47 -0400)]
zebra: When installing route use a good proto

When installing a table route into the kernel choose
RTPROT_ZEBRA as the installing/controlling protocol.

This way we can know we installed it as well as stop
the warnings about this special case of `ip import-table XX`

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agozebra: import table entries are not showing up in the right table
Donald Sharp [Tue, 25 Jun 2019 21:10:12 +0000 (17:10 -0400)]
zebra: import table entries are not showing up in the right table

When we are importing/removing the table entry from table X into the
default routing table we are not properly setting the table_id
of the route entry.  This is causing the route to be pushed
into the wrong internal table and to not be found for deletion.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agozebra: Push VRF_DEFAULT outside of import table code
Donald Sharp [Tue, 25 Jun 2019 21:07:30 +0000 (17:07 -0400)]
zebra: Push VRF_DEFAULT outside of import table code

The import table code assumes that they will only work
in the default vrf.  This is ok, but we should push the
vrf_id and zvrf to be passed in instead of just using
VRF_DEFAULT.

This will allow us to fix a couple of things:

1) A bug in import where we are not creating the
route entry with the appropriate table so the imported
entry is showing up in the wrong spot.

2) In the future allow `ip import-table X` to become
vrf aware very easily.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agozebra: Use correct parameter order for table lookup up.
Donald Sharp [Tue, 25 Jun 2019 20:35:40 +0000 (16:35 -0400)]
zebra: Use correct parameter order for table lookup up.

The import-table code when looking up the table to use
for route-import was reversing the order of the table_id
and vrf_id causing us to never ever lookup a table
and we would cause the `ip|ipv6 import-table X` commands
to be just ignored.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agozebra: Improve debugging when we can't find a route to delete
Donald Sharp [Tue, 25 Jun 2019 21:45:55 +0000 (17:45 -0400)]
zebra: Improve debugging when we can't find a route to delete

Improve debugging when we cannot find a route to delete
that we have been told to delete.

New output:

2019/06/25 17:43:49 ZEBRA: default[0]:4.5.6.7/32 doesn't exist in rib
2019/06/25 17:43:49 ZEBRA: default[0]:4.5.6.8/32 doesn't exist in rib

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agoMerge pull request #4525 from donaldsharp/some_cleanups
Rafael Zalamena [Tue, 25 Jun 2019 19:06:57 +0000 (16:06 -0300)]
Merge pull request #4525 from donaldsharp/some_cleanups

Some cleanups

4 years agoMerge pull request #4570 from donaldsharp/route_map_clear
Sri Mohana Singamsetty [Tue, 25 Jun 2019 17:34:11 +0000 (10:34 -0700)]
Merge pull request #4570 from donaldsharp/route_map_clear

lib: Add `clear route-map counters [WORD]` command

4 years agoMerge pull request #4606 from donaldsharp/no_redist_fixup
Renato Westphal [Tue, 25 Jun 2019 16:34:27 +0000 (13:34 -0300)]
Merge pull request #4606 from donaldsharp/no_redist_fixup

bgpd: Fixup `no redistribute ...` commands to allow any order

4 years agoMerge pull request #4522 from LabNConsulting/working/master/issue4479
Quentin Young [Tue, 25 Jun 2019 15:45:19 +0000 (11:45 -0400)]
Merge pull request #4522 from LabNConsulting/working/master/issue4479

bgpd: address issue #4479 crash during instance removal

4 years agoMerge pull request #4544 from chiragshah6/mdev
Sri Mohana Singamsetty [Tue, 25 Jun 2019 15:45:04 +0000 (08:45 -0700)]
Merge pull request #4544 from chiragshah6/mdev

bgpd: print ecom in evpn route output

4 years agoMerge pull request #4458 from karamalla0406/frr4123
Donald Sharp [Tue, 25 Jun 2019 15:30:14 +0000 (11:30 -0400)]
Merge pull request #4458 from karamalla0406/frr4123

zebra: Clean up BGP EVPN configuration when the client, BGPD, goes down

4 years agoMerge pull request #4603 from opensourcerouting/vty-recursion
Donald Sharp [Tue, 25 Jun 2019 13:19:57 +0000 (09:19 -0400)]
Merge pull request #4603 from opensourcerouting/vty-recursion

lib: add a check for {[...]} in DEFUNs

4 years agoPim bug fixes (#4519)
David Lamparter [Tue, 25 Jun 2019 12:08:48 +0000 (14:08 +0200)]
Pim bug fixes (#4519)

Pim bug fixes

Co-authored-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
4 years agoMerge pull request #4588 from donaldsharp/vrrp_access_list
David Lamparter [Tue, 25 Jun 2019 12:08:08 +0000 (14:08 +0200)]
Merge pull request #4588 from donaldsharp/vrrp_access_list

vrrpd: Allow vrrp to gracefully ignore access list commands

4 years agoMerge pull request #4520 from rgirada/fix_clear_mroute
David Lamparter [Tue, 25 Jun 2019 12:06:13 +0000 (14:06 +0200)]
Merge pull request #4520 from rgirada/fix_clear_mroute

pimd: Added cli to generate igmp query.

4 years agoMerge pull request #4584 from donaldsharp/rib_detail_improvements
David Lamparter [Tue, 25 Jun 2019 12:03:55 +0000 (14:03 +0200)]
Merge pull request #4584 from donaldsharp/rib_detail_improvements

zebra logging improvements

4 years agolib: add a check for {[...]} in DEFUNs
David Lamparter [Tue, 25 Jun 2019 11:34:12 +0000 (13:34 +0200)]
lib: add a check for {[...]} in DEFUNs

Our command matcher doesn't handle {[...]} correctly;  let's warn about
it so the DEFUN can be changed to [{...}] (which does work as expected.)

Fixes: #4594
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
4 years agopimd: Dissallow query to be received from a non-connected source
Donald Sharp [Tue, 25 Jun 2019 04:30:11 +0000 (00:30 -0400)]
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 <sharpd@cumulusnetworks.com>
4 years agobgpd: Fixup `no redistribute ...` commands to allow any order
Donald Sharp [Mon, 24 Jun 2019 23:11:55 +0000 (19:11 -0400)]
bgpd: Fixup `no redistribute ...` commands to allow any order

The `no redistribute ...` commands were not allowing
the input to be in any order.  Fix code to allow this.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agostaticd: If we are told a nexthop has changed reinstall the route.
Donald Sharp [Mon, 24 Jun 2019 14:46:24 +0000 (10:46 -0400)]
staticd: If we are told a nexthop has changed reinstall the route.

If we are told that a dependant nexthop has changed, just
reinstall the route.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agozebra: Fix rnh old -vs- new comparison
Donald Sharp [Mon, 24 Jun 2019 13:50:55 +0000 (09:50 -0400)]
zebra: Fix rnh old -vs- new comparison

1) If we are moving the nexthop we are tracking to
a new rn in the rib, then we know that the route
to get to that nexthop has changed.  As such
we should notify the upper level.

This manifested itself because the code had a trigraph `?`
in the wrong order.  Put the comparison in the right order.

2) If we are re-matching to the same rn and we call compare_state
then we need to see if our stored nexthops are the same or different.

If they are the same we should not notify.  If they are different
we should notify.  compare_state was only comparing the flags
on a route and since those are not necessarily the right flags
to look at( and we are well after the fact that the route has
already changed and been processed ) let's just compare
the nexthops to see if they are the same or different.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agopimd: Added cli to generate igmp query.
rgirada [Thu, 13 Jun 2019 17:21:37 +0000 (10:21 -0700)]
pimd: Added cli to generate igmp query.

Fix details :
Added a utility cli to generate a igmp query on an interface.
This won't impact the existing query generation based on the
general query interval.

Signed-off-by: Rajesh Girada <rgirada@vmware.com>
4 years agoMerge pull request #4597 from FRRouting/revert-3775-ospf_missing_interface_handling_2
Donald Sharp [Sun, 23 Jun 2019 23:47:10 +0000 (19:47 -0400)]
Merge pull request #4597 from FRRouting/revert-3775-ospf_missing_interface_handling_2

Revert "Ospf missing interface handling 2"

4 years agoRevert "Ospf missing interface handling 2"
Donald Sharp [Sun, 23 Jun 2019 23:46:39 +0000 (19:46 -0400)]
Revert "Ospf missing interface handling 2"

4 years agopimd: remove pim and igmp OIFs when ifchannel_delete happens
Anuradha Karuppiah [Fri, 7 Jun 2019 17:17:39 +0000 (10:17 -0700)]
pimd: remove pim and igmp OIFs when ifchannel_delete happens

In a pim-evpn setup (say TORC11<=>TORC12) an mroute can have a mix of
PIM and IGMP joins. The vxlan termination device ipmr-lo is IGMP
joined on termination mroutes and the peerlink-rif can be pim joined
on the same mroute if the MLAG peer (TORC11) loses all its uplinks to
underlay -
root@TORC12:~# net show pim state 239.1.1.101|grep pimreg
1         *                239.1.1.101      uplink-1
             pimreg(I    ), ipmr-lo( J   ), peerlink-3.4094( J   )
root@TORC12:~#

When the uplinks come back up on TORC11 it will prune the peerlink-rif
and join the RP (say spine) via the uplinks.

TORC12 is rxing the prune and removing the if_channel
(pim_ifchannel_delete). However it is not removing the OIF from
mfcc_ttl basically leaving behind a leaked OIF in the forwarding
entry. And this is because it is deriving the owner flag from the
parent upstream entry and incorrectly concluding that all OIFs are
IGMP joined.

Thix fix flushes out both PIM and IGMP ownership when the ifchannel is
deleted.

There is a second fix in the commit and that is to set the proto mask
correctly (to STAR) for inherited OIFs. (S,G) entries can inherit the
OIF from the (*, G) entry and this decision can change when the pim/igmp
ifchannel is removed. The earlier code was setting the proto-mask
incorrectly to PIM or IGMP.

Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
(cherry picked from commit d4d1d968dbbe61347393f7dace8b675496ff1024)

4 years agopimd: ensure that the oif is removed from all the mroutes pre-vifi deletion
Anuradha Karuppiah [Tue, 7 May 2019 19:02:43 +0000 (12:02 -0700)]
pimd: ensure that the oif is removed from all the mroutes pre-vifi deletion

When a link goes down the vifi was being deleted but the OIF stayed
in the OIL with a stale vifi -
oroot@act-7726-03:~# net show pim state
Codes: J -> Pim Join, I -> IGMP Report, S -> Source, * -> Inherited from (*,G), V -> VxLAN
Installed Source           Group            IIF               OIL
1         *                239.1.1.111      swp1s1            pimreg(I    ), ipmr-lo( J   )
1         6.0.0.28         239.1.1.111      lo                pimreg( J   ), ipmr-lo(    *), swp1s1( J   )
root@act-7726-03:~# ip link set swp1s1 down
root@act-7726-03:~# net show pim state
Codes: J -> Pim Join, I -> IGMP Report, S -> Source, * -> Inherited from (*,G), V -> VxLAN
Installed Source           Group            IIF               OIL
1         *                239.1.1.111      swp1s0            pimreg(I    ), ipmr-lo( J   )
1         6.0.0.28         239.1.1.111      lo                ipmr-lo(    *), swp1s0( J   ), <oif?>( J   ) >>>>>>>>
root@act-7726-03:~#

The problem was as a part ifchannel_delete the join state of the channel
was checked to avoid incorrect OIF deletion this was preventing the OIF
from being flushed. Fix is to flip the channel join-state to NOINFO before
deleting it.

Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agoospfd: Cleanup ospf->redist and ospf->external on shutdown
Donald Sharp [Wed, 27 Feb 2019 20:08:29 +0000 (15:08 -0500)]
ospfd: Cleanup ospf->redist and ospf->external on shutdown

These two data types were written to handle redistribute
and external data types.  On shutdown cleanup the memory
allocated to these if we are doing redistribution.

This was found using valgrind.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agoMerge pull request #3775 from pguibert6WIND/ospf_missing_interface_handling_2
Donald Sharp [Sat, 22 Jun 2019 17:35:45 +0000 (13:35 -0400)]
Merge pull request #3775 from pguibert6WIND/ospf_missing_interface_handling_2

Ospf missing interface handling 2

4 years agoMerge pull request #4294 from adharkar/frr-master-fpm_rmac
Donald Sharp [Sat, 22 Jun 2019 17:28:49 +0000 (13:28 -0400)]
Merge pull request #4294 from adharkar/frr-master-fpm_rmac

Zebra: EVPN remote RMAC download via FPM channel using netlink msg format

4 years agoMerge pull request #4586 from donaldsharp/default_originate
Renato Westphal [Sat, 22 Jun 2019 14:29:18 +0000 (11:29 -0300)]
Merge pull request #4586 from donaldsharp/default_originate

bgpd: `neighbor X:X::X default-originate` complains about (null)

4 years agoMerge pull request #4589 from ton31337/fix/match_ip_next_hop_type_allows_without_args
Donald Sharp [Sat, 22 Jun 2019 11:05:30 +0000 (07:05 -0400)]
Merge pull request #4589 from ton31337/fix/match_ip_next_hop_type_allows_without_args

doc: Correct some comments and CLI helper for `match ip[v6] next-hop type`

4 years agormap: Minor changes in comments regarding match ip[v6] next-hop type
Donatas Abraitis [Sat, 22 Jun 2019 06:30:44 +0000 (09:30 +0300)]
rmap: Minor changes in comments regarding match ip[v6] next-hop type

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agormap: Modify cli helper text for `match_ipv6_next_hop_type_cmd`
Donatas Abraitis [Sat, 22 Jun 2019 06:29:19 +0000 (09:29 +0300)]
rmap: Modify cli helper text for `match_ipv6_next_hop_type_cmd`

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agoMerge pull request #4331 from patrasar/bgp_cli_fix
Donald Sharp [Fri, 21 Jun 2019 23:42:19 +0000 (19:42 -0400)]
Merge pull request #4331 from patrasar/bgp_cli_fix

bgpd : add prefix-length in show ip bgp neighbor advertised routes key

4 years agoMerge pull request #4536 from pguibert6WIND/bfd_startup_does_not_work
Donald Sharp [Fri, 21 Jun 2019 23:41:02 +0000 (19:41 -0400)]
Merge pull request #4536 from pguibert6WIND/bfd_startup_does_not_work

bfdd: avoid double socket initialisation on same netns

4 years agoMerge pull request #4262 from vishaldhingra/lcomm_1
Donald Sharp [Fri, 21 Jun 2019 23:35:47 +0000 (19:35 -0400)]
Merge pull request #4262 from vishaldhingra/lcomm_1

bgpd : Support for exact-match in match clause for lcommunity

4 years agoMerge pull request #4518 from sarav511/dr_lhr
Donald Sharp [Fri, 21 Jun 2019 23:33:14 +0000 (19:33 -0400)]
Merge pull request #4518 from sarav511/dr_lhr

pimd: fix DR at LHR scenario where non DR is connected to RP

4 years agoMerge pull request #4585 from ton31337/fix/no_match_ip_next_hop_blackhole
Donald Sharp [Fri, 21 Jun 2019 22:41:40 +0000 (18:41 -0400)]
Merge pull request #4585 from ton31337/fix/no_match_ip_next_hop_blackhole

 rmap: Add hooks into zebra,ospf,rip for `match ip next-hop type blackhole`

4 years agoMerge pull request #4508 from kssoman/updgrp
Donald Sharp [Fri, 21 Jun 2019 22:33:13 +0000 (18:33 -0400)]
Merge pull request #4508 from kssoman/updgrp

bgpd: Process core when prefix list is applied

4 years agobgpd: print ecom in evpn route output
Chirag Shah [Fri, 14 Jun 2019 00:55:38 +0000 (17:55 -0700)]
bgpd: print ecom in evpn route output

EVPN route's extended community include
important informations like Mobility sequence,
router mac, and RT values, include the ecomm
in evpn brief output.

Ticket:CM-25353
Testing Done:

Validated in evpn deployment with routes.

TOR#show bgp l2vpn evpn route
...
   Network          Next Hop            Metric LocPrf Weight Path
                    Extended Community

Route Distinguisher: 27.0.0.11:3
*> [2]:[0]:[0]:[48]:[00:02:00:00:00:04]:[128]:[fe80::202:ff:fe00:4]
                    36.0.0.11                              0 4435 5546 i
                    RT:5546:1008 ET:8 ND:Router Flag
*  [2]:[0]:[0]:[48]:[00:02:00:00:00:36]
                    36.0.0.11                              0 4435 5546 i
                    RT:5546:1008 RT:5546:4003 ET:8 MM:0, sticky MAC Rmac:44:38:39:ff:ff:01
*> [2]:[0]:[0]:[48]:[00:02:00:00:00:36]
                    36.0.0.11                              0 4435 5546 i
                    RT:5546:1008 RT:5546:4003 ET:8 MM:0, sticky MAC Rmac:44:38:39:ff:ff:01
*  [3]:[0]:[32]:[36.0.0.11]
                    36.0.0.11                              0 4435 5546 i
                    RT:5546:1008 ET:8
*> [3]:[0]:[32]:[36.0.0.11]
                    36.0.0.11                              0 4435 5546 i
                    RT:5546:1008 ET:8

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
4 years agormap: Add hooks into zebra,ospf,rip for `match ip next-hop type blackhole`
Donatas Abraitis [Fri, 21 Jun 2019 15:51:33 +0000 (18:51 +0300)]
rmap: Add hooks into zebra,ospf,rip for `match ip next-hop type blackhole`

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agoMerge pull request #4583 from donaldsharp/no_pim_trace_detail
Mark Stapp [Fri, 21 Jun 2019 19:46:53 +0000 (15:46 -0400)]
Merge pull request #4583 from donaldsharp/no_pim_trace_detail

pimd: Remove output of `debug igmp trace detail` from show commands

4 years agoPrefix list count (#4578)
David Lamparter [Fri, 21 Jun 2019 14:40:30 +0000 (16:40 +0200)]
Prefix list count (#4578)

Prefix list count

Co-authored-by: null <visakha.erina@broadcom.com>
4 years agoMerge pull request #4579 from opensourcerouting/mtype-fix
Donald Sharp [Fri, 21 Jun 2019 14:11:51 +0000 (10:11 -0400)]
Merge pull request #4579 from opensourcerouting/mtype-fix

lib: fix MTYPE alias on clang

4 years agozebra: show evpn mac vni xx json output is broken
Nitin Soni [Fri, 21 Jun 2019 05:37:02 +0000 (22:37 -0700)]
zebra: show evpn mac vni xx json output is broken

Also fixes some issues related to -
show evpn arp-cache vni xx vtep yy

Ticket: CM-25380
Signed-off-by: Nitin Soni<nsoni@cumulusnetworks.com>
Reviewed-by: CCR-8858
Testing-Done: Evpn scale test with 30K neighs

4 years agolib: fix MTYPE alias on clang
David Lamparter [Fri, 21 Jun 2019 12:50:56 +0000 (14:50 +0200)]
lib: fix MTYPE alias on clang

This is probably a compiler bug :/

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
4 years agoMerge pull request #4576 from sarav511/enc_addr
Donald Sharp [Fri, 21 Jun 2019 12:21:03 +0000 (08:21 -0400)]
Merge pull request #4576 from sarav511/enc_addr

pimd: Fixing encoded group & source address packing in right byte order

4 years agoMerge pull request #4573 from opensourcerouting/mtype_cleanup
Donald Sharp [Fri, 21 Jun 2019 11:40:27 +0000 (07:40 -0400)]
Merge pull request #4573 from opensourcerouting/mtype_cleanup

MTYPE cleanup pass

4 years agobfdd: avoid double socket initialisation on same netns
Philippe Guibert [Mon, 17 Jun 2019 13:17:20 +0000 (15:17 +0200)]
bfdd: avoid double socket initialisation on same netns

when working with a standard vrf backend, bfdd ignores that and tries to
create and configure bfd sockets for each vrf, which will fail for the
second vrf discovered, since the network namespace used is the same, and
it is not possible to use same socket settings twice. Handle this case,
and avoids to reinitialise sockets.
This patch however does not leverage bfd support for vrf-lite.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
4 years agoMerge pull request #4531 from donaldsharp/repeaty_mcrepeat
David Lamparter [Fri, 21 Jun 2019 07:05:27 +0000 (09:05 +0200)]
Merge pull request #4531 from donaldsharp/repeaty_mcrepeat

zebra: Handle 5549 neighbor entry failure state

4 years agoMerge pull request #4568 from qlyoung/debian-docker-cleanup
David Lamparter [Fri, 21 Jun 2019 07:04:47 +0000 (09:04 +0200)]
Merge pull request #4568 from qlyoung/debian-docker-cleanup

docker: cleanup Debian docker build

4 years agoMerge pull request #4567 from sworleys/DOC-Fedora-IPtables
David Lamparter [Fri, 21 Jun 2019 07:02:38 +0000 (09:02 +0200)]
Merge pull request #4567 from sworleys/DOC-Fedora-IPtables

doc: Add firewalld notice in fedora

4 years agoripngd: use MTYPE_STATIC
David Lamparter [Fri, 21 Jun 2019 06:44:11 +0000 (08:44 +0200)]
ripngd: use MTYPE_STATIC

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
4 years agoripd: use MTYPE_STATIC
David Lamparter [Fri, 21 Jun 2019 06:39:33 +0000 (08:39 +0200)]
ripd: use MTYPE_STATIC

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
4 years agovrrpd: use MTYPE_STATIC
David Lamparter [Fri, 21 Jun 2019 06:33:17 +0000 (08:33 +0200)]
vrrpd: use MTYPE_STATIC

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
4 years agolib: use MTYPE_STATIC
David Lamparter [Fri, 21 Jun 2019 06:25:42 +0000 (08:25 +0200)]
lib: use MTYPE_STATIC

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
4 years agobabeld: use MTYPE_STATIC
David Lamparter [Fri, 21 Jun 2019 06:14:58 +0000 (08:14 +0200)]
babeld: use MTYPE_STATIC

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
4 years agozebra: use MTYPE_STATIC
David Lamparter [Fri, 21 Jun 2019 06:10:39 +0000 (08:10 +0200)]
zebra: use MTYPE_STATIC

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
4 years agobfdd: use MTYPE_STATIC
David Lamparter [Fri, 21 Jun 2019 06:04:57 +0000 (08:04 +0200)]
bfdd: use MTYPE_STATIC

MTYPE definitions should be local to the file using them whereever
possible.  Also remove some superfluous ;

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
4 years agolib: improve MTYPE definitions
David Lamparter [Wed, 19 Jun 2019 06:16:22 +0000 (08:16 +0200)]
lib: improve MTYPE definitions

The "static struct mtype * const MTYPE_FOO" doesn't quite make a
"constant" that is usable for initializers.  An 1-element array works
better.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
4 years agopimd: Fixing encoded group & source address packing in right byte order
saravanank [Fri, 21 Jun 2019 03:48:55 +0000 (20:48 -0700)]
pimd: Fixing encoded group & source address packing in right byte order

Position of address family and encoding type is defined wrongly in the
packed structure. This will correct the position as per RFC 4601 4.9.1

Signed-off-by: Saravanan K <saravanank@vmware.com>
4 years agoMerge pull request #4545 from nitinsoniism/show_evpn_mac_vni_seq_number
Sri Mohana Singamsetty [Thu, 20 Jun 2019 23:19:24 +0000 (16:19 -0700)]
Merge pull request #4545 from nitinsoniism/show_evpn_mac_vni_seq_number

zebra: When displaying `show evpn mac vni XX` add local and remote seq

4 years agoMerge pull request #4470 from donaldsharp/bgp_mac_rescan
Sri Mohana Singamsetty [Thu, 20 Jun 2019 20:33:09 +0000 (13:33 -0700)]
Merge pull request #4470 from donaldsharp/bgp_mac_rescan

Bgp mac rescan

4 years agoMerge pull request #4549 from donaldsharp/multiple_instance
Sri Mohana Singamsetty [Thu, 20 Jun 2019 20:32:34 +0000 (13:32 -0700)]
Merge pull request #4549 from donaldsharp/multiple_instance

Multiple instance

4 years agolib: Order `show run` route-map order to be alphabetical
Donald Sharp [Thu, 20 Jun 2019 19:03:05 +0000 (15:03 -0400)]
lib: Order `show run` route-map order to be alphabetical

When running `show run` of route-maps the order is basically
the order read in some fashion.  Convert the display to
always be the alphabetically sorted order.

Suggested-by: Manuel Schweizer <manuel@cloudscale.ch>
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agolib: Add `clear route-map counters [WORD]` command
Donald Sharp [Thu, 20 Jun 2019 18:10:44 +0000 (14:10 -0400)]
lib: Add `clear route-map counters [WORD]` command

This will allow the end-user to clear the counters associated
with the route-map.  Subsuquent `show route-map ..` commands
will display counters since the last clear.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agoMerge pull request #4559 from mjstapp/fix_topotest_vrf_mdev
Quentin Young [Thu, 20 Jun 2019 17:38:06 +0000 (13:38 -0400)]
Merge pull request #4559 from mjstapp/fix_topotest_vrf_mdev

topotest: configure l3mdev_accept for a range of kernels

4 years agovrrpd: Allow vrrp to gracefully ignore access list commands
Donald Sharp [Thu, 20 Jun 2019 17:30:07 +0000 (13:30 -0400)]
vrrpd: Allow vrrp to gracefully ignore access list commands

VRRPD was not gracefully ignoring any access-list commands.
Modify the code so that it does.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agodocker: cleanup Debian docker build
Quentin Young [Thu, 20 Jun 2019 16:59:26 +0000 (16:59 +0000)]
docker: cleanup Debian docker build

* Update build instructions
* Remove manually installed daemons file

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
4 years agodoc: Add firewalld notice in fedora
Stephen Worley [Thu, 20 Jun 2019 15:38:43 +0000 (11:38 -0400)]
doc: Add firewalld notice in fedora

Add a note in the fedora build guide on how to disable
firewalld and clear iptables that come by default.

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
4 years agobgpd: `neighbor X:X::X default-originate` complains about (null)
Donald Sharp [Thu, 20 Jun 2019 15:12:35 +0000 (11:12 -0400)]
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 <sharpd@cumulusnetworks.com>
4 years agozebra: failed neighbor event logging was a bit too aggresive
Donald Sharp [Thu, 20 Jun 2019 09:37:17 +0000 (05:37 -0400)]
zebra: failed neighbor event logging was a bit too aggresive

The failed neighbor event logging that was recently added in
commit: 3acae086bacea16fdcdd3987f092d678d56bc356

cast a bit too broad of a stroke.  We should only inform
the user that we were ignoring the RTM_NEWNEIGH FAIL callback
when we believe it was one of our own 5549 entries.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agozebra: Put route in debug dump of rib data
Donald Sharp [Thu, 20 Jun 2019 08:55:47 +0000 (04:55 -0400)]
zebra: Put route in debug dump of rib data

When dumping rib data about a route for `debug rib detail`
modify the dump command to display the prefix as part
of every line so that we can use a grep on the log
file.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agopimd: Remove output of `debug igmp trace detail` from show commands
Donald Sharp [Thu, 20 Jun 2019 08:37:57 +0000 (04:37 -0400)]
pimd: Remove output of `debug igmp trace detail` from show commands

There has never been a `debug igmp trace detail` but we have
had code to display this when we had the appropriate flags
set.  Since we never can accept this, let's remove this.

This showed up because of commit:0ab16492d2d9fcc6cba7e001227deed6765ed261

where we re-arranged some debugs to combine them being turned on.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agodoc: Cleanup `clear ip prefix-list...` documentation.
Donald Sharp [Thu, 20 Jun 2019 05:49:46 +0000 (01:49 -0400)]
doc: Cleanup `clear ip prefix-list...` documentation.

The documentation was a tiny bit odd.  Clean it up to
be a bit better.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agolib: Keep proper count of prefix-list hit-count when used
Visakha Erina [Wed, 19 Jun 2019 13:38:31 +0000 (06:38 -0700)]
lib: Keep proper count of prefix-list hit-count when used

When a prefix-list is applied to a BGP neighbor to deny the learning
of specific routes, the hit count is showing 0 for BGP even though
the routes are being filtered correctly due
to the configured prefix-list.

Before fix:

c1# show ip prefix-list nag seq 10
ZEBRA: seq 10 permit any (hit count: 0, refcount: 0)
BGP: seq 10 permit any (hit count: 0, refcount: 0)
c1# show ip prefix-list nag seq 5
ZEBRA: seq 5 deny 1.0.1.0/24 (hit count: 0, refcount: 0)
BGP: seq 5 deny 1.0.1.0/24 (hit count: 0, refcount: 0)

Fix: Increment the prefix-list's hit count whenever a rule match occurs.

After Fix:

c1# show ip prefix-list nag seq 10
ZEBRA: seq 10 permit any (hit count: 0, refcount: 0)
BGP: seq 10 permit any (hit count: 6, refcount: 0)
c1# show ip prefix-list nag seq 5
ZEBRA: seq 5 deny 1.0.1.0/24 (hit count: 0, refcount: 0)
BGP: seq 5 deny 1.0.1.0/24 (hit count: 1, refcount: 0)

Signed-off-by: Visakha Erina visakha.erina@broadcom.com
4 years agopimd: Ensure channel_oil_add is created through all paths
Donald Sharp [Fri, 14 Jun 2019 00:03:08 +0000 (20:03 -0400)]
pimd: Ensure channel_oil_add is created through all paths

If we create a channel_oil ensure that all paths that
we can go down will create one.  Future commits
can remove the (up->channel_oil) tests.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agopimd: ALLOC functions cannot fail.
Donald Sharp [Thu, 13 Jun 2019 23:36:54 +0000 (19:36 -0400)]
pimd: ALLOC functions cannot fail.

There is no need to check for ALLOC function failures
in the code base.  If we cannot get more memory we
assert.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agolib: Do not blindly set the _read and _write pointers to NULL
Donald Sharp [Thu, 13 Jun 2019 23:30:51 +0000 (19:30 -0400)]
lib: Do not blindly set the _read and _write pointers to NULL

Adding a read with the address of the thread pointer we want to
use will allow lib/thread.c to properly handle your thread pointers.
Instead we were setting the pointer to NULL before we passed
into the _read and _write thread functions.  Remove the NULL
pointer set and just let thread.c handle everything.

vty_stdio_resume and vty_read would blindly add read and write
which would cause vty_event() to drop the thread pointer.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agozebra: Clean up BGP EVPN configuration when the client, BGPD, goes down
Kishore Aramalla [Wed, 19 Jun 2019 21:45:21 +0000 (14:45 -0700)]
zebra: Clean up BGP EVPN configuration when the client, BGPD, goes down

When BGP daemon is down, Clean up its configuration state from zebra.
When the BGP daemon is up again, it will push its configuration to zebra

Delete the MAC and neighbor information received on the BGP session,
while retaining the local MAC and local ARP entries.

Signed-off-by: Kishore Aramalla karamalla@vmware.com
4 years agotopotest: configure l3mdev_accept for a range of kernels
Mark Stapp [Wed, 19 Jun 2019 18:55:48 +0000 (14:55 -0400)]
topotest: configure l3mdev_accept for a range of kernels

Improve vrf support in the l3vpn topotest by configuring
l3mdev_accept for a range of kernels.

Signed-off-by: Mark Stapp <mjs@voltanet.io>