Commit Graph

18570 Commits

Author SHA1 Message Date
Donald Sharp
4eb08d65e2
Merge pull request #5840 from opensourcerouting/route-map-recurse
lib: don't allow to recurse inside route-map node
2020-02-19 22:56:25 -05:00
Rafael Zalamena
2f95da3284 lib: don't allow to recurse inside route-map node
vtysh should handle going back up one level to try the command, there is
no need to be able to recurse inside route-map.

This also fixes a problem with northbound hitting the XPath queue limit
of 8 nodes.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2020-02-19 17:54:08 -03:00
Donald Sharp
67c5e28cb9
Merge pull request #5826 from mjstapp/fix_cli_pfx_doc
doc: correct ip prefix token mapping table
2020-02-19 15:08:08 -05:00
Donatas Abraitis
40b0108887
Merge pull request #5788 from karamalla0406/large_comm
bgpd: support 'show ip bgp large-community" on default vrf
2020-02-19 21:03:59 +01:00
Donald Sharp
49eddc738f
Merge pull request #5834 from opensourcerouting/route-map-fix-crash
lib: fix route-map coverity scan issue
2020-02-19 15:03:12 -05:00
Donatas Abraitis
7088718b71
Merge pull request #5836 from donaldsharp/bgp_collision
bgpd: Add a better breadcrumb for when bgp is missconfiged
2020-02-19 20:51:02 +01:00
Donatas Abraitis
be427cc88a
Merge pull request #5837 from qlyoung/fix-zapi-pbr-unsupported-ip-family-log-message-newline
zebra: remove \n in zapi pbr family log msg
2020-02-19 20:41:30 +01:00
Quentin Young
b7b05b462d zebra: remove \n in zapi pbr family log msg
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2020-02-19 11:24:43 -05:00
Donald Sharp
3dbe2b6061 bgpd: Add a better breadcrumb for when bgp is missconfiged
Currently During bgp open collision resolution if both
the router-id's are the same, we correctly follow
the RFC and close the connection.  The problem is of course
that there is no notification of the error in configuration
to the end user other than a subtle open debug message.

Explicitly call out the miss-configuration as an error message
as that this miss-config took several hours of debugging to notice.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-02-19 10:52:14 -05:00
Mark Stapp
05c6b1e4b0 doc: correct ip prefix token mapping table
Fix the table that shows the mapping between ip network cli
tokens and the data struct that the cli handler will see.
Optional network/subnet types appear as a pointer to an
all-zeroes struct, not a NULL pointer.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2020-02-19 09:08:22 -05:00
Donald Sharp
1a21da6b01
Merge pull request #5802 from ton31337/feature/aggregate-address_origin_override
bgpd: Allow overriding ORIGIN for aggregate-address
2020-02-19 08:38:31 -05:00
Rafael Zalamena
1c4eca648c lib: fix route-map coverity scan issue
Use better TAILQ free idiom to avoid coverity scan warnings. This fixes
the coverity scan issue 1491240 .

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2020-02-19 10:35:28 -03:00
Donald Sharp
fc2006c6b1
Merge pull request #5830 from mjstapp/fix_rtadv_stubs
zebra: fix missing rtadv stub functions
2020-02-19 08:31:57 -05:00
Donatas Abraitis
0bdcc3e3ef
Merge pull request #5809 from donaldsharp/vrf_name
Print out vrf name as well as id
2020-02-19 14:23:32 +01:00
Donatas Abraitis
709a3ecf54
Merge pull request #5795 from donaldsharp/lua_dev_doc
doc: Add some basic how-to for lua and clean up some found issues
2020-02-19 14:23:11 +01:00
Mark Stapp
0af3d691b2 zebra: fix missing rtadv stub functions
Add in a few missing stub route-advert functions; these are
needed to build frr with v6 route adverts disabled.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2020-02-18 16:49:54 -05:00
Mark Stapp
4c5122452a
Merge pull request #5823 from donaldsharp/irdp_what
Irdp build and log fixes
2020-02-18 14:27:48 -05:00
Philippe Guibert
3c5f39e76d
Merge pull request #5651 from AnuradhaKaruppiah/evpn-pim-fixes
EVPN-PIM: complete anycast (MLAG) VTEP support
2020-02-18 18:21:16 +01:00
Donald Sharp
0d60f61f18
Merge pull request #5813 from mjstapp/zapi_labels_use_nh
*: encode zapi labels message using nexthops
2020-02-18 09:57:22 -05:00
Donald Sharp
30b544edc4 zebra: Fix checksum calculation to not include old checksum
As part of checksum calculation for a received packet we were
comparing the checksum returned from in_cksum.  Typically
when we calculate the checksum the value stored in the checksum
must be all 0's.  Store the received checksum and then set
the checksum to 0 and then compare.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-02-18 09:34:18 -05:00
Donald Sharp
3d0deb9c8b zebra: Fix zlog_debug -> flog_err for error situations in IRDP
In several places we would send debug messages for failure situations
that really should be errors.

Signed-off-by: Donald Sharpd <sharpd@cumulusnetworks.com>
2020-02-18 09:34:18 -05:00
Donald Sharp
08fa52a826 zebra: SO_BROADCAST needs a uint32_t instead of a uint8_t
Using SO_BROADCAST, in the linux kernel, requires a uint32_t to be passed
in for all SOL_SOCKET calls.  Modify code to use it.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-02-18 09:33:16 -05:00
Sri Mohana Singamsetty
dea8e5f275
Merge pull request #5801 from donaldsharp/bgp_peer_sort
Bgp peer sort
2020-02-17 21:39:37 -08:00
Sri Mohana Singamsetty
e661b88e62
Merge pull request #5790 from chiragshah6/mdev
bgpd: format fields to bgp evpn vni json cmds
2020-02-17 21:39:16 -08:00
Donald Sharp
4765870ee7
Merge pull request #5807 from ton31337/fix/do_not_show_failed_if_shutdown
bgpd: Show the real reason why the peer is failed
2020-02-17 09:29:28 -05:00
Jafar Al-Gharaibeh
b5a3c5ef9f
Merge pull request #5815 from donaldsharp/feb_sa_stuff
bgpd: Fix up a couple of new SA issues found
2020-02-16 23:41:55 -06:00
Jafar Al-Gharaibeh
2c36681d43
Merge pull request #5817 from donaldsharp/more_bgp_rcvd_sent
bgpd: Add a couple more spaces for output on MsgRcvd and MsgSent
2020-02-16 23:40:31 -06:00
Jafar Al-Gharaibeh
9c10e154e3
Merge pull request #5820 from donaldsharp/pcreposix
lib: Fix so that `--enable-pcreposix` actually compiles
2020-02-16 23:39:03 -06:00
Jafar Al-Gharaibeh
547873db2e
Merge pull request #5821 from donaldsharp/configure_fixup
Configure fixup
2020-02-16 23:31:53 -06:00
Donald Sharp
bed8d78bae bgpd: Add a couple more spaces for output on MsgRcvd and MsgSent
annie# show bgp ipv4 uni summ
BGP router identifier 192.168.201.136, local AS number 64539 vrf-id 0
BGP table version 22458946
RIB entries 1458006, using 178 MiB of memory
Peers 4, using 68 KiB of memory

Neighbor               V         AS MsgRcvd MsgSent   TblVer  InQ OutQ  Up/Down State/PfxRcd
45.33.5.119            4          0       0       0        0    0    0    never       Active
65.19.134.122          4      15096 4611832  108292        0    0    0 6d22h55m       800670
107.13.46.23           4          0       0       0        0    0    0    never      Connect
robot(192.168.201.139) 4      64540 11159975 11365599        0    0    0 05w2d05h      Connect

Total number of neighbors 4

On very busy systems The column output for MsgRcvd and MsgSent can quickly move past 7 columns.
Add a couple more to allow for even display.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-02-16 20:38:13 -05:00
Donald Sharp
c295c6cec1 doc: Update configure options in installation notes
Add some missing configuration options in the installation notes.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-02-16 14:57:39 -05:00
Donald Sharp
e2b26a4d4e configure: Fixup --disable-irdp option to reflect reality
The help text was not properly setup for `--disable-irdp` fix
it.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-02-16 14:39:49 -05:00
Donald Sharp
b15968b11f
Merge pull request #5814 from Jafaral/nhrp-no
nhrpd: allow no nhrp map cmd to match the configured cmd
2020-02-16 14:15:42 -05:00
Donald Sharp
beee9b4a26 lib: Fix so that --enable-pcreposix actually compiles
The `--enable-pcreposix` configure option was not actually compiling
properly.  Follow pre-existing pattern for inclusion of regex.h
or the pcreposix.h header.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-02-16 14:14:04 -05:00
Donatas Abraitis
07d1e5d99d bgpd: Show the real reason why the peer is failed
If the peer was shutdown locally, it doesn't show up as admin. shutdown.
Instead it's treated as "Waiting for peer OPEN".

The same applies to when the peer reaches maximum-prefix count.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2020-02-14 23:23:52 +02:00
Mark Stapp
4945002d71 *: encode zapi labels message using nexthops
Use the zapi_nexthop struct with the mpls_labels
zapi messages instead of the special-purpose (and
more limited) nexthop struct that was being used.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2020-02-14 16:16:21 -05:00
Donald Sharp
69337c345e bgpd: Use the enum properly in a switch for rpki commands
During route-map processing we return an enum, the rpki
code was doing some extra gyrations that were unnecessary.
Simplify.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-02-14 15:38:38 -05:00
Donald Sharp
8c9769e03b bgpd: Ensure we don't crash when registering RA's
There exists a code path that the ifp can be NULL.
Prevent an accident.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-02-14 15:35:37 -05:00
Mark Stapp
9183794425
Merge pull request #5811 from dslicenc/ipv6_ra_prefixes
zebra: add all ipv6 global addresses to RA messages
2020-02-14 14:44:55 -05:00
Donald Sharp
6f29169e06 doc: Fix borked up syntax for static-linking
Fix documentation such that it is displayed as intended.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-02-14 14:18:38 -05:00
Donald Sharp
bf9735b240 doc: Fixup some missing syntax
We were missing some syntax indicators for stuff in doc/developer
add them in.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-02-14 14:17:52 -05:00
Donald Sharp
93a142e4fc doc: Add some basic how-to for lua
Add a couple breadcrumbs to get people up and running
with lua when they are trying to develop for it.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-02-14 14:17:52 -05:00
Jafar Al-Gharaibeh
29ff6b5cb6 nhrpd: allow no nhrp map cmd to match the configured cmd
Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
2020-02-14 11:49:58 -06:00
Anuradha Karuppiah
94bd5b9347 tests: Add a evpn-pim test case
This is a basic setup and test of evpn-pim.
Create a vxlan device ensure that pim notices this
and setups the appropriate groups and sends them
to the RP.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-02-14 09:18:30 -08:00
Anuradha Karuppiah
f80427e9e7 pimd: pim mlag show commands
1. show ip pim mlag summary
provides MLAG session information and stats
2. show ip pim mlag upstream
displays the upstream entries synced across the MLAG switches

Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
2020-02-14 09:18:30 -08:00
Anuradha Karuppiah
650d9ad1ac pimd: handle ipmr-lo operational state changes
ipmr-lo is an internally added device used for multicast vxlan tunnel
termination. This device is not expected to be managed by the admin
however in the case it is accidentally shut we need to be able handle
it by recovering when it is "no shut" again.

Ticket: CM-24985

Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
2020-02-14 09:18:30 -08:00
Anuradha Karuppiah
20fcf61c37 pimd: handle nht metric change correctly
PIM MLAG DF election API was not being triggered on cost change if the
upstream neighbor remained the same.

Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
2020-02-14 09:18:30 -08:00
Anuradha Karuppiah
d1a3e8df42 lib: add missing command DESC for MLAG messages
This string is used in some logging for e.g. in zclient_read -
>>>>>>>>>>>>>>>>>>>>>>>>>>
    if (zclient_debug)
        zlog_debug("zclient 0x%p command %s VRF %u",
               (void *)zclient, zserv_command_string(command),
               vrf_id);
>>>>>>>>>>>>>>>>>>>>>>>>>>

Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
2020-02-14 09:18:30 -08:00
Anuradha Karuppiah
6823b1dcc3 pimd: remove peerlink_rif from the orig-mroute OIL when it is oper down
In an anycast VTEP setup the peerlink_rif is added as a static OIF
to the originating mroute (bypassing the pim state machine). This is
needed to ensure both MLAG switches rx a copy of encapsulated BUM flow.

We were not handling link state changes on this static OIF resulting
in the wrong vifi being used in the OIL (because of vifi re-allocation).
This commit re-acts to oper state changes by deleting the OIF on link
down and re-adding it on link up.

Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
2020-02-14 09:18:30 -08:00
Anuradha Karuppiah
448139e704 pimd: stop overloading SRC_IGMP upstream for vxlan local membership
A local membership is created on the vxlan termination device ipmr-lo. This
is done to -
1. Pull multicast vxlan tunnel traffic to the VTEP for termination by
triggering JoinDesired on the BUM multicast group.
2. Include the OIF in the mroute to signal to the dataplane component
that flow needs to be vxlan terminated.

Earlier we were overloading the PIM_UPSTREAM_FLAG_MASK_SRC_IGMP for
this local membership creation but that is creating confusion both in
the state machine and in the show outputs. To avoid that we use the
more apparent PIM_UPSTREAM_FLAG_MASK_SRC_VXLAN_TERM. With this change -
1. We get LHR functionality for VXLAN_TERM mroutes
2. OIF is populated with PIM_OIF_FLAG_PROTO_PIM only

Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
2020-02-14 09:18:30 -08:00