]> git.proxmox.com Git - mirror_frr.git/commit - pbrd/pbr_vrf.c
pbrd: Add `set vrf NAME` and `set vrf unchanged`
authorStephen Worley <sworley@cumulusnetworks.com>
Fri, 27 Sep 2019 20:38:31 +0000 (16:38 -0400)
committerStephen Worley <sworley@cumulusnetworks.com>
Thu, 21 Nov 2019 21:59:42 +0000 (16:59 -0500)
commitbe3b67b5ef82d2f1f9f0f63190dd65c2bc47ebbf
tree47fdc3253148c9b0e9f31ebf8e71afcc7993e99f
parent2d7ef3bba7eeb00adf2aceeca4747b59f4ac5fc7
pbrd: Add `set vrf NAME` and `set vrf unchanged`

`set vrf NAME` allows the pbr map to point to an arbitrary vrf table.

`set vrf unchanged` will use the interface's vrf for table lookup.

Further, add functionality for pbr to respond to interface events
such as interface vrf changes & interface creation/deletion.

Ex)
ubuntu_nh# show pbr map
  pbr-map TEST valid: 1
    Seq: 1 rule: 300 Installed: 3(1) Reason: Valid
        SRC Match: 3.3.3.3/32
        VRF Unchanged (use interface vrf)
  pbr-map TEST2 valid: 1
    Seq: 2 rule: 301 Installed: 3(2) Reason: Valid
        SRC Match: 4.4.4.4/32
        VRF Lookup: vrf-red

root@ubuntu_nh:/home# ip rule show
0:      from all lookup local
300:    from 3.3.3.3 iif dummy2 lookup main
300:    from 3.3.3.3 iif dummyVRF lookup 1111
301:    from 4.4.4.4 iif dummy1 lookup 1111
301:    from 4.4.4.4 iif dummy3 lookup 1111

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com-
doc/user/pbr.rst
pbrd/pbr_main.c
pbrd/pbr_map.c
pbrd/pbr_map.h
pbrd/pbr_nht.c
pbrd/pbr_vrf.c [new file with mode: 0644]
pbrd/pbr_vrf.h [new file with mode: 0644]
pbrd/pbr_vty.c
pbrd/pbr_zebra.c
pbrd/subdir.am