Commit Graph

17960 Commits

Author SHA1 Message Date
Stephen Worley
1ce24b9b88 pbrd: use yes/no for pbr map validity vty output
Change the pbr map validity state to indicate yes/no
rather than 1/0 in the `show pbr map` command.

Humans aren't robots, so don't use binary.

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
2019-12-06 14:04:02 -05:00
Stephen Worley
b740126d97 pbrd: use spaces in show pbr map vty output
We were using a mix of spaces and tabsin show pbr map vty output.
Tabs can be inconsistent depending on the system settings.
Using spaces is a safer option for more consistent output.

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
2019-12-06 14:04:02 -05:00
Stephen Worley
b781c0869d doc: add show pbr map doc
Add some doc for the `show pbr map [NAME] [detail]` command.

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
2019-12-06 14:04:02 -05:00
Stephen Worley
add5e0a4cf pbrd: make vty nexthop/nexthop-group output consistent
The vty output for pbr maps with a nexthop-group was not
consistent with those configured with an individual nexthop.
Fix that so its easier for users to read.

alfred# show pbr map
  pbr-map TEST1 valid: 1
    Seq: 222 rule: 521
        Installed: yes Reason: Valid
        SRC Match: 2.2.2.2/32
        Nexthop-Group: blue
                Installed: yes Tableid: 10000
    Seq: 333 rule: 632
        Installed: yes Reason: Valid
        SRC Match: 3.3.3.3/32
        Nexthop-Group: blue
                Installed: yes Tableid: 10000
    Seq: 444 rule: 743
        Installed: yes Reason: Valid
        SRC Match: 4.4.4.4/32
        Nexthop-Group: blue
                Installed: yes Tableid: 10000
    Seq: 555 rule: 854
        Installed: yes Reason: Valid
        SRC Match: 5.5.5.5/32
        Nexthop-Group: red
                Installed: yes Tableid: 10001
    Seq: 666 rule: 965
        Installed: yes Reason: Valid
        SRC Match: 6.6.6.6/32
        nexthop 1.1.1.1
                Installed: yes Tableid: 10002
alfred#

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
2019-12-06 14:04:02 -05:00
Stephen Worley
3259cde637 pbrd: make show pbr map detail actually work
The `detail` keyword was doing literally nothing. Changed the
default show to be a bit more user friendly and detail
to give the information you might would need for
debugging.

alfred# show pbr map
  pbr-map TEST1 valid: 1
    Seq: 222 rule: 521
    Installed: yes Reason: Valid
        SRC Match: 2.2.2.2/32
        Nexthop-Group: blue(10000) Installed: yes
    Seq: 333 rule: 632
    Installed: yes Reason: Valid
        SRC Match: 3.3.3.3/32
        Nexthop-Group: blue(10000) Installed: yes
    Seq: 444 rule: 743
    Installed: yes Reason: Valid
        SRC Match: 4.4.4.4/32
        Nexthop-Group: blue(10000) Installed: yes
    Seq: 555 rule: 854
    Installed: yes Reason: Valid
        SRC Match: 5.5.5.5/32
        Nexthop-Group: red(10001) Installed: yes
    Seq: 666 rule: 965
    Installed: yes Reason: Valid
        SRC Match: 6.6.6.6/32
     nexthop 1.1.1.1
        Installed: yes Tableid: 10002
alfred# show pbr map detail
  pbr-map TEST1 valid: 1
    Seq: 222 rule: 521
    Installed: 1(1) Reason: Valid
        SRC Match: 2.2.2.2/32
        Nexthop-Group: blue(10000) Installed: 1(1)
    Seq: 333 rule: 632
    Installed: 1(2) Reason: Valid
        SRC Match: 3.3.3.3/32
        Nexthop-Group: blue(10000) Installed: 1(1)
    Seq: 444 rule: 743
    Installed: 1(3) Reason: Valid
        SRC Match: 4.4.4.4/32
        Nexthop-Group: blue(10000) Installed: 1(1)
    Seq: 555 rule: 854
    Installed: 1(4) Reason: Valid
        SRC Match: 5.5.5.5/32
        Nexthop-Group: red(10001) Installed: 1(1)
    Seq: 666 rule: 965
    Installed: 1(5) Reason: Valid
        SRC Match: 6.6.6.6/32
     nexthop 1.1.1.1
        Installed: 1(1) Tableid: 10002
alfred#

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
2019-12-06 14:04:02 -05:00
Stephen Worley
1eaa836128 pbrd: refactor vty map show output into functions
Refactor the pbr_map and pbr_map_sequence vty output
into some functions to make the code a bit easier to read.

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
2019-12-06 14:04:02 -05:00
Donald Sharp
a44dcdee55
Merge pull request #5332 from mjstapp/remove_zapi_label_flag
*: revise zapi nexthop encoding
2019-12-06 13:19:34 -05:00
David Lamparter
0d26af1203
Merge pull request #5462 from dslicenc/ipv6-ra-lifetime-0
zebra: send RA lifetime of 0 before ceasing to advertise RAs
2019-12-06 18:23:39 +01:00
David Lamparter
d4b391321d
Merge pull request #5226 from donaldsharp/interface_fixup
Interface fixup
2019-12-06 18:21:51 +01:00
David Lamparter
3fb61fcaa1
Merge pull request #5468 from qlyoung/bgpd-remove-bgp-attr-dup
bgpd: remove bgp_attr_dup
2019-12-06 18:19:28 +01:00
David Lamparter
a9dd82682d
Merge pull request #5218 from mjstapp/fix_topo_kernel_5
topotests: Adapt to linux kernel 5+
2019-12-06 18:18:28 +01:00
Mark Stapp
68a02e06e5 *: revise zapi nexthop encoding
Use a per-nexthop flag to indicate the presence of labels; add
some utility zapi encode/decode apis for nexthops; use the zapi
apis more consistently.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2019-12-06 10:17:20 -05:00
Mark Stapp
d3d77ec42f lib: use const in several stream lib apis
Add some const to some stream apis.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2019-12-06 10:12:14 -05:00
Renato Westphal
c9ed5f6315
Merge pull request #5438 from sworleys/PBR-Fixes
pbrd: Assorted Fixes
2019-12-06 12:04:05 -03:00
Renato Westphal
6f0af4c069
Merge pull request #5439 from mjstapp/nhg_add_labels
lib: support labelled nexthops in nexthop_groups
2019-12-06 11:17:10 -03:00
Mark Stapp
a594aff472 topotests: Adapt to linux kernel 5+
Make a few changes to try to support topotests with vrfs
on kernel 5 and later.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2019-12-06 07:44:50 -05:00
Rafael Zalamena
b0a89c27ad
Merge pull request #5288 from SumitAgarwal123/bfd_docs
doc: Adding new CLI and updating existing show output
2019-12-06 09:35:13 -03:00
Quentin Young
0b8043886e
Merge pull request #5493 from ton31337/fix/doc_underline_too_short
doc: Add moaar dashes to underline line
2019-12-06 01:54:49 -05:00
Donatas Abraitis
5031d88694 doc: Add moaar dashes to underline line
doc/user/bgp.rst:420: WARNING: Title underline too short.
Reject routes with AS_SET or AS_CONFED_SET types
-------------------------------

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2019-12-06 08:33:30 +02:00
Donatas Abraitis
a825edad8d
Merge pull request #5464 from qlyoung/fix-bgp-prefix-orf-heap-overflow
lib: fix heap buf overflow when adding prefix orf
2019-12-06 08:15:49 +02:00
Donald Sharp
5eb3577b6c
Merge pull request #5478 from mjstapp/fix_ospf_apiserver_sa
ospfd: clean up SA warning
2019-12-05 20:56:12 -05:00
Mark Stapp
6284b87075
Merge pull request #5476 from qlyoung/fix-init-script-bleh
tools: [ [ is not valid shell test syntax
2019-12-05 16:41:48 -05:00
Mark Stapp
9d1624669e ospfd: clean up SA warning
remove an unneeded initialization to clear up an SA report.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2019-12-05 16:12:09 -05:00
Quentin Young
db6e0503a6 tools: [ [ is not valid test syntax
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-12-05 12:57:45 -05:00
Quentin Young
6f4f49b237 bgpd: remove bgp_attr_dup
yeah

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2019-12-05 11:05:32 -05:00
Donatas Abraitis
04c8f2eb83
Merge pull request #5472 from mjstapp/fix_dplane_prov_flags
zebra: capture dplane plugin flags
2019-12-05 14:03:35 +02:00
Mark Stapp
bf8be99ad2
Merge pull request #5471 from sworleys/Doc-Sign-Off
doc: add doc for easy commit sign-off with `-s`
2019-12-04 14:56:58 -05:00
Mark Stapp
932dbb4deb zebra: capture dplane plugin flags
The flags can be important - like "threaded" - so we need to
actually capture them when plugins are registered.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2019-12-04 14:54:38 -05:00
Donald Sharp
85d25587bf eigrpd, ospfd, pimd: Fix assumption that interface may not be up
Commit: ddbf3e6060

This commit modified the interface up handling code in
ZAPI such that the zclient handled the decoding for you.
Prior to this commit ospf assumed that it could use the
old ifp pointer to know state before reading the stream.
This lead to a situation where ospf would `smartly` track
and do the right thing in this situation.  This commit
changed this assumption and in certain scenarios, say
a interface was changed after it was already up would
lead to situations where ospf would not properly handle
the new interface up.

Modify ospf to track data that is important to it in
it's interface->info pointer.

This code pattern was followed in both eigrp and pim.
In eigrp's case it was just behaving weirdly in any event
so fixing this pattern is not a big deal.  In pim's
case it was not properly using this so it's a no-op
to fix.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-12-04 14:23:20 -05:00
Donald Sharp
c84355a932 ospfd: interface name and ip address can be 32 bytes
We are only saving 20 bytes of string output for ospf neighbor
commands.  Fixed output:

act-7326-05# show ip ospf vrf vrf1012 neighbor all
VRF Name: vrf1012

Neighbor ID     Pri State           Dead Time Address         Interface                        RXmtL RqstL DBsmL
9.9.12.11         1 Full/DROther      39.973s 200.254.2.10    swp49s0.2:200.254.2.9                4     0     0
9.9.12.12         1 Full/DROther      39.995s 200.254.2.14    swp49s1.2:200.254.2.13               9     0     0
9.9.12.13         1 Exchange/DROthe   39.981s 200.254.2.18    swp49s2.2:200.254.2.17             157     0     0

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-12-04 14:23:20 -05:00
Donald Sharp
e302caaa81
Merge pull request #5416 from mjstapp/re_nhe_pointer
lib,zebra: use shared nexthop-group in route_entry
2019-12-04 14:11:04 -05:00
Stephen Worley
118cf7edb0 doc: add doc for easy commit sign-off with -s
Add some doc to let developers know about the `-s` flag
with `git commit`.

We were seeing some people writing the sign-off manually.

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
2019-12-04 11:27:30 -05:00
Mark Stapp
0eb97b860d lib,zebra: use nhg_hash_entry pointer in route_entry
Replace the existing list of nexthops (via a nexthop_group
struct) in the route_entry with a direct pointer to zebra's
new shared group (from zebra_nhg.h). This allows more
direct access to that shared group and the info it carries.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2019-12-04 08:13:52 -05:00
Rafael Zalamena
86637de7f9
Merge pull request #5352 from donaldsharp/5013_cleanup_merge_issues
5013 cleanup merge issues
2019-12-04 09:28:41 -03:00
Donatas Abraitis
1ab334682a
Merge pull request #5341 from rbauduin/patch-1
mention allow-outbound-policy for route reflectors
2019-12-04 13:56:42 +02:00
Donatas Abraitis
e5af9432cb
Merge pull request #5430 from taruta811/build-docker-centos
docker: Make docker image on CentOS 7
2019-12-04 13:42:12 +02:00
Donald Sharp
2d3c8c2957
Merge pull request #5305 from ton31337/feature/draft-ietf-idr-deprecate-as-set-confed-set
bgpd: Reject incoming and outgoing UPDATES for AS_SET and AS_CONFED_SET
2019-12-03 21:29:09 -05:00
SumitAgarwal123
1d0a11e6cf bfdd: Json fields for multiplier
Adding fields "detect-multiplier" and "remote-detect-multiplier"
for JSON to to reflect changes in "show bfd peers output"

Signed-off-by: Sayed Mohd Saquib sayed.saquib@broadcom.com
2019-12-03 21:20:31 -05:00
SumitAgarwal123
fa6e709f3f bfdd: Adding new CLI, show bfd peers brief
Added new CLI to display all BFD peer in brief format

Signed-off-by: Sayed Mohd Saquib <sayed.saquib@broadcom.com>
2019-12-03 21:20:28 -05:00
SumitAgarwal123
d679003308 bfdd: Adding new cli, clear bfd counters
Adding new CLI clear bfd counters,
This CLI wil only reset Rx/Tx counters,
it will not reset session UP/DOWN and Zebra event count

Signed-off-by: Sayed Mohd Saquib <sayed.saquib@broadcom.com>
2019-12-03 21:14:36 -05:00
SumitAgarwal123
825e3b9457 bfdd: Adding new fields to display show bfd peer
Adding 2 two new fields
1. Peer type, configured/dynamic
2. Detect multiplier

Signed-off-by: Sayed Mohd Saquib <sayed.saquib@broadcom.com>
2019-12-03 21:14:36 -05:00
Stephen Worley
5d0e49c4fc pbrd: make vty match * code more readable
Make the vty match src|dst|mark code a bit more readable
in its conditonal logic.

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
2019-12-03 16:59:21 -05:00
Mark Stapp
db2fede990 lib: support labelled nexthops in nexthop_groups
Add support for labelled nexthops in nexthop-group
vtysh configuration. Also update the PBR doc where
the cli is described.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2019-12-03 16:54:35 -05:00
Stephen Worley
23e8679f0d pbrd: consolidate rule_notify debugs into one call
Consolidate the rule_notify_owner() debugs based on type
into one call, making use of zapi_rule_notify_owner2str()
to do so.

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
2019-12-03 16:25:40 -05:00
Stephen Worley
eb5d458b3f lib: Add zapi_rule_notify_owner2str() function
Add a function for converting the zapi_rule_notify_owner enum
type to a string for ease of use.

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
2019-12-03 16:14:34 -05:00
Stephen Worley
47f94d175a pbrd: Add newlines in set nexthop* vty output
We were missing some newlines in handling vty outputs
for the `set nexthop*` commands. Add them in there.

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
2019-12-03 15:56:00 -05:00
Stephen Worley
6c4c9a6cc7 pbrd: use dst string in match dst-ip vty description
The vty description for the `set match dst-ip` command was
using "src ip" in its description. Change it to use "dst ip".

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
2019-12-03 15:56:00 -05:00
Stephen Worley
46b0382056 pbrd: don't silently fail on atomic match MARK change attempts
Also don't silently fail when we attempt to atomically change
a match MARK to a new one.

We would overwrite the frist one but never actually install it.

Change it to explicitly fail if a config is already present for
now.

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
2019-12-03 15:56:00 -05:00
Stephen Worley
0dcff6f463 pbrd: don't silently fail on atomic match IP change attempts
Currently pbrd does not support the abilitity to make atomic
changes to a config.

ex)
`match src-ip 1.1.1.1/32`
`match src-ip 1.1.1.0/24`

We would overwrite the first one but never actually install it.

In the `set nexthop commands` we explicitly fail if there is
already a `set nexthop` config present. This patch extends the
match src/dest-ip configs to do the same.

In the future we should make all these commands atomic but for
now its better to not fail silently at the very least.

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
2019-12-03 15:56:00 -05:00
Stephen Worley
fde8af8d0b pbrd: don't set rule removed on fail
Don't treat a remove failure as a successful remove.

This can cause us to get out of sync with the kernel.
Pbrd makes decisions on rule handling based on its installed
state so this needs to be as close to accurate as possible.

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
2019-12-03 15:56:00 -05:00