Commit Graph

16685 Commits

Author SHA1 Message Date
Ashish Pant
27339562f8 tests: Adding start and stop topology
Signed-off-by: Ashish Pant <ashish12pant@gmail.com>

Adding methods for staring and stopping routers in topology
2019-07-09 10:26:53 +05:30
Ashish Pant
2ad3d000f0 tests: Intial commit for topojson
Signed-off-by: Ashish Pant <ashish12pant@gmail.com>

Adding JSON parser for creating router and assinging ip addresses to
each interface
2019-07-09 10:26:53 +05:30
Quentin Young
723123f359 vrrpd: use protocol number constant
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-07-08 21:28:01 +00:00
Donald Sharp
a7001650c8
Merge pull request #4654 from manuhalo/fix_bgp_lbp_warn
bgpd: fix implicit declaration warning
2019-07-08 15:27:35 -04:00
Sri Mohana Singamsetty
20a5d5508b
Merge pull request #4631 from chiragshah6/evpn_dev1
zebra: evpn entries are not cleaned upon frr stop
2019-07-08 11:56:44 -07:00
Quentin Young
4b94b7ac92 vrrpd: set interface ifindex to internal upon deletion
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-07-08 18:35:14 +00:00
Mark Stapp
8f01efcc6a
Merge pull request #4653 from qlyoung/fix-pim-helpstringms
pimd: fix some help strings
2019-07-08 13:44:06 -04:00
Emanuele Di Pascale
668cfa9812 bgpd: fix implicit declaration warning
Add header with prototype for bgp_path_info_unlock

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2019-07-08 18:45:14 +02:00
Quentin Young
6dcd5d2a45
Merge pull request #4652 from LabNConsulting/working/master/hook_unregister
bgp: add hook_unregister to bgp_dump_finish
2019-07-08 11:33:07 -04:00
Lou Berger
376d7c5026 bgp: add hook_unregister to bgp_dump_finish
Signed-off-by: Lou Berger <lberger@labn.net>
2019-07-08 09:24:57 -04:00
Donatas Abraitis
358189ad83 filter: Introduce sequence number for access-list
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2019-07-08 11:05:31 +03:00
Donald Sharp
2e59405f4c bgpd: extend bgp routemap prefix-list to flowspec entries
Some code to cleanup bgp routemap.c a bit.
Addint to this, if a bgp flowspec entry contains a destination IP address,
then the ip address is compared against the prefix-list referenced into
the route-map used.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Signed-off-by: Donald Sharp <sharpd@cumulunetworks.com>
2019-07-08 08:36:45 +02:00
Philippe Guibert
46b890002f bgpd: discard traffic when at least traffic-rate 0 is observed
when multiple action rules are analysed in the BGP flowspec entry, if at
least the traffic-rate set to 0 is seen, then immediately create a rule
with drop rule. Previously this was not the case in case a forwarding
rule was seen.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2019-07-08 08:36:45 +02:00
Philippe Guibert
f449d22396 bgp, zebra, lib: add protocol support for iptables
in addition to support for tcpflags, it is possible to filter on any
protocol. the filtering can then be based with iptables.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2019-07-08 08:36:45 +02:00
Quentin Young
33b58e536f pimd: fix some help strings
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-07-06 00:15:27 +00:00
Philippe Guibert
fbcf1146db doc: inform user to use pytest < version 5.0
pytest intends to deprecate users not having python 2 on the system.
in order to make topotest work, just use an older pytest version.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2019-07-04 19:50:49 +02:00
Quentin Young
c682502cd7
Merge pull request #4639 from opensourcerouting/c-ares-lib
make c-ares DNS resolver available as lib
2019-07-03 16:49:19 -04:00
Quentin Young
b08c7022d8
Merge pull request #4640 from opensourcerouting/bmp-prep
bgpd: BMP preparations
2019-07-03 16:42:41 -04:00
Quentin Young
5787842b98
Merge pull request #4632 from manuhalo/fix_bgp_lu_update
bgpd: fix bgp-lu update bug
2019-07-03 14:25:18 -04:00
Quentin Young
76cff933c2
Merge pull request #4637 from opensourcerouting/fixes-20190703
isisd printfrr & clippy fixes
2019-07-03 13:28:23 -04:00
Anuradha Karuppiah
ecbbc3a750 pimd, zebra: request for replay of SG entries on startup
zvni setup in zebra is controlled via bgpd i.e. advertise_all_vni
from bgpd triggers this setup. As a part of zvni creation we may need
to setup BUM mcast SG entries which are propagated to pimd for MDT setup.

Now pimd may not be present at the time of zvni creation or may restart
post zvni creation so we need a mechanism to replay (on pimd startup) and
to cleanup (on pimd stop). This is addressed via zebra_vxlan_sg_replay and
zebra_evpn_pim_cfg_clean_up.

Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
2019-07-03 10:11:53 -07:00
Mark Stapp
d930406c16
Merge pull request #4641 from qlyoung/remove-zebra-bs-irdp
zebra: remove bs irdp error code
2019-07-03 13:05:04 -04:00
Quentin Young
9e420af742
Merge pull request #4629 from ton31337/fix/large_community_list_uint16_overflow
bgpd: Validate large-community-list against UINT_MAX
2019-07-03 12:30:21 -04:00
David Lamparter
e6a8d53dd2
Merge pull request #4638 from donaldsharp/ospf_external_delete_crash
ospfd: Do not modify list when using _RO loop
2019-07-03 18:02:29 +02:00
David Lamparter
50cdb6cf95 lib/resolver: NULL out callback before call
The callback itself might want to reschedule the resolver, so it is
useful to clear out the callback field before making the call instead of
after.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-07-03 17:15:38 +02:00
David Lamparter
fe9e7b71cf lib: split off c-ares code from nhrpd
This is useful in other places too, e.g. for BMP outbound connections.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2019-07-03 17:15:34 +02:00
David Lamparter
6fd04594bb bgpd: add packet send hook
Unlike MRT dumps, BMP also provides packets sent by the router.  Add
another hook for that.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2019-07-03 16:59:12 +02:00
David Lamparter
584470fb5f bgpd: add & use bgp packet dump hook
The MRT dump code is already hooked in at the right places to write out
packets;  the BMP code needs exactly the same access so let's make this
a hook.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2019-07-03 16:58:26 +02:00
David Lamparter
2b9bcf306d bgpd: add instance delete & config write hooks
Both of these hooks are necessary for proper operation of extensions
that need to latch on to a particular instance.

- without the delete hook, it's impossible to get rid of stale
  references, leading to crashes with invalid instance pointers.
- the config-write hook is necessary because per-instance config needs
  to be written inside the "router bgp" block to have the appropriate
  context; adding a separate config node can't do that.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2019-07-03 16:56:22 +02:00
David Lamparter
2ed9fe4a2b bgpd: autocomplete "router bgp" ASN
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2019-07-03 16:55:24 +02:00
David Lamparter
4a11bf2c09 bgpd: add a hook before bgp_process()
BMP uses this to get notified about any changes to prefixes, at which
point it schedules its own processing to happen later.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2019-07-03 16:54:09 +02:00
David Lamparter
b4d46cc9b1 bgpd: count some per-peer stats (for BMP)
These counters are accessible through BMP and may be useful to monitor
bgpd.  A CLI to show them could also be added if people are interested.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2019-07-03 16:53:12 +02:00
David Lamparter
1a1f453436 bgpd: fix last_reset_cause setup
last_reset_cause_size is the length *used* in last_reset_cause[].  It's
straight up used wrong here; we're saving off a reset cause and need to
check against the *available* size in last_reset_cause[].

This could actually have led to (hopefully rare) crashes in the assert
there, since the assert condition might fail incorrectly.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2019-07-03 16:50:36 +02:00
Donald Sharp
611349b99f
Merge pull request #4550 from manuhalo/fix_bgp_label_cb
Fix bgp-lu label callback crash
2019-07-03 09:15:37 -04:00
David Lamparter
94c4f72dcf isisd: fix printfrr derp
Yeah, gotta use v... if the arg is a va_list...

Fixes: #4600
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2019-07-03 15:15:26 +02:00
David Lamparter
c4ca3ef5e7 clippy: find headers relative to source tree
The current directory is in the build tree while running clippy; find
ourselves so we can access headers from the source tree.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2019-07-03 15:05:41 +02:00
David Lamparter
a5ddc34dc7
lib: Add a couple functions to nexthop_group.c (#4323)
lib: Add a couple functions to nexthop_group.c

Co-authored-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-07-03 14:42:35 +02:00
David Lamparter
1df0492687
Run-time log filtering via vtysh commands (#4524)
Run-time log filtering via vtysh commands
2019-07-03 14:39:59 +02:00
Quentin Young
f203510a7a zebra: remove bs irdp error code
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-07-03 00:27:14 +00:00
Donatas Abraitis
5bd66e2dcc bgpd: Validate large-community-list against UINT_MAX
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2019-07-03 00:14:16 +03:00
Quentin Young
db9f2ddde2
Merge pull request #4634 from mjstapp/vty_report_pids
lib: add process pids to 'show modules'
2019-07-02 16:39:28 -04:00
Donald Sharp
76fdc7f4a0 ospfd: Do not modify list when using _RO loop
The shutdown of ospf was causing crashes because the shutdown
was calling a ALL_LIST_ELEMENTS_RO macro and modifying the
underlying data structures.  Switch to using ALL_LIST_ELEMENTS.

This is caused by this change:

commit f9e1501aea5d429be2ecda1a3e2bde17e6ad5e4b
Author: Donald Sharp <sharpd@cumulusnetworks.com>
Date:   Wed Feb 27 15:08:29 2019 -0500

    ospfd: Cleanup ospf->redist and ospf->external on shutdown

Effectively my original testing for this only had one external
route and as such we would not have a crash here.  It only
showed up after multiple externals have been introduced.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-07-02 16:03:18 -04:00
Mark Stapp
bfae97a6fa lib: add process pids to 'show modules'
Add the process pids to the output produced by 'show modules'.
At least in a development setting, where there may be multiple
instances of frr running, it can be handy to be able to id
the exact pids, for debugging e.g.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2019-07-02 15:15:13 -04:00
Sri Mohana Singamsetty
1c05eb4419
Merge pull request #4622 from donaldsharp/import_table_fix
Import table fix
2019-07-02 11:20:02 -07:00
Quentin Young
5f59000e3c
Merge pull request #4598 from bisdhdh/master
bgpd: 'show bgp ipv6 neighbors <X::Y> prefix-counts' prefix-count is not getting displayed
2019-07-02 13:52:54 -04:00
Emanuele Di Pascale
4195afbf08 bgpd: fix bgp-lu update bug
bgp update messages were not correctly calculating the size
for a labeled-unicast prefix, as they were not accounting
for the label. If the update message was large enough to
overflow the maximum packet size (4096 bytes) this could
cause bgpd to send a malformed update packet.

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2019-07-02 18:59:00 +02:00
Rafael Zalamena
307fc4259a bfdd: fix some CI warnings
Use `static` functions for file local functions to please `check_patch.pl`.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2019-07-02 13:05:27 -03:00
David Lamparter
e846ec9806
Merge pull request #4624 from qlyoung/use-standard-bools
*: s/TRUE/true/, s/FALSE/false/
2019-07-02 17:51:09 +02:00
Quentin Young
432730f0d8
Merge pull request #4086 from opensourcerouting/fix-yang-validation
Fix a couple of YANG validation issues
2019-07-02 11:39:13 -04:00
Olivier Dugeon
e9e1c5d9e0
Merge pull request #3888 from donaldsharp/ospf_cleanup
ospfd: Cleanup ospf->redist and ospf->external on shutdown
2019-07-02 17:37:23 +02:00