Commit Graph

19585 Commits

Author SHA1 Message Date
Donald Sharp
0783b36d0e ripd, ripngd: Free up list after call into nb_cli_rpc
We have a clear memory leak after running `clear ip rip`
Fix this.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-12-12 18:48:04 -05:00
Jafar Al-Gharaibeh
297def9386
Merge pull request #5531 from qlyoung/fix-ospf-ip-hl-trust
Fix ospf ip hl trust
2019-12-12 13:19:36 -06:00
Mark Stapp
1f6a5aca26 zebra: handle route notification with no nexthops
Handle the special case where a route update contains
no installed nexthops - that means the route is not
installed.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2019-12-12 12:55:51 -05:00
Donatas Abraitis
e7deb7e791 zebra: Print json output for show_route_summary_cmd
```
spine1-debian-9# sh ip route summary json
{
  "routes":[
    {
      "fib":1,
      "rib":1,
      "type":"kernel"
    },
    {
      "fib":11,
      "rib":11,
      "type":"connected"
    },
    {
      "fib":2,
      "rib":2,
      "type":"ebgp"
    },
    {
      "fib":1,
      "rib":1,
      "type":"ibgp"
    }
  ],
  "routesTotal":15,
  "routesTotalFib":15
}
spine1-debian-9# sh ipv6 route summary json
{
  "routes":[
    {
      "fib":7,
      "rib":7,
      "type":"connected"
    }
  ],
  "routesTotal":7,
  "routesTotalFib":7
}
```

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2019-12-12 17:20:11 +02:00
Liam McBirnie
771ce8ad24 pimd: Add command to join any-source multicast.
Allow 'ip igmp join' to join group for any source if no source is
specified.
Disallow joining source "0.0.0.0" as it is used to define an
any-source multicast group.

Signed-off-by: Liam McBirnie <liam.mcbirnie@boeing.com>
2019-12-12 13:09:46 +01:00
Donatas Abraitis
6d9a2ec9b4 tests: Test if ip and fqdn are included in show [ip] bgp json
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2019-12-12 10:35:54 +02:00
Donatas Abraitis
515c260288 bgpd: Show ip and fqdn in json output for show [ip] bgp <route> json
This should keep backward compatibility when bgp show-hostname is
enabled/disabled.

Also show the real originator IP instead of showing fqdn of the route
reflector.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2019-12-12 10:35:29 +02:00
Quentin Young
e947b307fc ospfd: tiny style fix
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-12-12 01:03:18 -05:00
Quentin Young
5405a012b4 ospfd: sizeof(pointer) -> sizeof(pointed-at)
14 years old eh?

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-12-12 01:03:18 -05:00
Quentin Young
01e3c3764d ospfd: fix misplaced trust in ip header length
We actually don't validate the IHL field, although it certainly looks
like we do at a casual glance.

This patch saves us from an assert in case we actually do get an IP
packet with an incorrect header length field.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-12-12 01:03:13 -05:00
Donald Sharp
2003a265bb
Merge pull request #5528 from opensourcerouting/bmp-dns-fixing
BMP: improve active outbound connection details
2019-12-11 13:22:34 -05:00
David Lamparter
7f2c2596e3
bgpd: Allow failed hostname lookup to continue in bmp (#5399)
bgpd: Allow failed hostname lookup to continue in bmp
2019-12-11 19:21:18 +01:00
Donald Sharp
37f4c2fb02
Merge pull request #5494 from opensourcerouting/mlag-module
zebra: create zebra_cumulus_mlag module
2019-12-11 13:14:02 -05:00
Mark Stapp
4c0b5436f9 zebra: accept async notification for un-install
Handle an async notification when a route-update operation
uninstalls one route in favor of another.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2019-12-11 11:22:53 -05:00
Mark Stapp
c81c2303e6
Merge pull request #5497 from donaldsharp/unequality_ecmp
Unequality ecmp
2019-12-11 11:02:15 -05:00
Mark Stapp
9880c0f3ae
Merge pull request #5527 from opensourcerouting/skiplist-uninit-warning
lib/skiplist: fix gcc-9 used-uninitialized warning
2019-12-11 09:03:08 -05:00
David Lamparter
150470da79 bgpd/bmp: print active outbound connections
... including timer & details about current state and last failure.

Fixes: #5401
Signed-off-by: David Lamparter <equinox@diac24.net>
2019-12-11 13:36:24 +01:00
David Lamparter
3286ca0750 lib,nhrpd,bgpd/bmp: pass resolver failure details
To keep the calling code agnostic of the DNS resolver libary used, pass
a strerror-style string instead of a status code that would need extra
handling.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-12-11 13:33:36 +01:00
David Lamparter
9e89da8c55 bgpd/bmp: actually print uptime
Forgot to replace the stub here when finishing up...

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-12-11 12:34:56 +01:00
David Lamparter
125dc9525b lib/resolver: support/bypass IP literals
libc-ares doesn't do IP literals, so we have to do that before running
off to do DNS.  Since this isn't BMP specific, move to lib/ so NHRP can
benefit too.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-12-11 12:27:05 +01:00
David Lamparter
6ce59f0bfe lib/skiplist: fix gcc-9 used-uninitialized warning
Under some circumstances (apparently depends on several optimization
flags), gcc-9 throws an used-uninitialized warning for this variable in
the skiplist code.  Just initialize to NULL.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-12-11 11:44:52 +01:00
David Lamparter
668b6011b3 zebra: fix sign-compare warning in cumulus mlag
This trips up the CI on Ubuntu 16.04.  (I guess the code wasn't getting
built there before...)

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-12-11 11:41:54 +01:00
David Lamparter
d621815a0e zebra: create zebra_cumulus_mlag module
This is pretty much just to get rid of the HAVE_CUMULUS.  The
hook/module API is as "wtf" as it was before...

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-12-11 11:40:47 +01:00
Donald Sharp
659a3e4288
Merge pull request #5517 from mjstapp/fix_evpn_state
zebra: use correct state when installing evpn macs
2019-12-10 17:14:34 -05:00
Donald Sharp
5857e8411a
Merge pull request #5521 from mjstapp/fix_pim_upstream_sa
pimd: clear SA warning in pimd
2019-12-10 17:14:03 -05:00
Mark Stapp
174d3891ab pimd: clear SA warning in pimd
Remove a dead store in pim_upstream.c to clear up an SA
warning.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2019-12-10 12:10:44 -05:00
David Lamparter
2d7932e153
Fix bgp transit double free (#5436)
Fix bgp transit double free
2019-12-10 17:56:57 +01:00
Russ White
7d708d3c01
Merge pull request #5511 from Jafaral/ipmroute
doc: document ip mroute static route cmd
2019-12-10 08:55:57 -05:00
Renato Westphal
531868034a
Merge pull request #5513 from m-varasteh/fix-running-entry-in-vrf-change
lib: fixes invalid running_entry when VRF is changed
2019-12-10 10:03:01 -03:00
Donatas Abraitis
e9613d32cc
Merge pull request #5429 from Spantik/bug_fix
BGP: BGP assert when it tries to access peer which is closed.
2019-12-10 09:43:28 +02:00
Mahdi Varasteh
ced28861d4 lib: fixes invalid running_entry when VRF is changed
we just unset the entry from old node and add it to the new one

Signed-off-by: Mahdi Varasteh <mahdy.varasteh@gmail.com>
2019-12-10 08:38:45 +03:30
Jafar Al-Gharaibeh
6a40ad3ee1 doc: document ip mroute static route cmd
Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
2019-12-09 16:55:14 -06:00
Renato Westphal
c3a964360d
Merge pull request #5509 from manuhalo/fix_isis_circ_del
isisd: clean ipv4/6 circuit config on destroy
2019-12-09 18:34:49 -03:00
Mark Stapp
e1f3a8eb19 lib,zebra: add api to enforce nexthop sort order when copying
Add an api that creates a copy of a list of nexthops and
enforces the canonical sort ordering; consolidate some nhg
code to avoid copy-and-paste. The zebra dplane uses
that api when a plugin sets up a list of nexthops, ensuring
that the plugin's list is ordered when it's processed in
zebra.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2019-12-09 16:25:53 -05:00
Mark Stapp
1c30d64bb6 zebra: align dplane notify processing with nhg work
The processing of dataplane route notifications was a little
off-target after the nexthop-group re-work. This should allow
notifications to work better.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2019-12-09 16:19:14 -05:00
Quentin Young
534b98f925 vrrpd, yang: cleanup vrrp nb conversion
- Use correct units and conversions in model & code
- Fix incorrect CLI help string for V6 virtual addrs
- Fix nb get-entry callback for virtual router
- Fix a couple style nits
- Simplify some CLI code
- Remove unused code
- Remove unused YANG definitions
- Update sighup() to handle reloads
- Update interface level config writer to use NB callbacks
- Add simplified `no` forms for priority and advertisement-interval
  commands

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-12-09 16:05:01 -05:00
Quentin Young
0dad8e91b7 lib: add ipaddr_isset()
Compare ip address against 0

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-12-09 14:39:18 -05:00
Quentin Young
4c5b9faef5 yang: add org, description data to vrrp model
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-12-09 14:39:18 -05:00
Quentin Young
6356b28642 vrrpd: remove unused variables
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-12-09 14:39:18 -05:00
Quentin Young
5084ff592e vrrpd: remove unused variable in nb
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-12-09 14:39:18 -05:00
Quentin Young
f495425b64 vrrpd: northbound conversion
Convert VRRPD to use the northbound API.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-12-09 14:39:18 -05:00
Quentin Young
e6a70ae8f1 yang: add opderdata & slight reorg for vrrp
- Move virtual address configs to be under the version specific (v4/v6)
  nodes
- Add lots of operdata

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-12-09 14:39:18 -05:00
Quentin Young
4d12b27efe yang: add v2 support to vrrp yang model
This adds support for VRRPv2 to the VRRP YANG model, which entails the
following changes:

- Add a version leaf with a default of 3
- Split v4 and v6 vritual addresses into separate lists, with
  constraints on v6 addresses to only exist when the version is 3

General improvements:

- Remove unused config groupings
- Add administrative shutdown leaf
- Split state reporting into v4 and v6 blocks, since these are
  considered separate virtual routers

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-12-09 14:39:18 -05:00
Quentin Young
2ea09c7379 yang: update vrrp yang model
Remove config / state blocks; this is an OpenConfig-ism that is not
relevant for FRR

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-12-09 14:39:18 -05:00
Quentin Young
21a22f4cd2 yang: add vrrp yang model
Adapted from OpenConfig. Changes:
- Interface tracking commented out (unsupported)
- Preemption delay commented out (unsupported)
- Accept_Mode default changed to 'true'

Also linted and stylized.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-12-09 14:39:18 -05:00
Quentin Young
9323f278f3 vrrpd: allow vrrp_shutdown() on shutdown rtr
No need for a state check before the call, although still a good idea

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-12-09 14:39:18 -05:00
Quentin Young
fb8b348cc1 vrrpd: const vrrp_lookup()
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-12-09 14:39:18 -05:00
Quentin Young
671fd2a318 vrrpd: make vrrp_[add|del]_ip not insane
For some reason I made these functions require you to pass the correct
(v4 or v6) router when we could determine it from the type of address
passed; fix this

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-12-09 14:39:18 -05:00
Donald Sharp
597371a615 lib: Add weight to nexthop for nexthop-group nexthops
Add the ability to read in the weight of a nexthop and store/handle
it appropriately

nexthop-group BLUE
  nexthop 192.168.201.44 weight 33
  nexthop 192.168.201.45 weight 66
  nexthop 192.168.201.46 weight 99

Is appropriately read in and handled as appropriate.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-12-09 13:39:59 -05:00
Donald Sharp
bd054c1aa2 lib, zebra: Allow for encode/decode of nexthop weight in pass down
Add code to encode/decode the nexthop weight when we pass it down
into zebra.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-12-09 13:37:37 -05:00