Donald Sharp
affe9e9983
*: Convert list_delete(struct list *) to ** to allow nulling
...
Convert the list_delete(struct list *) function to use
struct list **. This is to allow the list pointer to be nulled.
I keep running into uses of this list_delete function where we
forget to set the returned pointer to NULL and attempt to use
it and then experience a crash, usually after the developer
has long since left the building.
Let's make the api explicit in it setting the list pointer
to null.
Cynical Prediction: This code will expose a attempt
to use the NULL'ed list pointer in some obscure bit
of code.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-10-05 10:53:13 -04:00
Renato Westphal
67c0a9206c
Merge pull request #1180 from dwalton76/ipv6-static-route-null0
...
Ipv6 static route null0
2017-09-27 13:42:53 -03:00
Lou Berger
d2d080f52e
bgpd: rfapi - fix a couple of check that should have been against RD len vs RD type flag (family)
...
Signed-off-by: Lou Berger <lberger@labn.net>
2017-09-19 10:07:31 -04:00
Daniel Walton
d114b977e9
*: support keywords that begin with uppercase letter
...
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
VARIABLE tokens must be all uppercase, this allows us to support WORD
tokens that begin with an uppercase letter. The "Null0" keyword is an
example of where this is needed.
The only VARIABLE we had that wasn't already all uppercase was
ASN:nn_or_IP-address:nn
2017-09-14 18:07:30 +00:00
Lou Berger
93fa2c3bf6
bgpd: rfapi - fix vestige from gratuitous grammar change.
...
Signed-off-by: Lou Berger <lberger@labn.net>
2017-09-02 09:41:09 -04:00
Renato Westphal
0af35d90a1
*: fix assorted issues detected by Coverity Scan
...
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-08-24 21:49:39 -03:00
Lou Berger
e7038ddec6
bgpd rfapi: use afi_t
...
Signed-off-by: Lou Berger <lberger@labn.net>
2017-07-27 13:15:53 -04:00
Lou Berger
0ae6124f48
bgp rfapi: use route_table_init and _finish (fixes crash due to recent lib change)
...
Signed-off-by: Lou Berger <lberger@labn.net>
2017-07-27 11:02:31 -04:00
David Lamparter
9d303b37d7
Revert "*: reindent pt. 2"
...
This reverts commit c14777c6bf
.
clang 5 is not widely available enough for people to indent with. This
is particularly problematic when rebasing/adjusting branches.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-07-22 14:52:33 +02:00
whitespace / reindent
c14777c6bf
*: reindent pt. 2
...
w/ clang 5
* reflow comments
* struct members go 1 per line
* binpack algo was adjusted
2017-07-17 15:26:02 -04:00
whitespace / reindent
d62a17aede
*: reindent
...
indent.py `git ls-files | pcregrep '\.[ch]$' | pcregrep -v '^(ldpd|babeld|nhrpd)/'`
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-07-17 14:04:07 +02:00
David Lamparter
2d8270596a
Merge remote-tracking branch 'frr/master' into newline-redux
...
Lots of conflicts from CMD_WARNING_CONFIG_FAILED...
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-07-14 13:07:30 +02:00
David Lamparter
26a429fe8e
*: remove VTYNL, part 2 of 6
...
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-07-14 10:20:02 +02:00
David Lamparter
6d3c2ed4ed
*: remove VTYNL, part 1 of 6
...
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-07-14 10:20:02 +02:00
David Lamparter
181039f3d7
*: ditch vty_outln(), part 2 of 2
...
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-07-14 10:19:58 +02:00
Daniel Walton
f1a05de982
vtysh: return non-zero for configuration failures
...
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
This allows frr-reload.py (or anything else that scripts via vtysh)
to know if the vtysh command worked or hit an error.
2017-07-13 19:56:08 +00:00
David Lamparter
5c7571d43f
*: ditch vty_outln(), part 1 of 2
...
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-07-13 20:29:22 +02:00
Quentin Young
7111c1a0cd
*: fix excess docstring
...
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-07-05 15:33:00 -04:00
Quentin Young
e31b6333f4
*: vty_outln (vty, "") --> vty_out (vty, VTYNL)
...
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-06-29 17:34:56 +00:00
Quentin Young
1318e7c841
*: s/VTY_NEWLINE/VTYNL/g
...
Should be able to fit more vty_out onto one line now
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-06-29 17:34:54 +00:00
Quentin Young
96ade3ed77
*: use vty_outln
...
Saves 400 lines
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-06-29 17:31:28 +00:00
Russ White
0bc44f61c9
Merge pull request #754 from qlyoung/fix-argv-arg
...
use argv->text where appropriate
2017-06-29 11:06:15 -04:00
Quentin Young
facfee22f5
*: remove VTY_GET_*
...
CLI validates input tokens, so there's no need to do it in handler
functions anymore.
spatch follows
----------------
@getull@
expression v;
expression str;
@@
<...
- VTY_GET_ULL(..., v, str)
+ v = strtoull (str, NULL, 10)
...>
@getul@
expression v;
expression str;
@@
<...
- VTY_GET_ULONG(..., v, str)
+ v = strtoul (str, NULL, 10)
...>
@getintrange@
expression name;
expression v;
expression str;
@@
<...
- VTY_GET_INTEGER_RANGE(name, v, str, ...)
+ v = strtoul (str, NULL, 10)
...>
@getint@
expression v;
expression str;
@@
<...
- VTY_GET_INTEGER(..., v, str)
+ v = strtoul (str, NULL, 10)
...>
@getv4@
expression v;
expression str;
@@
<...
- VTY_GET_IPV4_ADDRESS(..., v, str)
+ inet_aton (str, &v)
...>
@getv4pfx@
expression v;
expression str;
@@
<...
- VTY_GET_IPV4_PREFIX(..., v, str)
+ str2prefix_ipv4 (str, &v)
...>
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-06-27 19:04:41 +00:00
Quentin Young
7e045c3d42
*: use ->text and strmatch where appropriate
...
Still need to go fix all the places where we do a 1-char strncmp...
spatch follows
------------------
@asdf@
expression idx;
@@
<...
strcmp (
- argv[idx]->arg,
+ argv[idx]->text,
...)
...>
@depends on asdf@
expression idx;
@@
<...
- !strcmp (argv[idx]->text,
+ strmatch (argv[idx]->text,
...)
...>
@depends on asdf@
expression idx;
expression arg;
@@
<...
- strcmp (argv[idx]->text, arg) == 0
+ strmatch (argv[idx]->text, arg)
...>
@depends on asdf@
expression idx;
expression arg;
@@
<...
- strcmp (argv[idx]->text, arg) != 0
+ !strmatch (argv[idx]->text, arg)
...>
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-06-27 17:46:42 +00:00
Donald Sharp
f0725ca87c
bgpd: Fix missing newline
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-06-07 18:57:46 -04:00
Lou Berger
2fd1b54aa1
bgpd rfapi: remove ability to configure use of encap-safi (continue to use encap attribute)
...
Signed-off-by: Lou Berger <lberger@labn.net>
2017-05-23 15:42:40 -04:00
David Lamparter
896014f4bc
*: make consistent & update GPLv2 file headers
...
The FSF's address changed, and we had a mixture of comment styles for
the GPL file header. (The style with * at the beginning won out with
580 to 141 in existing files.)
Note: I've intentionally left intact other "variations" of the copyright
header, e.g. whether it says "Zebra", "Quagga", "FRR", or nothing.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-05-15 16:37:41 +02:00
Lou Berger
14f0a0f9c5
bgp rfapi: rfapi shouldn't be called (yet) for BGP VRF instances.
2017-05-09 14:39:42 -04:00
Renato Westphal
313605cb92
*: fix a bunch of segfaults detected by a CLI fuzzer
...
This patch fixes the following segfaults:
zebra aborted: vtysh -c "show ipv6 mroute"
zebra aborted: vtysh -c "configure terminal" -c "debug zebra kernel msgdump"
zebra aborted: vtysh -c "configure terminal" -c "interface eth99" -c "link-params" -c "no packet-loss"
zebra aborted: vtysh -c "configure terminal" -c "interface eth99" -c "link-params" -c "no metric"
zebra aborted: vtysh -c "configure terminal" -c "interface eth99" -c "link-params" -c "no ava-bw"
zebra aborted: vtysh -c "configure terminal" -c "interface eth99" -c "link-params" -c "no res-bw"
zebra aborted: vtysh -c "configure terminal" -c "interface eth99" -c "link-params" -c "no use-bw"
ospfd aborted: vtysh -c "configure terminal" -c "router ospf" -c "area 1.1.1.1 nssa"
ospfd aborted: vtysh -c "configure terminal" -c "router ospf" -c "area 4294967295 nssa"
pimd aborted: vtysh -c "show ip msdp sa 1.1.1.1"
pimd aborted: vtysh -c "configure terminal" -c "ip ssmpingd"
pimd aborted: vtysh -c "configure terminal" -c "no ip ssmpingd"
pimd aborted: vtysh -c "configure terminal" -c "no ip msdp mesh-group WORD source"
pimd aborted: vtysh -c "configure terminal" -c "interface eth99" -c "ip pim hello 180"
bgpd aborted: vtysh -c "show bgp l2vpn evpn rd 1:1"
bgpd aborted: vtysh -c "clear vnc nve un *"
bgpd aborted: vtysh -c "clear vnc nve un 1.1.1.1"
bgpd aborted: vtysh -c "clear vnc nve un 2001:db8::1"
bgpd aborted: vtysh -c "add vnc mac 11:11:11:11:11:11 virtual-network-identifier 4294967295 vn 1.1.1.1 un 1.1.1.1 lifetime 4294967295"
bgpd aborted: vtysh -c "add vnc mac 11:11:11:11:11:11 virtual-network-identifier 4294967295 vn 1.1.1.1 un 1.1.1.1 cost 255 lifetime 4294967295"
bgpd aborted: vtysh -c "add vnc mac 11:11:11:11:11:11 virtual-network-identifier 4294967295 vn 1.1.1.1 un 1.1.1.1 cost 255"
bgpd aborted: vtysh -c "add vnc mac 11:11:11:11:11:11 virtual-network-identifier 4294967295 vn 1.1.1.1 un 1.1.1.1"
bgpd aborted: vtysh -c "add vnc mac 11:11:11:11:11:11 virtual-network-identifier 4294967295 vn 1.1.1.1 un 2001:db8::1 lifetime 4294967295"
bgpd aborted: vtysh -c "add vnc mac 11:11:11:11:11:11 virtual-network-identifier 4294967295 vn 1.1.1.1 un 2001:db8::1 cost 255 lifetime 4294967295"
bgpd aborted: vtysh -c "add vnc mac 11:11:11:11:11:11 virtual-network-identifier 4294967295 vn 1.1.1.1 un 2001:db8::1 cost 255"
bgpd aborted: vtysh -c "add vnc mac 11:11:11:11:11:11 virtual-network-identifier 4294967295 vn 1.1.1.1 un 2001:db8::1"
bgpd aborted: vtysh -c "add vnc mac 11:11:11:11:11:11 virtual-network-identifier 4294967295 vn 2001:db8::1 un 1.1.1.1 lifetime 4294967295"
bgpd aborted: vtysh -c "add vnc mac 11:11:11:11:11:11 virtual-network-identifier 4294967295 vn 2001:db8::1 un 1.1.1.1 cost 255 lifetime 4294967295"
bgpd aborted: vtysh -c "add vnc mac 11:11:11:11:11:11 virtual-network-identifier 4294967295 vn 2001:db8::1 un 1.1.1.1 cost 255"
bgpd aborted: vtysh -c "add vnc mac 11:11:11:11:11:11 virtual-network-identifier 4294967295 vn 2001:db8::1 un 1.1.1.1"
bgpd aborted: vtysh -c "add vnc mac 11:11:11:11:11:11 virtual-network-identifier 4294967295 vn 2001:db8::1 un 2001:db8::1 lifetime 4294967295"
bgpd aborted: vtysh -c "add vnc mac 11:11:11:11:11:11 virtual-network-identifier 4294967295 vn 2001:db8::1 un 2001:db8::1 cost 255 lifetime 4294967295"
bgpd aborted: vtysh -c "add vnc mac 11:11:11:11:11:11 virtual-network-identifier 4294967295 vn 2001:db8::1 un 2001:db8::1 cost 255"
bgpd aborted: vtysh -c "add vnc mac 11:11:11:11:11:11 virtual-network-identifier 4294967295 vn 2001:db8::1 un 2001:db8::1"
bgpd aborted: vtysh -c "configure terminal" -c "router bgp 1" -c "no vnc export bgp ipv4 prefix-list NAME"
bgpd aborted: vtysh -c "configure terminal" -c "router bgp 1" -c "no vnc export bgp ipv6 prefix-list NAME"
bgpd aborted: vtysh -c "configure terminal" -c "router bgp 1" -c "no vnc export bgp route-map NAME"
bgpd aborted: vtysh -c "configure terminal" -c "router bgp 1" -c "no vnc export zebra ipv4 prefix-list NAME"
bgpd aborted: vtysh -c "configure terminal" -c "router bgp 1" -c "no vnc export zebra ipv6 prefix-list NAME"
bgpd aborted: vtysh -c "configure terminal" -c "router bgp 1" -c "no vnc export zebra route-map NAME"
bgpd aborted: vtysh -c "configure terminal" -c "route-map RMAP permit 1" -c "no set ipv6 vpn next-hop"
bgpd aborted: vtysh -c "configure terminal" -c "route-map RMAP permit 1" -c "set vpnv4 next-hop"
bgpd aborted: vtysh -c "configure terminal" -c "route-map RMAP permit 1" -c "set vpnv6 next-hop"
bgpd aborted: vtysh -c "configure terminal" -c "router bgp" -c "address-family ipv6 vpn" -c "network 2001:db8::1/128 rd 1:1 tag WORD"
bgpd aborted: vtysh -c "configure terminal" -c "router bgp" -c "address-family vpnv6 unicast" -c "network 2001:db8::1/128 rd 1:1 tag WORD"
bgpd aborted: vtysh -c "configure terminal" -c "router bgp" -c "no neighbor WORD shutdown message MSG..."
bgpd aborted: vtysh -c "configure terminal" -c "router bgp" -c "neighbor WORD shutdown message MSG..."
More to come later.
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-05-04 14:39:58 -03:00
David Lamparter
505e50567f
*: apply DEFUN_NOSH for node-switch CLI commands
...
These have copies in vtysh that do the node-switch locally and are
listed in extract.pl's ignore list. The ignore list however is
redundant since DEFUN_NOSH does the same thing...
ldpd is a bit hacky, but Renato is reworking this anyway.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-03-28 15:48:07 -04:00
Philippe Guibert
72831436ed
bgpd: fix rfapi call to ecom2str with correct number of parameters
...
This commit is a complement for bgpd: handling router mac extended
community. As API of bgp_ecommunity ecom2str() function changed, rfapi
file has diverged with this API. The commit adds the correct number of
parameters.
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2017-02-14 13:58:59 +01:00
Philippe Guibert
e82202b7a1
bgpd: support for router mac extended community
...
As per draft-ietf-bess-evpn-inter-subnet-forwarding-01, chapter 6.1,
a new extended community called router's MAC Extended Community is
provided. This community is appended to extended community list.
Note that a show API has been changed in order to be able to not
display (or not) this new type.
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2017-02-14 13:58:58 +01:00
Lou Berger
3d05643ecd
bgpd: reenable nexthop vrf-policy to suppory VRF controller use case
...
Signed-off-by: Lou Berger <lberger@labn.net>
2017-01-30 21:14:53 -05:00
Donald Sharp
e677700b8f
Merge branch 'master' into moreafisafi
2017-01-27 14:58:19 -05:00
Donald Sharp
c016b6c796
Merge remote-tracking branch 'origin/master' into pr/111
2017-01-27 11:44:42 -05:00
Donald Sharp
52bc7712a1
bgpd: Allow some new cli to have correct number of help strings
...
The 'add vrf NAME prefix....' command was missing a \n
and the 'no label' command was missing a help string for no.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-01-25 22:08:35 -05:00
Donald Sharp
a2119b202a
bgpd: Fix '[no] labels LABELLIST...' command
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-01-25 21:55:25 -05:00
Lou Berger
ffc50094a6
bgpd rfapi: add NVE/VRF name to show vnc registrations
...
Signed-off-by: Lou Berger <lberger@labn.net>
2017-01-22 20:55:08 -05:00
Lou Berger
5ff06872e9
bgpd: add vrf-policy config using existing vnc code
...
add add/clear vrf prefix
+ Modified for FRR master parser
Signed-off-by: Lou Berger <lberger@labn.net>
2017-01-22 20:54:57 -05:00
Donald Sharp
444592b1f6
bgpd: Fixup missing list '...' values
...
When I modified the code to use the new cli, I missed
adding a '...' in a couple of spaces.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-01-16 07:42:38 -05:00
Donald Sharp
39904419ed
bgpd: Fixing list options to be right
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-01-09 16:13:40 -05:00
Donald Sharp
bdffbcef39
bgpd: Some more cleanup of commands found by vtysh
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-01-09 15:59:17 -05:00
Donald Sharp
034d2de2e6
bgpd: Fixup some vnc cli
...
Fixup the vnc cli to use the new syntax as well as fixup a bunch
of cli help strings that were wrong.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-01-09 10:25:16 -05:00
Donald Sharp
3b14d86eed
Merge remote-tracking branch 'origin/stable/2.0'
2017-01-06 09:58:21 -05:00
Lou Berger
7979998755
rfapi: pickup recent changes
...
expose bgp_rfapi_get_group_by_lni_label for use by rfp
add EVPN Ethernet Tag (VID) RT
ensure as is init'ed
fix spelling of information
Signed-off-by: Lou Berger <lberger@labn.net>
2017-01-02 15:04:47 -05:00
David Lamparter
5304ba7e56
*: kill useless if(...) after VTY_DECLVAR_CONTEXT
...
VTY_DECLVAR_CONTEXT already contains a NULL check, vty warning message
and return statement. These are not needed.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2016-12-09 17:50:01 +01:00
David Lamparter
cdc2d76507
*: coccinelle-replace vty->index
...
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2016-12-09 17:36:25 +01:00
David Lamparter
d5bd3e0a6f
Merge branch 'stable/2.0'
...
Conflicts:
bgpd/rfapi/bgp_rfapi_cfg.c
bgpd/rfapi/vnc_debug.c
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2016-12-08 13:21:21 +01:00
Lou Berger
a3b55c2500
bgpd vnc: Add 'debug bgp vnc verbose' target
...
all vnc debug logging is now covered by a 'debug bgp vnc' target
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2016-12-08 12:51:26 +01:00
David Lamparter
aed3273f38
bgpd/rfpapi: update for new CLI
...
May contain bugs/mistakes.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2016-11-29 14:15:05 +01:00