Commit Graph

16348 Commits

Author SHA1 Message Date
Mark Stapp
c0b735d0ce
Merge pull request #4583 from donaldsharp/no_pim_trace_detail
pimd: Remove output of `debug igmp trace detail` from show commands
2019-06-21 15:46:53 -04:00
David Lamparter
5a98820303
Prefix list count (#4578)
Prefix list count

Co-authored-by: null <visakha.erina@broadcom.com>
2019-06-21 16:40:30 +02:00
Donald Sharp
f7e6ab3ebc
Merge pull request #4579 from opensourcerouting/mtype-fix
lib: fix MTYPE alias on clang
2019-06-21 10:11:51 -04:00
David Lamparter
57d898f3eb lib: fix MTYPE alias on clang
This is probably a compiler bug :/

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2019-06-21 14:51:50 +02:00
Donald Sharp
eb7fce2eea
Merge pull request #4576 from sarav511/enc_addr
pimd: Fixing encoded group & source address packing in right byte order
2019-06-21 08:21:03 -04:00
Donald Sharp
2bc398c3c4
Merge pull request #4573 from opensourcerouting/mtype_cleanup
MTYPE cleanup pass
2019-06-21 07:40:27 -04:00
David Lamparter
9578e35d34
Merge pull request #4531 from donaldsharp/repeaty_mcrepeat
zebra: Handle 5549 neighbor entry failure state
2019-06-21 09:05:27 +02:00
David Lamparter
8ae7df060f
Merge pull request #4568 from qlyoung/debian-docker-cleanup
docker: cleanup Debian docker build
2019-06-21 09:04:47 +02:00
David Lamparter
4257f877f4
Merge pull request #4567 from sworleys/DOC-Fedora-IPtables
doc: Add firewalld notice in fedora
2019-06-21 09:02:38 +02:00
David Lamparter
b3a7e30d1f ripngd: use MTYPE_STATIC
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2019-06-21 08:54:26 +02:00
David Lamparter
814a25859a ripd: use MTYPE_STATIC
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2019-06-21 08:54:25 +02:00
David Lamparter
7c136b081e vrrpd: use MTYPE_STATIC
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2019-06-21 08:54:25 +02:00
David Lamparter
eaf58ba906 lib: use MTYPE_STATIC
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2019-06-21 08:54:25 +02:00
David Lamparter
8b7454e9c2 babeld: use MTYPE_STATIC
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2019-06-21 08:54:25 +02:00
David Lamparter
c1344b54a8 zebra: use MTYPE_STATIC
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2019-06-21 08:54:25 +02:00
David Lamparter
1b88c3cb4c 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>
2019-06-21 08:54:25 +02:00
David Lamparter
056830ba69 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>
2019-06-21 08:54:25 +02:00
saravanank
71361a2c33 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>
2019-06-20 20:48:55 -07:00
Sri Mohana Singamsetty
fa8b6ca78b
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
2019-06-20 16:19:24 -07:00
Sri Mohana Singamsetty
bdacdc9271
Merge pull request #4470 from donaldsharp/bgp_mac_rescan
Bgp mac rescan
2019-06-20 13:33:09 -07:00
Sri Mohana Singamsetty
920c100807
Merge pull request #4549 from donaldsharp/multiple_instance
Multiple instance
2019-06-20 13:32:34 -07:00
Quentin Young
126498c2b7
Merge pull request #4559 from mjstapp/fix_topotest_vrf_mdev
topotest: configure l3mdev_accept for a range of kernels
2019-06-20 13:38:06 -04:00
Quentin Young
0a45032e84 docker: cleanup Debian docker build
* Update build instructions
* Remove manually installed daemons file

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-06-20 16:59:26 +00:00
Stephen Worley
fda5621069 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>
2019-06-20 12:11:25 -04:00
Donald Sharp
e36d39a97e 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>
2019-06-20 04:37:57 -04:00
Donald Sharp
a65a2f4c84 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>
2019-06-20 01:52:24 -04:00
Visakha Erina
0277936a2c 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
2019-06-20 01:51:38 -04:00
Mark Stapp
e30f24fd8d 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>
2019-06-19 14:55:48 -04:00
Mark Stapp
67e42128db
Merge pull request #4557 from dslicenc/zebra_rnh_eval
zebra: resolve issue with rnh not evaluating nexhops correctly
2019-06-19 12:14:13 -04:00
Don Slice
739c9c90e7 zebra: resolve issue with rnh not evaluating nexhops correctly
Problem discovered in testing that occasionally when an interface
address was flushed, the corresponding route would be removed from
the kernel and zebra but remain in the bgp table and be advertised
to peers.  Discovered that when zebra_rib_evaluate_nexthops spun
thru the tree list of rns, if the timing and circumstances were
right, it would move elements and miss evaluating some.  Changed
from frr_each to frr_each_safe and the problem is now gone.

Ticket: CM-25301
Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
2019-06-19 07:06:32 -07:00
Mark Stapp
8c86cd52be
Merge pull request #4554 from donaldsharp/nht_improved_debugging
zebra: Display a bit better debugging for rnh tracking
2019-06-19 09:02:26 -04:00
Mark Stapp
1789cbacf4
Merge pull request #4553 from qlyoung/readme-add-vrrp
README.md: add VRRP to list of protocols
2019-06-19 08:39:18 -04:00
Donald Sharp
3e461df2ea
Merge pull request #4260 from vishaldhingra/lcomm
bgpd: Added the as-set option for IPV6 agg. route
2019-06-18 20:45:57 -04:00
Donald Sharp
0a7be32866 zebra: Display a bit better debugging for rnh tracking
Add a expected count for the route node we will be processing
as part of nexthop resolution and modify the type to display
a useful string of what the type is instead of a number.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-06-18 15:47:10 -04:00
Russ White
e4c03ef044
Merge pull request #4495 from donaldsharp/pim_debug_expiry
pimd: Add a debug to indicate the ifchannel expiry timer has popped
2019-06-18 11:31:02 -04:00
Donald Sharp
2e4c561bf8
Merge pull request #4300 from adharkar/frr-master-rmap_debug
Lib: Debugs for route-map code in FRR
2019-06-18 11:24:10 -04:00
Sri Mohana Singamsetty
77a0e71afc
Merge pull request #4513 from chiragshah6/evpn_dev1
bgpd: skip evpn remove marked routes from rescan
2019-06-18 07:10:05 -07:00
Russ White
34acefdd66
Merge pull request #4543 from donaldsharp/mac_hash_string_leak
bgpd: Fix memleak of Mac Hash String upon insertion
2019-06-18 10:07:58 -04:00
Russ White
31b653d23a
Merge pull request #4546 from donaldsharp/better_debugs
zebra: Increase debugs to understand why we rejected a kernel route
2019-06-18 10:06:54 -04:00
Donald Sharp
0c38bc3257 tests: Remove bgp multiple-instance command from topotests
The `bgp multiple-instance` command has been deprecated and
removed.  Finish off this by removing it from topotests too.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-06-18 09:32:18 -04:00
Donald Sharp
8646a71ba5 doc: Update documentation about multiple-instance
The `bgp multiple-instance` command has been removed but
we did not properly update the documentation.  Let's do so.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-06-18 09:31:35 -04:00
Donald Sharp
d5568431f7 bgpd: BGP_ERR_MULTIPLE_INSTANCE_NOT_SET is an impossible condition
This code is not returned anywhere in the system as that bgp
is by default multiple-instance 'only' now.  So remove
the last remaining bits of it from the code base.

Remove BGP_ERR_MULTIPLE_INSTANCE_USED too.

Make bgp_get explicitly return BGP_SUCCESS
instead of 0.

Remove the multi-instance error code too.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-06-18 09:26:00 -04:00
Donald Sharp
c8a5b96514 bgpd: Remove unused count variable in mac_rescan_table function
The variable count was being incremented but never used.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-06-18 09:11:28 -04:00
Donald Sharp
76c1403df2 bgpd: Fix crash when rd has no data
There exists a state where we may have a rd node but no individual
evpn prefix nodes in the two level table:

(gdb) bt
    at bgpd/bgp_evpn_vty.c:1190
    filter=FILTER_RELAXED) at lib/command.c:1060
    at lib/command.c:1119
    vtysh=vtysh@entry=0) at lib/command.c:1273
(gdb) f 5
    at bgpd/bgp_evpn_vty.c:1190
1190    bgpd/bgp_evpn_vty.c: No such file or directory.
(gdb) p buf
$1 = "[2]:[0]:[48]:[00:00:00:00:00:00]", '\000' <repeats 240 times>...
(gdb) p json_nroute
$2 = (json_object *) 0x0
(gdb) p rd_header
$3 = 1
(gdb) p buf
$4 = "[2]:[0]:[48]:[00:00:00:00:00:00]", '\000' <repeats 240 times>...
(gdb)

I'm not entirely sure that this is not a `different` problem in that the
rd node should have been removed.  But I think preventing the crash
in a show command is probably the right thing to do here.

Fixes: #4501
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-06-18 09:11:15 -04:00
Donald Sharp
78869ebff4 bgpd: Mac rescan on interface up/down efficency improvements
On interface up/down, bgp stores the mac address of the interface
in a bgp_mac_hash table entry and then initiates a rescan
of the evpn l2vpn table.  The problem with this scan is that
it is looking at every item in the table when only 1 mac
has changed.  So every up/down event causes some major trauma
in the bgp_update processing.

Modify the mac scanning such that we know the mac that is changed
and as such we should reprocess those entries only.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-06-18 09:10:35 -04:00
Donald Sharp
8c8f250b0a zebra: Increase debugs to understand why we rejected a kernel route
Add a bit of extra code to indicate to the operator why
we intentionally rejected a kernel route from being used.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-06-18 08:47:28 -04:00
Rafael Zalamena
cd4ee3395c
Merge pull request #4530 from donaldsharp/pim_debugs
Pim debugs
2019-06-18 08:44:33 -03:00
Nitin Soni
503cf3feb3 zebra: When displaying show evpn mac vni XX add local and remote seq
Add the local and remote sequence number to the `show evpn mac vni XX`
command.

VNI 1000213 #MACs (local and remote) 2

MAC               Type   Intf/Remote VTEP      VLAN  Seq #'s
00:02:00:00:00:21 local  swp5                  213   0/0
00:02:00:00:00:43 local  vlan213               213   0/0

VNI 1000214 #MACs (local and remote) 2

MAC               Type   Intf/Remote VTEP      VLAN  Seq #'s
00:02:00:00:00:22 local  swp6                  214   0/0
00:02:00:00:00:43 local  vlan214               214   0/0

VNI 1000112 #MACs (local and remote) 5

MAC               Type   Intf/Remote VTEP      VLAN  Seq #'s
00:02:00:00:00:1b remote 6.0.0.2                     0/0
00:02:00:00:00:24 remote 6.0.0.31                    0/0
00:02:00:00:00:17 remote 6.0.0.1                     0/0
00:02:00:00:00:20 local  swp4                  112   0/0
00:02:00:00:00:43 local  vlan112               112   0/0

VNI 1000111 #MACs (local and remote) 5

MAC               Type   Intf/Remote VTEP      VLAN  Seq #'s
00:02:00:00:00:1f local  swp3                  111   0/0
00:02:00:00:00:23 remote 6.0.0.31                    0/0
00:02:00:00:00:16 remote 6.0.0.1                     0/0
00:02:00:00:00:1a remote 6.0.0.2                     0/0
00:02:00:00:00:43 local  vlan111               111   0/0

Ticket: CM-25120
Signed-off-by: Nitin Soni <nsoni@cumulusnetworks.com>
Reviewed-by: CCR-8836
Testing-Done:
2019-06-18 02:11:40 -07:00
Quentin Young
ffd9ddf127 README.md: add VRRP to list of protocols
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-06-18 02:07:07 +00:00
Donald Sharp
308000eefa bgpd: Fix memleak of Mac Hash String upon insertion
If we get a callback for a interface change but we do not
actually have to move the mac entry in the hash then
we were accidently leaking the Mac Hash String all over
ourselves.  Messy Messy!

Ticket: CM-25351
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-06-17 20:16:30 -04:00