Commit Graph

19529 Commits

Author SHA1 Message Date
Sri Mohana Singamsetty
865a8f8611
Merge pull request #6073 from donaldsharp/is_default
More `const struct prefix` work
2020-03-23 10:54:33 -07:00
Donald Sharp
a01f317b0f
Merge pull request #6008 from sarav511/max_vif
pimd: Do not allow to configure multicast on more than MAXVIF interfaces
2020-03-23 11:28:45 -04:00
Donald Sharp
6ced257f01
Merge pull request #6004 from sarav511/mc_fixes
pimd: (S,G) Route doesn't inherit olist from parent while creation in nocache path
2020-03-23 11:17:28 -04:00
Renato Westphal
1a3ff5236c
Merge pull request #5851 from volta-networks/feat_ldp_oc_review
ldpd: adding support for LDP ordered label distribution control
2020-03-23 10:55:20 -03:00
Rafael Zalamena
f8978cc871 yang: zebra route map fixes based on feedback
Fix copy & paste on YANG description and add new route types that
appeared.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2020-03-23 10:38:34 -03:00
Karen Schoener
17da84a49d zebra: Synchronous client queues accumulate messages from zebra.
Zebra is currently sending messages on interface add/delete/update,
VRF add/delete, and interface address change - regardless of whether
its clients had requested them.  This is problematic for lde and isis,
which only listens to label chunk messages, and only when it is
waiting for one (synchronous client). The effect is the that messages
accumulate on the lde synchronous message queue.

With this change:
  - Zebra does not send unsolicited messages to synchronous clients.
  - Synchronous clients send a ZEBRA_HELLO to zebra.
    The ZEBRA_HELLO contains a new boolean field: sychronous.
  - LDP and PIM have been updated to send a ZEBRA_HELLO for their
    synchronous clients.

Signed-off-by: Karen Schoener <karen@voltanet.io>
2020-03-23 09:17:17 -04:00
Donald Sharp
1be1693edf bgpd, lib: More constification of various code
More second order effects of cleaning up rn usage
in bgp.  Sprinkle the fairy const's all over the place.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-03-23 08:41:17 -04:00
saravanank
23a2f90a00 pimd: Add check for pim join, hello and assert to drop pkts without all-pim-routers dest.
This is as per RFC. This is identified when conformance suite catched join.

RCA:
Packets were processed without checking allowed dest IP for that packet.

Fix:
Added check for dest IP
Converted this check to a function

Signed-off-by: Saravanan K <saravanank@vmware.com>
2020-03-23 05:35:55 -07:00
Donald Sharp
b8685f9bea bgpd: Add some const struct prefix for a couple more functions
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-03-23 08:10:55 -04:00
Rafael Zalamena
07d030ea09 zebra: migrate route map commands to northbound
Lets use the newly implemented zebra northbound to configure route maps.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2020-03-23 07:55:13 -03:00
Rafael Zalamena
b87fa24d08 zebra: implement zebra route map northbound
Add skeleton code for zebra northbound, but implement route map
commands.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2020-03-23 07:55:13 -03:00
Rafael Zalamena
bc77245fa1 yang: add zebra specific route map options
*   Extend the route map yang model to have zebra enumerations;
*   Add zebra route map specific match/set values;

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2020-03-23 07:55:13 -03:00
Rafael Zalamena
fe362bf415 yang: add all route types enumeration
This new type will be used by zebra route map match command which is IP
version agnostic.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2020-03-23 07:55:13 -03:00
saravanank
e34c461936 pimd: bsr election elects wrong bsr
RCA: preferred bsr routine, compare address in network byte order

Fix: changed to host format before comparision.

Testing:
Verified between 1.1.2.7 and 10.2.1.1, 10.2.1.1 is chosen as bsr

Initially:
R11# sh ip pim bsr
PIMv2 Bootstrap information
Current preferred BSR address: 1.1.2.7
Priority        Fragment-Tag       State           UpTime
  0               2862            ACCEPT_PREFERRED    00:00:30
Last BSM seen: 00:00:30

After next bsr started:
R11# sh ip pim bsr
PIMv2 Bootstrap information
Current preferred BSR address: 10.2.1.1
Priority        Fragment-Tag       State           UpTime
  0               3578            ACCEPT_PREFERRED    00:00:01
Last BSM seen: 00:00:01
R11# sh ip pim bsr
PIMv2 Bootstrap information
Current preferred BSR address: 10.2.1.1
Priority        Fragment-Tag       State           UpTime
  0               3578            ACCEPT_PREFERRED    00:00:04
Last BSM seen: 00:00:04

Signed-off-by: Saravanan K <saravanank@vmware.com>
2020-03-22 19:46:12 -07:00
Sri Mohana Singamsetty
544955aa78
Merge pull request #6070 from donaldsharp/bgp_const_struct_work
bgpd: More `const struct prefix` work
2020-03-22 17:32:31 -07:00
Sri Mohana Singamsetty
8034b3c837
Merge pull request #6051 from ton31337/fix/bool_stuff_bgp_clist
bgpd: Convert some community related functions to bool type
2020-03-22 17:32:09 -07:00
Sri Mohana Singamsetty
45458308fb
Merge pull request #6031 from donaldsharp/debug_zebra_kernel
zebra: Modify some route install debugs to allow us to understand a b…
2020-03-22 17:31:40 -07:00
Donald Sharp
46f56dadd4 lib: Modify zclient_send_rnh to use const struct prefix
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-03-22 18:38:56 -04:00
Donald Sharp
35518f5419 lib: make is_default_host_route use a const struct prefix
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-03-22 17:14:32 -04:00
Donatas Abraitis
03eb10e62f tests: Add a test case for rfc6286
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2020-03-22 22:44:00 +02:00
Donatas Abraitis
2f86094e37 doc: Add rfc6286 to supported RFCs list
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2020-03-22 21:51:14 +02:00
Donald Sharp
bd494ec5ed bgpd: More const struct prefix work
Modify more code to use `const struct prefix` throughout
bgp.  This is all prep work for adding an accessor function
for bgp_node to get the prefix and reduce all the places that
code needs to be touched when we get that work done.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-03-22 14:50:46 -04:00
Sri Mohana Singamsetty
8b78c36649
Merge pull request #6067 from donaldsharp/bgp_const
Bgp const
2020-03-22 11:27:03 -07:00
Donatas Abraitis
d03e644c2b
Merge pull request #5825 from pguibert6WIND/nhrp_vty
nhrpd: add json support to show nhrp vty commands
2020-03-22 14:21:42 +02:00
Donald Sharp
99a088e7b8 bgpd: Modify bgp_node_XXX calls to use const struct prefix
Tell the compiler that the prefix is being used for lookups
and it will never change.

Setup for future work.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-03-21 21:44:48 -04:00
Donald Sharp
8150a500bc lib: Modify agg_XX calls to use const struct prefix
Tell the compiler that the prefix is being used for lookups
and it will never change.

Setup for future work.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-03-21 21:44:48 -04:00
Jakub Urbańczyk
340845e2b5 zebra: make common function for RTM_NEWNEIGH calls
We currently have netlink_neigh_update_ctx,
netlink_vxlan_flood_update_ctx and netlink_macfdb_update_ctx
all of which do slightly different RTM_NEWNEIGH calls into
the kernel. After this change, there will be one common
function.

Signed-off-by: Jakub Urbańczyk <xthaid@gmail.com>
2020-03-21 19:38:18 +01:00
David Lamparter
3f1ba9b836
Merge pull request #6066 from donaldsharp/isis_mtu_buffer
isisd: Expand send/receive buffers to allow for larger mtu
2020-03-21 18:18:07 +01:00
Donald Sharp
2ecb6952ef
Merge pull request #6059 from ton31337/fix/int_to_bool
bgpd: Convert lots of int type functions to bool/void
2020-03-21 12:39:30 -04:00
Donatas Abraitis
07ab06a8ce
Merge pull request #6029 from donaldsharp/coverity_pim
Coverity pim
2020-03-21 15:03:28 +02:00
Donatas Abraitis
3dc339cdc2 bgpd: Convert lots of int type functions to bool/void
Some were converted to bool, where true/false status is needed.
Converted to void only those, where the return status was only false or true.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2020-03-21 14:59:18 +02:00
Donatas Abraitis
09fdbbe98c tools: Convert type int functions to bool where possible
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2020-03-21 14:58:21 +02:00
Donald Sharp
f82e92f40a
Merge pull request #6065 from ton31337/doc/rfc_supported_bgp
doc: Add rfc7606 to BGP supported RFCs list
2020-03-21 08:41:03 -04:00
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