]>
git.puffer.fish Git - mirror/frr.git/log
Mark Stapp [Mon, 6 Jan 2020 21:00:35 +0000 (16:00 -0500)]
Merge pull request #5621 from qlyoung/fix-zclient-excess-nexthop-decode
lib: dont decode more nexthops than we can handle
Mark Stapp [Mon, 6 Jan 2020 19:59:07 +0000 (14:59 -0500)]
Merge pull request #5626 from qlyoung/fix-zapi-pbr-foo
zebra: Fix zapi pbr foo, pseudowire ifname termination
Mark Stapp [Mon, 6 Jan 2020 19:04:33 +0000 (14:04 -0500)]
Merge pull request #5622 from qlyoung/fix-iface-ifindex-compare
lib: fix ifindex comparison overflow
Quentin Young [Sat, 4 Jan 2020 00:07:25 +0000 (19:07 -0500)]
lib: dont decode more nexthops than we can handle
If someone provides us more nexthops than our configured multipath
setting, drop the rest of them
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Quentin Young [Mon, 6 Jan 2020 17:28:52 +0000 (12:28 -0500)]
Merge pull request #5607 from ton31337/fix/deprecate_bgpTimerUp
bgpd: Time to deprecate bgpTimerUp
Jafar Al-Gharaibeh [Mon, 6 Jan 2020 17:24:15 +0000 (11:24 -0600)]
Merge pull request #5606 from ton31337/fix/docker_centos8_image_name
docker: Use proper container name when creating CentOS 8 container
Jafar Al-Gharaibeh [Mon, 6 Jan 2020 17:19:42 +0000 (11:19 -0600)]
Merge pull request #5632 from ton31337/fix/dont_use_pipes
packaging: Redirect stderr to /dev/null in %post action (frr.spec.in)
Jafar Al-Gharaibeh [Mon, 6 Jan 2020 17:03:55 +0000 (11:03 -0600)]
Merge pull request #5545 from ton31337/feature/show_bgp_json_regexp
bgpd: Print json output for show_ip_bgp_regexp_cmd
Rafael Zalamena [Mon, 6 Jan 2020 14:51:02 +0000 (11:51 -0300)]
Merge pull request #5618 from qlyoung/fix-san-flags-additive
configure.ac: make msan & ubsan flags additive
Mark Stapp [Mon, 6 Jan 2020 13:59:49 +0000 (08:59 -0500)]
Merge pull request #5619 from qlyoung/fix-zebra-netlink-undefined-bitshift
zebra: fix undefined bitshifts in netlink stuff
Donatas Abraitis [Mon, 6 Jan 2020 11:15:07 +0000 (13:15 +0200)]
Merge pull request #5630 from slankdev/slankdev-bgpd-fix-large-rd
bgpd: fix large route-distinguisher's format
Hiroki Shirokura [Sun, 5 Jan 2020 13:56:14 +0000 (22:56 +0900)]
bgpd: fix large route-distinguisher's format
This commit is about #5629 's issue.
Before this commit, bgpd creates format string of
bgp-route-distinguisher as int32, but correctly format
is uint32. current bgpd's sh-run-cli generate int32 rd,
so if user sets the rd as 1:
4294967295 (0x1:0xffffffff),
sh-run cli generates 1: -1 as running-config. This
commit fix that issue.
Signed-off-by: Hiroki Shirokura <slank.dev@gmail.com>
Donatas Abraitis [Sun, 5 Jan 2020 20:10:34 +0000 (22:10 +0200)]
Merge pull request #5467 from pogojotz/alpine-linux-build
alpine: fix build on current 'edge' version of Alpine
Donatas Abraitis [Sun, 5 Jan 2020 20:07:00 +0000 (22:07 +0200)]
Merge pull request #5601 from donaldsharp/pim_rb
Pim rb
Donatas Abraitis [Sun, 5 Jan 2020 14:34:40 +0000 (16:34 +0200)]
packaging: Redirect stderr to /dev/null in %post action (frr.spec.in)
Solves:
```
/usr/bin/sed: couldn't write 40 items to stdout: Broken pipe
/usr/bin/sed: couldn't write 40 items to stdout: Broken pipe
/usr/bin/sed: couldn't write 40 items to stdout: Broken pipe
/usr/bin/sed: couldn't write 40 items to stdout: Broken pipe
/usr/bin/sed: couldn't write 40 items to stdout: Broken pipe
/usr/bin/sed: couldn't write 40 items to stdout: Broken pipe
/usr/bin/sed: couldn't write 40 items to stdout: Broken pipe
```
This happens because `grep -q` returns immediately after first match
and closes the pipe while sed has more output to write.
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
Quentin Young [Fri, 3 Jan 2020 21:39:57 +0000 (16:39 -0500)]
zebra: fix undefined bitshifts in netlink stuff
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Quentin Young [Sat, 4 Jan 2020 03:30:33 +0000 (22:30 -0500)]
zebra: null terminate interface name from wire
We read an ifname from the wire but don't make sure its null terminated,
fix it
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Quentin Young [Sat, 4 Jan 2020 03:28:53 +0000 (22:28 -0500)]
zebra: fix iptable memleak, fix free funcs
- Fix iptable freeing code to free malloc'd list
- malloc iptable in zapi handler and use those functions to free it when
done to fix a linked list memleak
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Quentin Young [Sat, 4 Jan 2020 00:25:38 +0000 (19:25 -0500)]
lib: fix ifindex comparison overflow
Very small (negative!) ifindexes, when subtracted, can overflow.
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Donatas Abraitis [Thu, 2 Jan 2020 10:34:48 +0000 (12:34 +0200)]
bgpd: Time to deprecate bgpTimerUp
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
Donatas Abraitis [Thu, 2 Jan 2020 10:20:18 +0000 (12:20 +0200)]
docker: Use proper container name when creating CentOS 8 container
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
Donatas Abraitis [Fri, 3 Jan 2020 22:39:46 +0000 (00:39 +0200)]
Merge pull request #5611 from qlyoung/fix-bgp-no-listen-docstring
bgpd: fix too much no listen doc string
Quentin Young [Fri, 3 Jan 2020 20:03:37 +0000 (15:03 -0500)]
configure.ac: make msan & ubsan flags additive
These were setting = SAN_FLAGS, we want to add to the variable. Note
MSAN can't be used with any other sanitizer (except UBSan) but the
compiler will complain about that if you use it wrong so we don't need
to enforce it here.
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Renato Westphal [Fri, 3 Jan 2020 18:14:20 +0000 (15:14 -0300)]
Merge pull request #5604 from qlyoung/add-ubsan-option
configure.ac: add --enable-undefined-sanitizer
Quentin Young [Fri, 3 Jan 2020 18:03:14 +0000 (13:03 -0500)]
Merge pull request #5615 from ton31337/feature/supported_rfc_list_add_8212
doc: Add rfc8212 to supported RFCs list
Donald Sharp [Tue, 31 Dec 2019 20:28:29 +0000 (15:28 -0500)]
pimd: Do not warn for common occurrence in igmp code
Do not warn when we receive a multicast address that
matches 224.0.0.0/24.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Donald Sharp [Sat, 21 Dec 2019 04:00:31 +0000 (23:00 -0500)]
pimd: Convert the upstream_list and hash to a rb tree
Convert the upstream_list and hash to a rb tree, Significant
time was being spent in the listnode_add_sort. This reduces
this time greatly.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Donald Sharp [Sat, 21 Dec 2019 03:12:19 +0000 (22:12 -0500)]
pimd: Convert the channel_oil_list|hash to a rb_tree
The channel_oil_list and hash are taking significant
cpu at scale when adding to the sorted list. Replace
with a RB_TREE.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Donatas Abraitis [Fri, 3 Jan 2020 07:51:17 +0000 (09:51 +0200)]
doc: Add rfc8212 to supported RFCs list
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
Quentin Young [Fri, 3 Jan 2020 04:04:38 +0000 (23:04 -0500)]
Merge pull request #5613 from srimohans/ietf
doc: Updating FRR supported RFC list
Sri Mohana Singamsetty [Fri, 3 Jan 2020 00:00:31 +0000 (16:00 -0800)]
doc: Updating FRR supported RFC list
1. Added subsections for BGP, MPLS, ISIS, OSPF etc.
2. Updated RFCs for BGP, MPLS, OSPF.
Signed-off-by: Sri Mohana Singamsetty <msingamsetty@vmware.com>
Quentin Young [Thu, 2 Jan 2020 21:26:31 +0000 (16:26 -0500)]
bgpd: fix too much no listen doc string
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Quentin Young [Thu, 2 Jan 2020 02:05:02 +0000 (21:05 -0500)]
configure.ac: add --enable-undefined-sanitizer
For UBSan
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Donald Sharp [Wed, 1 Jan 2020 13:36:23 +0000 (08:36 -0500)]
Merge pull request #5594 from ton31337/feature/rhel8_docker
docker: Create build for CentOS 8
Donald Sharp [Wed, 1 Jan 2020 13:35:31 +0000 (08:35 -0500)]
Merge pull request #5593 from ton31337/feature/rhel8_rpm
packaging: Add CentOS 8 support
Donatas Abraitis [Wed, 1 Jan 2020 07:33:32 +0000 (09:33 +0200)]
Merge pull request #5602 from donaldsharp/ripng_redistribute
Rip redistribute fixes
Donald Sharp [Tue, 31 Dec 2019 23:48:06 +0000 (18:48 -0500)]
ripd: Fix redistribute/no redistribute rinse repeate commands
ripd was using zclient_redistribute for installation but not
for removal. As such the lib/zclient.c was not properly tracking
add/removal. I think it would be best to just let rip to track
this instead of zclient.
Fixes: #5599
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Donald Sharp [Tue, 31 Dec 2019 23:41:16 +0000 (18:41 -0500)]
ripngd: Fix redistribute/no redistribute rinse repeat commands
ripngd was using zclient_redistribute for installation but not
for removal. As such the lib/zclient.c was not properly tracking
add/removal. I think it would be best to just let ripng to track
this instead of zclient.
Fixes: #5599
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Donald Sharp [Tue, 31 Dec 2019 14:11:11 +0000 (09:11 -0500)]
Merge pull request #5589 from ton31337/fix/send_fsm_error_notification_where_needed
bgpd: Send notification to the peer on FSM error
Donald Sharp [Tue, 31 Dec 2019 14:10:04 +0000 (09:10 -0500)]
Merge pull request #5595 from ton31337/fix/bgp_listen_definition
bgpd: Change description for `[no] bgp listen limit` commands
Donatas Abraitis [Tue, 31 Dec 2019 12:19:35 +0000 (14:19 +0200)]
Merge pull request #5598 from zoltan/bgp_cfg_typo
bgpd: fix console typo
Donatas Abraitis [Tue, 31 Dec 2019 09:07:44 +0000 (11:07 +0200)]
Merge pull request #5597 from chiragshah6/evpn_dev2
bgpd: skip ra for blackhole nexthop type
Zoltan Arnold Nagy [Mon, 30 Dec 2019 18:32:18 +0000 (19:32 +0100)]
bgpd: fix console typo
The console printout had a typo for the number of configured peers label.
Signed-off-by: Zoltan Arnold Nagy <zoltan.arnold.nagy@gmail.com>
Donatas Abraitis [Mon, 30 Dec 2019 15:11:04 +0000 (17:11 +0200)]
bgpd: Send notification to the peer on FSM error
We should send a NOTIFICATION message with the Error Code Finite State
Machine Error if we receive NOTIFICATION in OpenSent state
as defined in https://tools.ietf.org/html/rfc4271#section-8.2.2
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
Chirag Shah [Tue, 3 Dec 2019 20:08:01 +0000 (12:08 -0800)]
bgpd: skip ra for blackhole nexthop type
bgp nexthop cache update triggers RA for global ipv6
nexthop update.
In case of blackhole route type the outgoing interface
information is NULL which leads to bgpd crash.
Skip sending RA for blackhole nexthop type.
Ticket:CM-27299
Reviewed By:
Testing Done:
Configure bgp neighbor over global ipv6 address.
Configure static blackhole route with prefix includes
connected ipv6 global address.
Upon link flap, zebra sends nexthop update to bgp.
Bgp nexthop cache skips sending RA for blackhole nexthop type.
router bgp 65002
bgp router-id 91.189.93.190
...
neighbor 2001:67c:1360::b peer-group internal
static route:
ipv6 route 2001:67c:1360::/48 Null0 254
iface rowlink.4010
address 91.189.93.190/32
address 2001:67c:1360::a/128
Trigger ifdown rowlink.4010; ifup rowlink.4010
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
Donatas Abraitis [Sun, 29 Dec 2019 19:11:01 +0000 (21:11 +0200)]
Merge pull request #5596 from donaldsharp/md5_doc
doc: Add bgp neighbor password command
Donald Sharp [Fri, 27 Dec 2019 14:20:38 +0000 (09:20 -0500)]
doc: Add bgp neighbor password command
The bgp neighbor password command was not documented additionally
the fact that you may need to instruct the kernel to have more
memory available for tcp sockets when using this feature on a large
number of peers.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Donatas Abraitis [Fri, 27 Dec 2019 13:36:28 +0000 (15:36 +0200)]
bgpd: Change description for `[no] bgp listen limit` commands
It's quite confusing when you see this:
```
exit1-debian-9(config-router)# bgp listen
listen Configure BGP defaults
```
And:
```
exit1-debian-9(config-router)# no bgp listen
listen unset maximum number of BGP Dynamic Neighbors that can be created
```
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
Donatas Abraitis [Fri, 27 Dec 2019 12:08:31 +0000 (14:08 +0200)]
docker: Create build for CentOS 8
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
Donatas Abraitis [Fri, 27 Dec 2019 09:38:48 +0000 (11:38 +0200)]
packaging: Fix bogus date in frr.spec.in
```
RPM build errors:
bogus date in %changelog: Sun May 28 2018 Rafael Zalamena <rzalamena@opensourcerouting.org> - 7.3_dev_MyRPMVersion
```
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
Donatas Abraitis [Fri, 27 Dec 2019 09:04:35 +0000 (11:04 +0200)]
doc: Use proper numbering for `packaging-redhat.rst`
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
Donatas Abraitis [Thu, 26 Dec 2019 20:34:55 +0000 (22:34 +0200)]
doc: Add a section in `Building FRR` for CentOS 8
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
Donatas Abraitis [Mon, 23 Dec 2019 17:24:19 +0000 (19:24 +0200)]
packaging: Adopt frr.spec.in to CentOS 8
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
Philippe Guibert [Thu, 26 Dec 2019 16:46:08 +0000 (17:46 +0100)]
Merge pull request #5350 from sworleys/Fix-NS-Defualt-Info
zebra: Fix default ns->info should point to default zebra_ns
Jafar Al-Gharaibeh [Sun, 22 Dec 2019 18:45:40 +0000 (12:45 -0600)]
Merge pull request #5579 from donaldsharp/pim_ip_mroute_last
vtysh: Ensure interface `ip mroute ...` commands are last
Jafar Al-Gharaibeh [Sun, 22 Dec 2019 18:45:00 +0000 (12:45 -0600)]
Merge pull request #5584 from qlyoung/pim-fix-iph-trust
pimd: readd iph length checks
Jafar Al-Gharaibeh [Sun, 22 Dec 2019 18:37:37 +0000 (12:37 -0600)]
Merge pull request #5583 from donaldsharp/multicast_nh
bgpd: Allow ipv4 multicast to use v4 nexthops
Quentin Young [Sun, 22 Dec 2019 18:36:39 +0000 (13:36 -0500)]
Merge pull request #5581 from Jafaral/pimroute-rf
pimd: refactor ip mroute cmd
Jafar Al-Gharaibeh [Sun, 22 Dec 2019 18:36:08 +0000 (12:36 -0600)]
Merge pull request #5585 from qlyoung/fix-pimd-mtrace-missing-length-check
pimd: fix missing igmp mtrace length check
Quentin Young [Sun, 22 Dec 2019 01:19:47 +0000 (20:19 -0500)]
pimd: readd iph length checks
Kernel might not hand us a bad packet, but better safe than sorry here.
Validate the IP header length field. Also adds an additional check that
the packet length is sufficient for an IGMP packet, and a check that we
actually have enough for an ip header at all.
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Donatas Abraitis [Sun, 22 Dec 2019 18:16:47 +0000 (20:16 +0200)]
Merge pull request #5268 from qlyoung/vrrp-vrf
VRRP VRF support
Quentin Young [Sun, 22 Dec 2019 02:02:15 +0000 (21:02 -0500)]
pimd: fix missing igmp mtrace length check
We check that the IGMP message is sufficently sized for an mtrace query,
but not a response, leading to uninitialized stack read.
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Donald Sharp [Sat, 21 Dec 2019 01:06:56 +0000 (20:06 -0500)]
bgpd: Allow ipv4 multicast to use v4 nexthops
When passing a v4 multicast route to a peer send
the v4 nexthop as a preferred methodology.
Fixes: #5582
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Jafar Al-Gharaibeh [Fri, 20 Dec 2019 21:30:55 +0000 (15:30 -0600)]
pimd: refactor ip mroute cmd
combine:
ip mroute INTERFACE A.B.C.D
ip mroute INTERFACE A.B.C.D A.B.C.D
into:
ip mroute INTERFACE A.B.C.D [A.B.C.D]
Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
Mark Stapp [Fri, 20 Dec 2019 19:05:07 +0000 (14:05 -0500)]
Merge pull request #5567 from opensourcerouting/bring-them-back
lib: fix build of the northbound plugins
Quentin Young [Fri, 20 Dec 2019 18:06:29 +0000 (13:06 -0500)]
Merge pull request #5563 from mjstapp/fix_nhg_depends_find
zebra: improve efficiency of depends_find()
Donald Sharp [Fri, 20 Dec 2019 14:47:30 +0000 (09:47 -0500)]
vtysh: Ensure interface `ip mroute ...` commands are last
Ensure when displaying interface based ip mroute commands that they
are last.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Donald Sharp [Fri, 20 Dec 2019 13:28:41 +0000 (08:28 -0500)]
Merge pull request #5574 from ton31337/fix/no_bgp_listen_range_peer-group
bgpd: Make sure we can use `no bgp listen range ...`
Donatas Abraitis [Thu, 19 Dec 2019 20:09:47 +0000 (22:09 +0200)]
bgpd: Make sure we can use `no bgp listen range ...`
Fixes:
```
exit1-debian-9(config-router)# no bgp listen range 192.168.10.0/24 peer-group TEST
% Peer-group does not exist
exit1-debian-9(config-router)#
```
Closes https://github.com/FRRouting/frr/issues/5570
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
Renato Westphal [Thu, 19 Dec 2019 15:44:37 +0000 (12:44 -0300)]
lib: fix build of the northbound plugins
Commit
1b3e9a21dd4 removed the global visibility of the yang_modules
variable, breaking the build of all northbound plugins. Revert a
small part of that commit to fix this issue.
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
Donald Sharp [Thu, 19 Dec 2019 14:55:19 +0000 (09:55 -0500)]
Merge pull request #5566 from ton31337/fix/ebgp-requires-policy_with_ibgp
bgpd: Do not apply eBGP policy for iBGP peers
Donatas Abraitis [Thu, 19 Dec 2019 09:26:18 +0000 (11:26 +0200)]
Merge pull request #5543 from Jafaral/routerid
zebra: add 'show router-id'
Donatas Abraitis [Thu, 19 Dec 2019 08:53:05 +0000 (10:53 +0200)]
tests: Test if eBGP policy is not applied to iBGP peers
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
Donatas Abraitis [Thu, 19 Dec 2019 08:51:13 +0000 (10:51 +0200)]
bgpd: Do not apply eBGP policy for iBGP peers
Treat iBGP peers as they have a policy applied.
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
Donatas Abraitis [Thu, 19 Dec 2019 08:09:39 +0000 (10:09 +0200)]
Merge pull request #5549 from donaldsharp/automated
doc: Update workflow to include new automated testing Requirement
Donatas Abraitis [Thu, 19 Dec 2019 08:09:23 +0000 (10:09 +0200)]
Merge pull request #5561 from qlyoung/doc-update-overview
Doc update overview
Sri Mohana Singamsetty [Thu, 19 Dec 2019 05:13:49 +0000 (21:13 -0800)]
Merge pull request #5564 from taspelund/end-of-rib_notification
bgpd: Remove misleading 'NOTIFICATION' string from End-of-RIB log
Quentin Young [Wed, 18 Dec 2019 21:01:44 +0000 (16:01 -0500)]
vrrpd: support namespace vrf too
-.-
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Trey Aspelund [Wed, 18 Dec 2019 20:58:26 +0000 (15:58 -0500)]
bgpd: Remove misleading 'NOTIFICATION' string from End-of-RIB log
'NOTIFICATION' string in this message incorrectly implies a BGP
Notification message was the cause of this log. Removing it to
reduce confusion and replacing with function name.
Signed-off-by: Trey Aspelund <taspelund@cumulusnetworks.com>
Quentin Young [Wed, 18 Dec 2019 20:58:08 +0000 (15:58 -0500)]
lib: document vrf_socket(), vrf_bind()
These two don't really do what you might expect, document them
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Mark Stapp [Wed, 18 Dec 2019 20:34:37 +0000 (15:34 -0500)]
zebra: improve efficiency of depends_find()
Do less malloc and free in depends_find(), when looking for
a singleton nexthop in the nhg hash.
Signed-off-by: Mark Stapp <mjs@voltanet.io>
Quentin Young [Wed, 18 Dec 2019 19:14:36 +0000 (14:14 -0500)]
doc: fix duplicate -S option in bgpd manpage
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Quentin Young [Wed, 18 Dec 2019 19:09:31 +0000 (14:09 -0500)]
doc: update overview.rst for the new millennium
Provide a more succinct summary of what FRR is, what it does, where it
sits in the network stack. Also remove some outdated comments about
features.
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Quentin Young [Wed, 18 Dec 2019 19:20:25 +0000 (14:20 -0500)]
Merge pull request #5559 from mjstapp/fix_test_typelist
tests: fix endian bug in test_typelist
Mark Stapp [Wed, 18 Dec 2019 18:44:04 +0000 (13:44 -0500)]
Merge pull request #5556 from donaldsharp/ospf_use_after
ospfd: Prevent use after free on shutdown
Mark Stapp [Wed, 18 Dec 2019 15:52:08 +0000 (10:52 -0500)]
tests: fix endian bug in test_typelist
Fix a byte-swapping bug that appeared on big-endian arch but
wasn't visible on little-endian runs.
Signed-off-by: Mark Stapp <mjs@voltanet.io>
Donald Sharp [Wed, 18 Dec 2019 14:23:38 +0000 (09:23 -0500)]
ospfd: Prevent use after free on shutdown
Address Sanitizer is reporting this issue:
==26177==ERROR: AddressSanitizer: heap-use-after-free on address 0x6120000238d8 at pc 0x7f88f7c4fa93 bp 0x7fff9a641830 sp 0x7fff9a641820
READ of size 8 at 0x6120000238d8 thread T0
#0 0x7f88f7c4fa92 in if_delete lib/if.c:290
#1 0x42192e in ospf_vl_if_delete ospfd/ospf_interface.c:912
#2 0x42192e in ospf_vl_delete ospfd/ospf_interface.c:990
#3 0x4a6208 in no_ospf_area_vlink ospfd/ospf_vty.c:1227
#4 0x7f88f7c1553d in cmd_execute_command_real lib/command.c:1073
#5 0x7f88f7c19b1e in cmd_execute_command lib/command.c:1132
#6 0x7f88f7c19e8e in cmd_execute lib/command.c:1288
#7 0x7f88f7cd7523 in vty_command lib/vty.c:516
#8 0x7f88f7cd79ff in vty_execute lib/vty.c:1285
#9 0x7f88f7cde4f9 in vtysh_read lib/vty.c:2119
#10 0x7f88f7ccb845 in thread_call lib/thread.c:1549
#11 0x7f88f7c5d6a7 in frr_run lib/libfrr.c:1093
#12 0x412976 in main ospfd/ospf_main.c:221
#13 0x7f88f73b082f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)
#14 0x413c78 in _start (/usr/local/master/sbin/ospfd+0x413c78)
Effectively we are in a shutdown phase and as part of shutdown we delete the
ospf interface pointer ( ifp->info ). The interface deletion code
was modified in the past year to pass in the address of operator
to allow us to NULL out the holding pointer. The catch here
is that we free the oi and then delete the interface passing
in the address of the oi->ifp pointer, causing a use after free.
Fixes: #5555
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Donatas Abraitis [Wed, 18 Dec 2019 06:06:31 +0000 (08:06 +0200)]
Merge pull request #5552 from sworleys/NHG-Set-RTNH_F_ONLINK
zebra: set RTNH_F_ONLINK in nexthop creation
Jafar Al-Gharaibeh [Tue, 17 Dec 2019 06:02:12 +0000 (00:02 -0600)]
zebra: add 'show router-id'
router-id is buried deep in "show running-config", this new
command makes it easy to retrieve the user configured router-id.
Example:
# configure terminal
(config)# router-id 1.2.3.4
(config)# end
# show router-id
router-id 1.2.3.4
# configure terminal
(config)# no router-id 1.2.3.4
(config)# end
# show router-id
#
Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
Quentin Young [Tue, 17 Dec 2019 20:17:35 +0000 (15:17 -0500)]
Merge pull request #5514 from Jafaral/nhrp-docs
doc: add discussion for a handful of nhrp commands
Donald Sharp [Tue, 17 Dec 2019 15:32:37 +0000 (10:32 -0500)]
doc: Update workflow to include new automated testing Requirement
Update the workflow.rst file to outline new requirement for
features to include automated testing of some sort.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Stephen Worley [Tue, 17 Dec 2019 19:24:22 +0000 (14:24 -0500)]
zebra: set RTNH_F_ONLINK in nexthop creation
We were not setting the RTNH_F_ONLINK flag where appropriate
when creating nexthop objects in the kernel.
Set it on the nhmsg.nh_flags netlink message.
Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
Jafar Al-Gharaibeh [Tue, 17 Dec 2019 17:03:09 +0000 (11:03 -0600)]
doc: add discussion for a handful of nhrp commands
Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
Quentin Young [Tue, 17 Dec 2019 16:18:55 +0000 (11:18 -0500)]
Merge pull request #5548 from mjstapp/vty_nhg_alias
vtysh: add an alias for the nexthop-group config targets
Quentin Young [Tue, 17 Dec 2019 15:05:13 +0000 (10:05 -0500)]
Merge pull request #5508 from ton31337/feature/show_ip_route_summary_json
zebra: Print json output for show_route_summary_cmd
Mark Stapp [Tue, 17 Dec 2019 14:56:26 +0000 (09:56 -0500)]
vtysh: add an alias for the nexthop-group config targets
Use an alias for the daemons who process the nexthop-group
config cli; makes it easier to expand that list in the future.
Signed-off-by: Mark Stapp <mjs@voltanet.io>
Russ White [Tue, 17 Dec 2019 13:30:37 +0000 (08:30 -0500)]
Merge pull request #5541 from sworleys/NHG-Fixes
zebra: a couple nhg fixes
Russ White [Tue, 17 Dec 2019 13:29:46 +0000 (08:29 -0500)]
Merge pull request #5540 from sworleys/NH-Defualt-Weight-One
lib: default nexthop weights to one
Donatas Abraitis [Tue, 17 Dec 2019 10:49:30 +0000 (12:49 +0200)]
bgpd: Print pretty json output for bgp_show_table()
This is not very cool:
```
{
"vrfId": 0,
"vrfName": "default",
"tableVersion": 4,
"routerId": "192.168.0.1",
"defaultLocPrf": 100,
"localAS": 200,
"routes": { "10.0.0.150/32": [{"valid":true,"bestpath":true,"pathFrom":"external","prefix":"10.0.0.150","prefixLen":32,"network":"10.0.0.150\/32","med":0,"metric":0,"weight":32768,"peerId":"(unspec)","aspath":"200 200 200","path":"200 200 200","origin":"incomplete","nexthops":[{"ip":"0.0.0.0","afi":"ipv4","used":true}]}],"10.0.0.200/32": [{"valid":true,"bestpath":true,"pathFrom":"external","prefix":"10.0.0.200","prefixLen":32,"network":"10.0.0.200\/32","med":0,"metric":0,"weight":32768,"peerId":"(unspec)","aspath":"200 200 200","path":"200 200 200","origin":"incomplete","nexthops":[{"ip":"0.0.0.0","afi":"ipv4","used":true}]}],"10.0.2.0/24": [{"valid":true,"bestpath":true,"pathFrom":"external","prefix":"10.0.2.0","prefixLen":24,"network":"10.0.2.0\/24","med":0,"metric":0,"weight":32768,"peerId":"(unspec)","aspath":"200 200 200","path":"200 200 200","origin":"incomplete","nexthops":[{"ip":"0.0.0.0","afi":"ipv4","used":true}]}],"192.168.0.0/24": [{"valid":true,"bestpath":true,"pathFrom":"external","prefix":"192.168.0.0","prefixLen":24,"network":"192.168.0.0\/24","med":0,"metric":0,"weight":32768,"peerId":"(unspec)","aspath":"200 200 200","path":"200 200 200","origin":"incomplete","nexthops":[{"ip":"0.0.0.0","afi":"ipv4","used":true}]}] } }
```
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
Donatas Abraitis [Tue, 17 Dec 2019 10:39:40 +0000 (12:39 +0200)]
bgpd: Adjust warning message for bgp_show_regexp()
Before it was:
```
exit1-debian-9# show ip bgp regexp ^200a
Invalid character in as-path access-list ^200a
```
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>