Commit Graph

19747 Commits

Author SHA1 Message Date
Donald Sharp
207a142936 isisd: Expand send/receive buffers to allow for larger mtu
User is reporting:
2020/03/21 03:12:36 ISIS: isis_send_pdu_bcast: sock_buff size 8192 is less than output pdu size 9014 on circuit em0
2020/03/21 03:12:36 ISIS: [EC 67108865] ISIS-Adj (1): Send L2 IIH on em0 failed

MTU's can frequently hit 9k in size, we have buffer limits
that prevent this from being fully used and creating errors.

Modify the code to allow for up to 16k mtu

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-03-21 08:22:51 -04:00
Donald Sharp
32eac846fd
Merge pull request #6064 from opensourcerouting/topo_set_locale
Topotest fixes for Kernel 5.3 & locale
2020-03-21 06:29:55 -04:00
Donatas Abraitis
6d834ab1b1 doc: Add rfc7606 to BGP supported RFCs list
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2020-03-21 11:20:45 +02:00
Sri Mohana Singamsetty
925c7db1da
Merge pull request #6023 from vivek-cumulus/strip_rts_for_vrf_route_leak
bgpd: Strip route targets during VRF-to-VRF route leaking
2020-03-20 18:11:06 -07:00
Sri Mohana Singamsetty
94baa16307
Merge pull request #6040 from vivek-cumulus/evpn_advertise_map_allow_sets
Allow 'sets' in EVPN advertise route-map
2020-03-20 18:10:35 -07:00
Sri Mohana Singamsetty
c8281d465f
Merge pull request #6060 from donaldsharp/bgp_defines_to_enum
Bgp defines to enum
2020-03-20 18:10:07 -07:00
Martin Winter
6214e11a6a tests: fix check for nhid in ipv6 table output
Check based on actual output instead of assuming output based
on kernel version

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2020-03-20 23:53:39 +01:00
Martin Winter
14c40525be tests: Make topotest working on different locale
"sort" as used in all-protocol-startup used sort which causes
different sort order based on locale settings. Specify the
correct one to make output matching our expected result

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2020-03-20 23:50:29 +01:00
Donald Sharp
fc07143bf8
Merge pull request #6043 from pguibert6WIND/nhrp_clear_cache
nhrpd: fix clear nhrp cache dynamic entries
2020-03-20 18:22:51 -04:00
Donald Sharp
7bade8deea pimd: Prevent uninited use of tmp_oil in pim_mroute_add
There exists a path where tmp_oil is used uninited, prevent
this from happening.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-03-20 18:17:40 -04:00
Donald Sharp
f7cd1091b7 pimd: Note when rpf_update fails
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-03-20 18:17:40 -04:00
Donald Sharp
d1ba1814bc lib: Ensure pointer exists before using in mlag
Ensure that the s pointer is valid and usable before
grabbing data off of it.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-03-20 18:17:40 -04:00
Donald Sharp
7791cff31f pimd: Prevent use after free
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-03-20 18:17:40 -04:00
Donald Sharp
9a0132a577 zebra: Modify some route install debugs to allow us to understand a bit better
1) When programming a nhg id to the kernel we had no debug of that
is what we are doing.

2) Add debugs to all nexthop information to allow us to follow
which prefix we are talking about.  This is especially
useful when dealing with a large number of routes and
you want to grep out one or two too see what is going on.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-03-20 18:15:33 -04:00
Donald Sharp
8398b5d5d2 bgpd: Convert status defines to enum
Convert some status defines for the fsm to an enum
so that we cannot mix and match them in the future.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-03-20 18:07:13 -04:00
Donald Sharp
d1060698b4 bgpd: Convert #define of bgp fsm events to an enum
In PR #6052 which fixes issue #5963 the bgp fsm events
were confused with the bgp fsm status leading
to a bug.  Let's start separating those out
so these types of failures cannot just
easily occur.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-03-20 18:01:53 -04:00
Sri Mohana Singamsetty
c133ddca17
Merge pull request #5977 from rubenk/treewide-add-noreturn
treewide: add attribute to functions that do not return
2020-03-20 14:55:49 -07:00
lynne
a73e9e05b6 tests: Fixing test for LDP
LDP now advertises routes it learns over an interface not configured
with LDP.  If the route, which is learned over a non-LDP configured
interface, has no other NHs learned over an interface running LDP,
the router will act as a LDP egress router.

Modifying ldp-topo1/r1/ip_mpls_route.ref to include an extra newline.
Without this newline, the ldp-topo1 was failing.

Signed-off-by: Lynne Morrison <lynne@voltanet.io>
Signed-off-by: Karen Schoener <karen@voltanet.io>
2020-03-20 17:11:33 -04:00
Karen Schoener
418b28852a tests: Adding test for LDP ordered label distribution control
Adding test for LDP ordered label distribution control.

Signed-off-by: Lynne Morrison <lynne@voltanet.io>
Signed-off-by: Karen Schoener <karen@voltanet.io>
2020-03-20 17:11:33 -04:00
Karen Schoener
aff1743c64 ldpd: adding support for LDP ordered label distribution control
LDP ordered label distribution control only binds a label to
a FEC if it is the egress LSR, or the router received a label
binding for a FEC from the next hop router.  In this mode,
an MPLS router will create a label binding for each FEC and
distribute it to its neighbors so long as he has a entry in
the RIB for the destination.

Signed-off-by: Lynne Morrison <lynne@voltanet.io>
Signed-off-by: Karen Schoener <karen@voltanet.io>
2020-03-20 17:11:33 -04:00
David Lamparter
95c0125dd2
Merge pull request #5971 from rubenk/ospdf-remove-workaround-for-old-openbsd
ospfd: stop checking for ancient OpenBSD
2020-03-20 20:55:42 +01:00
David Lamparter
4e8ea9ede9
Merge pull request #6033 from rubenk/lib-do-not-use-aliased-inet-ntop-on-apple
lib: cannot use aliased function on Darwin
2020-03-20 20:52:28 +01:00
David Lamparter
75a50d62de
Merge pull request #5986 from sworleys/Include-Not-Current-Mem
lib: include any mem ever allocd in `show memory`
2020-03-20 20:40:06 +01:00
Renato Westphal
dd0271b583
Merge pull request #6061 from volta-networks/fix_isis_show_metric
isisd: fix vty show isis metric
2020-03-20 15:15:41 -03:00
Donatas Abraitis
9a6f9ba174
Merge pull request #6046 from Naveenaidu/builddoc-archlinux
doc: Add build instructions for Arch Linux
2020-03-20 19:11:33 +02:00
Stephen Worley
c0673bdcaf
Merge pull request #6042 from rubenk/build-disable-pimd-on-macos
Disable pimd on MacOS
2020-03-20 13:05:08 -04:00
Emanuele Di Pascale
d32a4cac6f isisd: fix vty show isis metric
the vtysh command to set the isis metric on an interface
is 'isis metric level-1 X', but when showing the running
config we were displaying it as 'isis metric X level-1'.
This would confuse frr-reload.py when attempting to apply
a config file populated with the correct command; on the
other hand, using the show command format would return an
error when running vtysh -C on the file.

Fix this by making the show command return the same format
as the vtysh setting command.

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2020-03-20 16:43:53 +01:00
Stephen Worley
a0c5e446a6 lib: include any mem ever allocd in show memory
Include memory types that were ever allocated when doing
a `show memory`.

Before, we were only including memory that existed currently
in the system, so we lost memory that was alloc'd/dealloc'd.

With this patch, we check max number rather than current number.

Ex) dataplane context objects

Old:
==============================================================================
Type                          : Current#   Size       Total     Max#  MaxBytes
--- qmem zebra ---
Type                          : Current#   Size       Total     Max#  MaxBytes
Zebra Interface Information   :       48    360       17280       48     17280
Router Advertisement Prefix   :        3     48         168        3       168
Route Entry                   :      128     80       11264      128     11264
RIB destination               :       64     88        5632       64      5632
Zebra DPlane Provider         :        1    232         232        1       232
Nexthop Group Entry           :       78     80        6928      114     10032
Nexthop Group Connected       :       78     40        3168      114      4560
Zebra Name Space              :       13 variable      1000       13      1000
RIB table info                :       12     16         288       12       288
ZEBRA VRF                     :        3   4744       14232        3     14232

New:
==============================================================================
Type                          : Current#   Size       Total     Max#  MaxBytes
--- qmem zebra ---
Type                          : Current#   Size       Total     Max#  MaxBytes
Zebra Interface Information   :       48    360       17280       48     17280
Router Advertisement Prefix   :        3     48         168        3       168
Route Entry                   :      128     80       11264      128     11264
RIB destination               :       64     88        5632       64      5632
Zebra DPlane Ctx              :        0   2424           0       87    210888
Zebra DPlane Provider         :        1    232         232        1       232
Nexthop Group Entry           :       78     80        6928      114     10032
Nexthop Group Connected       :       78     40        3168      114      4560
Zebra Name Space              :       13 variable      1000       13      1000
RIB table info                :       12     16         288       12       288
ZEBRA VRF                     :        3   4744       14232        3     14232

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
2020-03-20 10:36:18 -04:00
Ruben Kerkhof
87559aa474 build: disable pimd on MacOS
Signed-off-by: Ruben Kerkhof <ruben@rubenkerkhof.com>
2020-03-20 15:20:29 +01:00
Donald Sharp
e64e77375c
Merge pull request #6053 from LabNConsulting/working/lb/centos6
docs: document libyang build magic (from Martin) for centos 6
2020-03-20 07:26:28 -04:00
Sri Mohana Singamsetty
2dd3ba7da1
Merge pull request #6021 from vivek-cumulus/weighted_routes_rfc5549_fix
zebra: Install nexthop's weight for IPv4 routes with IPv6 next hops
2020-03-19 20:04:14 -07:00
saravanank
265aabf85e pimd: Prune->noinfo state has to put off join expiry timer and delete ifchannel
Problem:
When the ifchannel is in SGRpt prune, if we receive a join, we go into no info
state but mroute still present with none oil

Join Prune Expiry timer on the ifchannel was still running when
Prune pending expired. This causes ifchannel not to be deleted and hence mroute.

Fix:
Stop expiry timer when we move into NOINFO state and delete the ifchannel.

Signed-off-by: Saravanan K <saravanank@vmware.com>
2020-03-19 18:41:46 -07:00
Donald Sharp
0d41ab62b3
Merge pull request #6052 from pureport/PE-2051_fix_snmp_trap
bgpd: Fixed snmp and bmp 'just Established' test.
2020-03-19 21:06:48 -04:00
Lou Berger
56ddff042a docs: document libyang build magic (from Martin) for centos 6
Signed-off-by: Lou Berger <lberger@labn.net>
2020-03-19 19:51:20 -04:00
Josh Cox
fd2e2db680 bgpd: Fixed snmp and bmp 'just Established' test.
It was previously comparing an fsm event variable with an fsm status constant.
This fixes issue #5963.

Signed-off-by: Josh Cox <josh.cox@pureport.com>
2020-03-19 18:04:47 -04:00
vivek
e34291b86a bgpd: Allow EVPN advertise route-map to modify attributes
Ensure that the EVPN advertise route-map is applied on a copy of the
original path_info and associated attribute, so that if the route-map
has SET clauses, they can operate properly. This closely follows
the model already in use in other route-map application code.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by:   Don Slice <dslice@cumulusnetworks.com>
Reviewed-by:   Donald Sharp <sharpd@cumulusnetworks.com>
2020-03-19 14:21:23 -07:00
vivek
d69a76ac1a bgpd: Reverse route-map check for consistency
Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
2020-03-19 14:21:23 -07:00
Donatas Abraitis
88f1c94718 bgpd: Convert some community related functions to bool type
They return 0/1, hence changing the return type to bool.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2020-03-19 23:04:21 +02:00
Stephen Worley
f3f2c78add pbrd: convert gotos in set vrf command to returns
We were doing a bunch of gotos in the set vrf configcode.
The code got complex enough that just returning is easier to read.

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
2020-03-19 14:30:42 -04:00
Quentin Young
9c23deece2
Merge pull request #6045 from rubenk/bgpd-use-correct-format-specifier
bgpd: use the right format specifier
2020-03-19 13:55:04 -04:00
Ruben Kerkhof
8d80a84220 lib: cannot use aliased function on Darwin
Signed-off-by: Ruben Kerkhof <ruben@rubenkerkhof.com>
2020-03-19 18:47:48 +01:00
Ruben Kerkhof
b25b292538 treewide: add attribute to functions that do not return
Signed-off-by: Ruben Kerkhof <ruben@rubenkerkhof.com>
2020-03-19 18:33:48 +01:00
Stephen Worley
9bf1b0f74a pbrd: properly handle duplicate set vrf XX configs
Properly handle the case where we are sent the same `set vrf`
configs for a pbr map repeatedly. If we are sent the same
config, we return successfully without doing anyting.

If the config is different and its not a [no], then return failure
as we did before since we don't support atomic replace yet.

Before, we would fail anytime even if the config sent was the same
as is already there. This would cause frr-reload to mark as a
failure when it tried to re-apply the same config.

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
2020-03-19 12:32:13 -04:00
Quentin Young
cbbd3b30ba
Merge pull request #5755 from slankdev/bgpd-fix-prefix-sid-parse-error
bgpd: fix Prefix-SID parse error
2020-03-19 12:28:36 -04:00
Ruben Kerkhof
bdee80838f ospfd: stop checking for ancient OpenBSD
Signed-off-by: Ruben Kerkhof <ruben@rubenkerkhof.com>
2020-03-19 16:16:47 +01:00
Mark Stapp
795fbef4df
Merge pull request #6044 from donaldsharp/bfd_increase_timers_in_test
tests: Increase some wait time in tests
2020-03-19 10:41:35 -04:00
Naveen Naidu
248d2d878a doc: Add build instructions for Arch Linux
Signed-off-by: Naveen Naidu <naveennaidu479@gmail.com>
2020-03-19 19:26:58 +05:30
Ruben Kerkhof
cc92ee388c bgpd: use the right format specifier
Fixes:
/Library/Developer/CommandLineTools/usr/bin/make  all-am
  CC       bgpd/bgp_attr.o
bgpd/bgp_attr.c:2664:5: warning: format specifies type 'unsigned char' but the argument has type 'uint16_t' (aka 'unsigned short') [-Wformat]
                                length, STREAM_READABLE(peer->curr));
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./lib/log.h:94:50: note: expanded from macro 'flog_err'
        zlog_err("[EC %" PRIu32 "] " format, ferr_id, ##__VA_ARGS__)
                                     ~~~~~~             ^~~~~~~~~~~
1 warning generated.

Signed-off-by: Ruben Kerkhof <ruben@rubenkerkhof.com>
2020-03-19 14:00:20 +01:00
Donald Sharp
33308371d8 tests: Increase some wait time in tests
The bfd-bgp-cbit-topo3 test is testing bfd timers
with some timers that only wait 4 seconds.  The CI
system is failing in various places due to bfd
not converging properly.  Upon logging into a
CI system and running tests with intensive disk i/o
I was able to make the tests fail repeatedly in
a couple of different places.  Add some additional
time to allow the system to converge on our CI
systems that are running in vm's and may not
always have complete control of cpu's.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-03-19 08:24:37 -04:00
Philippe Guibert
db89e514c7 nhrpd: fix clear nhrp cache dynamic entries
as the helper said, the dynamic cache entries should be flushed once the
vty command 'clear ip/ipv6 nhrp cache' mentions. This was not the case.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2020-03-19 12:09:06 +01:00