]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
4 years agotests: Add a test for 'neighbor <neighbor> default-originate route-map <rm>'
Donatas Abraitis [Wed, 27 Nov 2019 20:50:21 +0000 (22:50 +0200)]
tests: Add a test for 'neighbor <neighbor> default-originate route-map <rm>'

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agoMerge pull request #5623 from qlyoung/fix-zebra-rtadv-interval-overflow
Renato Westphal [Tue, 7 Jan 2020 02:51:44 +0000 (23:51 -0300)]
Merge pull request #5623 from qlyoung/fix-zebra-rtadv-interval-overflow

zebra: disallow negative rtadv intvl, fix overflow

4 years agoMerge pull request #5625 from qlyoung/fix-zapi-ipset-name-nullterm
Renato Westphal [Tue, 7 Jan 2020 02:47:41 +0000 (23:47 -0300)]
Merge pull request #5625 from qlyoung/fix-zapi-ipset-name-nullterm

zebra: ensure ipset name is null terminated

4 years agoMerge pull request #5614 from qlyoung/fix-zebra-zapi-crashes
Renato Westphal [Tue, 7 Jan 2020 02:45:49 +0000 (23:45 -0300)]
Merge pull request #5614 from qlyoung/fix-zebra-zapi-crashes

Fix zebra zapi crashes

4 years agoMerge pull request #5580 from mjstapp/zebra_nhg_debug_category
Renato Westphal [Tue, 7 Jan 2020 02:44:23 +0000 (23:44 -0300)]
Merge pull request #5580 from mjstapp/zebra_nhg_debug_category

zebra: add a debug category for nexthops

4 years agoMerge pull request #5550 from manuhalo/fix_isis_def_level
Renato Westphal [Tue, 7 Jan 2020 02:43:07 +0000 (23:43 -0300)]
Merge pull request #5550 from manuhalo/fix_isis_def_level

isisd, yang: set default is-type to level-1-2

4 years agoMerge pull request #5546 from mjstapp/fix_notify_nht
Donald Sharp [Tue, 7 Jan 2020 01:34:24 +0000 (20:34 -0500)]
Merge pull request #5546 from mjstapp/fix_notify_nht

zebra: route changes via notify path should trigger nht

4 years agoMerge pull request #5553 from slankdev/slankdev-fix-kernel-route-deletion-on-vrf
Donald Sharp [Tue, 7 Jan 2020 01:32:16 +0000 (20:32 -0500)]
Merge pull request #5553 from slankdev/slankdev-fix-kernel-route-deletion-on-vrf

zebra: fix kernel-route's deletion on vrf

4 years agoMerge pull request #5621 from qlyoung/fix-zclient-excess-nexthop-decode
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

4 years agoMerge pull request #5626 from qlyoung/fix-zapi-pbr-foo
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

4 years agoMerge pull request #5622 from qlyoung/fix-iface-ifindex-compare
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

4 years agolib: dont decode more nexthops than we can handle
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>
4 years agoMerge pull request #5607 from ton31337/fix/deprecate_bgpTimerUp
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

4 years agoMerge pull request #5606 from ton31337/fix/docker_centos8_image_name
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

4 years agoMerge pull request #5632 from ton31337/fix/dont_use_pipes
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)

4 years agoMerge pull request #5545 from ton31337/feature/show_bgp_json_regexp
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

4 years agozebra: route changes via notify path trigger nht and mpls
Mark Stapp [Tue, 17 Dec 2019 14:21:21 +0000 (09:21 -0500)]
zebra: route changes via notify path trigger nht and mpls

Changes to a route via the dataplane notify path should
trigger nht and mpls lsp processing.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agoMerge pull request #5618 from qlyoung/fix-san-flags-additive
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

4 years agoMerge pull request #5619 from qlyoung/fix-zebra-netlink-undefined-bitshift
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

4 years agoMerge pull request #5630 from slankdev/slankdev-bgpd-fix-large-rd
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

4 years agobgpd: 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>
4 years agoMerge pull request #5467 from pogojotz/alpine-linux-build
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

4 years agoMerge pull request #5601 from donaldsharp/pim_rb
Donatas Abraitis [Sun, 5 Jan 2020 20:07:00 +0000 (22:07 +0200)]
Merge pull request #5601 from donaldsharp/pim_rb

Pim rb

4 years agopackaging: Redirect stderr to /dev/null in %post action (frr.spec.in)
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>
4 years agozebra: fix undefined bitshifts in netlink stuff
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>
4 years agozebra: null terminate interface name from wire
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>
4 years agozebra: fix iptable memleak, fix free funcs
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>
4 years agozebra: ensure ipset name is null terminated
Quentin Young [Sat, 4 Jan 2020 02:40:30 +0000 (21:40 -0500)]
zebra: ensure ipset name is null terminated

We copy a fixed length buffer from the wire but don't ensure it is null
terminated. Then print it as a c-string. Lul.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
4 years agozebra: disallow negative rtadv intvl, fix overflow
Quentin Young [Sat, 4 Jan 2020 01:26:09 +0000 (20:26 -0500)]
zebra: disallow negative rtadv intvl, fix overflow

- Disallow RA interval < 0
- Fix integer overflow issue converting interval to seconds from
  milliseconds
- Add missing "m" to "ms"

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
4 years agolib: fix ifindex comparison overflow
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>
4 years agobgpd: Time to deprecate bgpTimerUp
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>
4 years agodocker: Use proper container name when creating CentOS 8 container
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>
4 years agoMerge pull request #5611 from qlyoung/fix-bgp-no-listen-docstring
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

4 years agoconfigure.ac: make msan & ubsan flags additive
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>
4 years agoMerge pull request #5604 from qlyoung/add-ubsan-option
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

4 years agoMerge pull request #5615 from ton31337/feature/supported_rfc_list_add_8212
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

4 years agozebra: check pbr rule msg for correct afi
Quentin Young [Fri, 3 Jan 2020 07:12:58 +0000 (02:12 -0500)]
zebra: check pbr rule msg for correct afi

further down we hash the src & dst ip, which asserts that the afi is one
of the well known ones, given the field names i assume the correct afis
here are af_inet[6]

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
4 years agopimd: Do not warn for common occurrence in igmp code
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>
4 years agopimd: Convert the upstream_list and hash to a rb tree
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>
4 years agopimd: Convert the channel_oil_list|hash to a rb_tree
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>
4 years agodoc: Add rfc8212 to supported RFCs list
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>
4 years agozebra: use correct attr size for netlink enc
Quentin Young [Fri, 3 Jan 2020 07:12:12 +0000 (02:12 -0500)]
zebra: use correct attr size for netlink enc

a bool is not 4 bytes

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
4 years agoMerge pull request #5613 from srimohans/ietf
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

4 years agodoc: 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>
4 years agobgpd: fix too much no listen doc string
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>
4 years agoconfigure.ac: add --enable-undefined-sanitizer
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>
4 years agoMerge pull request #5594 from ton31337/feature/rhel8_docker
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

4 years agoMerge pull request #5593 from ton31337/feature/rhel8_rpm
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

4 years agoMerge pull request #5602 from donaldsharp/ripng_redistribute
Donatas Abraitis [Wed, 1 Jan 2020 07:33:32 +0000 (09:33 +0200)]
Merge pull request #5602 from donaldsharp/ripng_redistribute

Rip redistribute fixes

4 years agoripd: Fix redistribute/no redistribute rinse repeate commands
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>
4 years agoripngd: Fix redistribute/no redistribute rinse repeat commands
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>
4 years agoMerge pull request #5589 from ton31337/fix/send_fsm_error_notification_where_needed
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

4 years agoMerge pull request #5595 from ton31337/fix/bgp_listen_definition
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

4 years agoMerge pull request #5598 from zoltan/bgp_cfg_typo
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

4 years agoMerge pull request #5597 from chiragshah6/evpn_dev2
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

4 years agobgpd: fix console typo
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>
4 years agobgpd: Send notification to the peer on FSM error
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>
4 years agobgpd: skip ra for blackhole nexthop type
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>
4 years agoMerge pull request #5596 from donaldsharp/md5_doc
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

4 years agodoc: 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>
4 years agobgpd: Change description for `[no] bgp listen limit` commands
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>
4 years agodocker: Create build for CentOS 8
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>
4 years agopackaging: Fix bogus date in frr.spec.in
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>
4 years agodoc: Use proper numbering for `packaging-redhat.rst`
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>
4 years agodoc: Add a section in `Building FRR` for CentOS 8
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>
4 years agopackaging: Adopt frr.spec.in to CentOS 8
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>
4 years agoMerge pull request #5350 from sworleys/Fix-NS-Defualt-Info
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

4 years agozebra: add a debug category for nexthops
Mark Stapp [Fri, 20 Dec 2019 18:23:40 +0000 (13:23 -0500)]
zebra: add a debug category for nexthops

Add a category for nexthops and nh-groups, since we've got
quite a bit of code in there now.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agozebra: fix kernel-route's deletion on vrf
Hiroki Shirokura [Wed, 18 Dec 2019 09:05:59 +0000 (18:05 +0900)]
zebra: fix kernel-route's deletion on vrf

zebra can catch the kernel's route deletion by netlink.
but current FRR can't delete kernel-route on vrf(l3mdev)
when kernel operator delete the route on out-side of FRR.
It looks problem about kernel-route deletion.

This problem is caused around _nexthop_cmp_no_labels(nh1,nh2)
that checks the each nexthop's member 'vrf_id'.
And _nexthop_cmp_no_labels's caller doesn't set the vrf_id
of nexthop structure. This commit fix that case.

Signed-off-by: Hiroki Shirokura <slank.dev@gmail.com>
4 years agoMerge pull request #5579 from donaldsharp/pim_ip_mroute_last
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

4 years agoMerge pull request #5584 from qlyoung/pim-fix-iph-trust
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

4 years agoMerge pull request #5583 from donaldsharp/multicast_nh
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

4 years agoMerge pull request #5581 from Jafaral/pimroute-rf
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

4 years agoMerge pull request #5585 from qlyoung/fix-pimd-mtrace-missing-length-check
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

4 years agopimd: readd iph length checks
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>
4 years agoMerge pull request #5268 from qlyoung/vrrp-vrf
Donatas Abraitis [Sun, 22 Dec 2019 18:16:47 +0000 (20:16 +0200)]
Merge pull request #5268 from qlyoung/vrrp-vrf

VRRP VRF support

4 years agopimd: fix missing igmp mtrace length check
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>
4 years agobgpd: Allow ipv4 multicast to use v4 nexthops
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>
4 years agopimd: refactor ip mroute cmd
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>
4 years agoMerge pull request #5567 from opensourcerouting/bring-them-back
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

4 years agoMerge pull request #5563 from mjstapp/fix_nhg_depends_find
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()

4 years agovtysh: Ensure interface `ip mroute ...` commands are last
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>
4 years agoMerge pull request #5574 from ton31337/fix/no_bgp_listen_range_peer-group
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 ...`

4 years agobgpd: 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>
4 years agolib: fix build of the northbound plugins
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>
4 years agoMerge pull request #5566 from ton31337/fix/ebgp-requires-policy_with_ibgp
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

4 years agoMerge pull request #5543 from Jafaral/routerid
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'

4 years agotests: Test if eBGP policy is not applied to iBGP peers
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>
4 years agobgpd: Do not apply eBGP policy for iBGP peers
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>
4 years agoMerge pull request #5549 from donaldsharp/automated
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

4 years agoMerge pull request #5561 from qlyoung/doc-update-overview
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

4 years agoMerge pull request #5564 from taspelund/end-of-rib_notification
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

4 years agovrrpd: support namespace vrf too
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>
4 years agobgpd: Remove misleading 'NOTIFICATION' string from End-of-RIB log
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>
4 years agolib: document vrf_socket(), vrf_bind()
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>
4 years agozebra: improve efficiency of depends_find()
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>
4 years agodoc: fix duplicate -S option in bgpd manpage
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>
4 years agodoc: update overview.rst for the new millennium
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>
4 years agoMerge pull request #5559 from mjstapp/fix_test_typelist
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

4 years agoMerge pull request #5556 from donaldsharp/ospf_use_after
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