mirror_frr/doc/user
Philippe Guibert 1bb550b63c bgpd: add resolution for l3vpn traffic over gre interfaces
When a route imported from l3vpn is analysed, the nexthop from default
VRF is looked up against a valid MPLS path. Generally, this is done on
backbones with a MPLS signalisation transport layer like LDP. Generally,
the BGP connection is multiple hops away. That scenario is already
working.

There is case where it is possible to run L3VPN over GRE interfaces, and
where there is no LSP path over that GRE interface: GRE is just here to
tunnel MPLS traffic. On that case, the nexthop given in the path does not
have MPLS path, but should be authorized to convey MPLS traffic provided
that the user permits it via a configuration command.

That commit introduces a new command that can be activated in route-map:
 > set l3vpn next-hop encapsulation gre

That command authorizes the nexthop tracking engine to accept paths that
o have a GRE interface as output, independently of the presence of an LSP
path or not.

A configuration example is given below. When bgp incoming vpnv4 updates
are received, the nexthop of NLRI is 192.168.0.2. Based on nexthop
tracking service from zebra, BGP knows that the output interface to reach
192.168.0.2 is r1-gre0. Because that interface is not MPLS based, but is
a GRE tunnel, then the update will be using that nexthop to be installed.

    interface r1-gre0
     ip address 192.168.0.1/24
    exit
    router bgp 65500
     bgp router-id 1.1.1.1
     neighbor 192.168.0.2 remote-as 65500
     !
     address-family ipv4 unicast
      no neighbor 192.168.0.2 activate
     exit-address-family
     !
     address-family ipv4 vpn
      neighbor 192.168.0.2 activate
      neighbor 192.168.0.2 route-map rmap in
     exit-address-family
    exit
    !
    router bgp 65500 vrf vrf1
     bgp router-id 1.1.1.1
     no bgp network import-check
     !
     address-family ipv4 unicast
      network 10.201.0.0/24
      redistribute connected
      label vpn export 101
      rd vpn export 444:1
      rt vpn both 52:100
      export vpn
      import vpn
     exit-address-family
    exit
    !
    route-map rmap permit 1
     set l3vpn next-hop encapsulation gre
    exit

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2022-09-05 22:26:25 +02:00
..
_static doc: orange FRR theme 2019-02-18 14:39:13 +01:00
images doc: Augmented pathd documentation. 2021-10-04 18:56:47 +02:00
.gitignore doc: fix distclean 2018-05-18 19:35:24 +00:00
babeld.rst doc: Minor grammar correction 2021-12-23 07:32:33 +10:00
basic.rst doc: Add allow-reserved-ranges global command 2022-07-01 23:23:14 +03:00
bfd.rst Doc: Update documentation for BFD Echo. 2022-08-02 10:09:11 -04:00
bgp.rst bgpd: add resolution for l3vpn traffic over gre interfaces 2022-09-05 22:26:25 +02:00
bmp.rst bmp: add L3VPN support 2022-07-13 17:28:37 +02:00
bugs.rst doc: fix dupe bug-reports label, index entry 2021-02-23 15:49:19 -05:00
conf.py doc: use add_css_file(); not deprecated 2021-06-03 16:32:00 -04:00
eigrpd.rst doc: remove redundant index directives 2021-05-18 15:29:59 +03:00
extlog.rst doc: add new RFC5424 & journald logging targets 2022-01-17 00:39:00 +01:00
fabricd.rst *: remove *.conf.sample files 2021-04-09 13:14:30 -04:00
filter.rst lib: add "json" option to "show ip[v6] prefix-list" 2021-08-02 17:19:45 -03:00
flowspec.rst doc: remove 'no' form of commands 2021-02-22 14:38:21 -05:00
frr-reload.rst doc: add docs for frr-reload.py options 2020-05-26 19:14:12 +02:00
glossary.rst doc: fixup glossary for html build 2018-02-02 15:24:57 -05:00
grpc.rst doc: initial documentation for gRPC 2020-08-10 16:39:06 -03:00
index.rst doc: Add the document for PIMv6 2022-03-10 02:12:54 -08:00
installation.rst doc: Update doc w/ regards to realms 2022-06-23 13:56:28 -04:00
ipv6.rst doc: add doc for show ipv6 nd ra-interfaces 2021-06-08 15:17:22 -04:00
isisd.rst doc: use real wording for the show isis segment-routing node command 2022-05-18 15:08:18 +02:00
kernel.rst doc: remove obsolete Netlink discussion, fix svi cmd doc 2021-04-30 18:10:56 -05:00
ldpd.rst doc: document ldpd's "ttl-security" commands 2022-06-15 14:12:35 -03:00
Makefile build: non-recursive doc + parallel sphinx 2018-08-30 08:06:44 +02:00
nhrpd.rst doc: remove redundant index directives 2021-05-18 15:29:59 +03:00
ospf6d.rst doc: Fix spelling mistakes 2022-02-14 12:51:22 -05:00
ospf_fundamentals.rst doc: replace "passive-interface IFNAME" with "ip ospf passive" 2021-06-05 18:25:01 +03:00
ospfd.rst ospfd: Fixing "show ip ospf neighbour <nbrid>" command 2022-06-22 08:40:24 -07:00
overview.rst doc: pimd needs linux kernel 4.19(IGMPMSG_WRVIFWHOLE) 2022-08-09 09:13:08 +08:00
packet-dumps.rst doc: reorganize into multiple toctrees 2018-06-08 07:54:25 +00:00
pathd.rst doc: fix undefined label warning 2021-12-14 12:31:19 +03:00
pbr.rst pbrd: add vlan actions to vty 2021-10-07 09:14:59 -04:00
pim.rst doc: pimd needs linux kernel 4.19(IGMPMSG_WRVIFWHOLE) 2022-08-09 09:13:08 +08:00
pimv6.rst doc: Changed uppercase MLD to lowercase in ipv6 MLD last-member-query-interval (1-65535) 2022-08-28 23:35:03 -07:00
ripd.rst doc/user/ripd: clarify unicast behaviour 2022-08-05 17:11:43 +10:00
ripngd.rst doc: Fix the rip and ripng distribute-list ... commands 2021-05-04 16:23:37 -04:00
routemap.rst bgpd: add resolution for l3vpn traffic over gre interfaces 2022-09-05 22:26:25 +02:00
routeserver.rst doc: replace the import/export keywords for in/out 2022-06-14 15:39:48 +02:00
rpki.rst doc: Specify preference for RPKI cache server 2022-06-20 22:44:29 +03:00
scripting.rst *: Fix spelling of overriden 2022-04-19 08:27:02 -04:00
setup.rst *: rework renaming the default VRF 2021-12-21 22:09:29 +03:00
sharp.rst doc: add user doc for sharp protodown 2022-03-09 18:02:44 -05:00
snmp.rst doc: remove 'no' form of commands 2021-02-22 14:38:21 -05:00
snmptrap.rst bgpd: Adjust symbolic names for cease notifications according to rfc4486 2022-01-06 10:07:41 +02:00
static.rst doc: Add missing static route options and clarify usage 2021-10-12 17:28:11 +02:00
subdir.am doc: Add the document for PIMv6 2022-03-10 02:12:54 -08:00
Useful_Sysctl_Settings.md doc: update VRF support description 2021-05-31 22:12:55 +03:00
vnc.rst doc: remove 'no' form of commands 2021-02-22 14:38:21 -05:00
vrrp.rst doc: remove 'no' form of commands 2021-02-22 14:38:21 -05:00
vtysh.rst vtysh: show live log messages 2022-02-28 13:33:27 +01:00
watchfrr.rst doc: remove 'no' form of commands 2021-02-22 14:38:21 -05:00
wecmp_linkbw.rst doc: automatically generate index entries for cli 2021-02-22 14:38:21 -05:00
zebra.rst zebra: Add a mpls enable interface node command 2022-08-08 09:15:22 -04:00