mirror_frr/yang
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
..
confd yang, ripd, ripngd: fix annotate statements 2021-11-11 23:05:46 -08:00
example ripd: add VRF support 2019-01-18 16:15:41 -02:00
ietf lib, yang: remove vrf from the interface list key 2021-11-23 12:57:52 +03:00
libyang_plugins lib: add yang wrappers for IP prefixes 2019-09-18 13:38:28 -03:00
.gitignore yang: add .gitignore 2018-11-19 23:59:41 +01:00
embedmodel.py lib: adapt to version 2 of libyang 2021-05-13 16:24:48 -04:00
frr-bfdd.yang bfdd,yang: optimize nb with YANG 2022-01-25 04:00:49 -05:00
frr-bgp-bmp.yang lib, yang: Fix spellinig of miliseconds 2022-04-02 07:48:18 -04:00
frr-bgp-common-multiprotocol.yang lib: adapt to version 2 of libyang 2021-05-13 16:24:48 -04:00
frr-bgp-common-structure.yang lib, yang: Fix spellinig of miliseconds 2022-04-02 07:48:18 -04:00
frr-bgp-common.yang lib, yang: Fix spellinig of miliseconds 2022-04-02 07:48:18 -04:00
frr-bgp-filter.yang lib,zebra,bgpd,ospfd,ospf6d: Route-map yang defns 2021-03-30 22:58:42 +03:00
frr-bgp-neighbor.yang yang, bgpd: add missing includes 2021-11-11 23:05:46 -08:00
frr-bgp-peer-group.yang yang, bgpd: add missing includes 2021-11-11 23:05:46 -08:00
frr-bgp-route-map.yang bgpd: add resolution for l3vpn traffic over gre interfaces 2022-09-05 22:26:25 +02:00
frr-bgp-rpki.yang bgpd: yang defination 2020-08-14 07:44:39 -07:00
frr-bgp-types.yang yang: replace dummy rmap-ref with actual route-map leafref 2020-09-17 18:00:06 +03:00
frr-bgp.yang bgpd: fix default for extended-nexthop-capability 2021-05-23 20:30:04 +00:00
frr-deviations-bgp-datacenter.yang bgpd: yang defination 2020-08-14 07:44:39 -07:00
frr-eigrpd.yang yang: use leafref instead of string 2020-09-17 18:00:06 +03:00
frr-filter.yang yang: mark a couple of prefix-list/access-list leafs as mandatory 2021-08-10 22:39:32 +03:00
frr-gmp.yang pim6d: show MLD in running-config 2022-05-06 16:02:02 +02:00
frr-interface.yang lib, yang: remove vrf from the interface list key 2021-11-23 12:57:52 +03:00
frr-isisd.yang isisd: replace ipv4-unicast with standard in config and oper contexts 2022-06-02 21:20:45 +02:00
frr-module-translator.yang yang: adopt the BSD-2-Clause license for our YANG modules 2020-05-04 21:10:43 -03:00
frr-nexthop.yang yang: replace an empty pattern with a zero-length restriction 2021-10-05 14:03:37 +03:00
frr-ospf6-route-map.yang lib,zebra,bgpd,ospfd,ospf6d: Route-map yang defns 2021-03-30 22:58:42 +03:00
frr-ospf-route-map.yang lib,zebra,bgpd,ospfd,ospf6d: Route-map yang defns 2021-03-30 22:58:42 +03:00
frr-ospfd.yang lib: adapt to version 2 of libyang 2021-05-13 16:24:48 -04:00
frr-pathd.yang yang: Fix spelling mistake 2022-02-14 12:56:21 -05:00
frr-pim-rp.yang yang: move multicast prefix type definition 2021-05-21 07:55:51 -03:00
frr-pim.yang pimd: Northbound support for pim passive enable 2022-05-12 23:51:21 -07:00
frr-ripd.yang lib: adapt to version 2 of libyang 2021-05-13 16:24:48 -04:00
frr-ripngd.yang yang: use leafref instead of string 2020-09-17 18:00:06 +03:00
frr-route-map.yang bgpd: Add an ability to match ipv6 next-hop by prefix-list 2021-11-24 16:28:31 +02:00
frr-route-types.yang yang: Fix the ipv6 multicast pattern in frr-route-types 2022-03-07 23:40:02 -08:00
frr-routing.yang yang: fix frr-routing prefix 2021-11-11 23:05:46 -08:00
frr-staticd.yang staticd: make table-id as the key for path-list 2021-01-09 23:22:32 -08:00
frr-test-module.yang yang: use leafref instead of string 2020-09-17 18:00:06 +03:00
frr-vrf.yang yang: adopt the BSD-2-Clause license for our YANG modules 2020-05-04 21:10:43 -03:00
frr-vrrpd.yang vrrpd.yang bug fix: modify augment path to comply with rfc 7950 2021-01-02 17:47:11 -08:00
frr-zebra-route-map.yang lib: adapt to version 2 of libyang 2021-05-13 16:24:48 -04:00
frr-zebra.yang lib: adapt to version 2 of libyang 2021-05-13 16:24:48 -04:00
LICENSE yang: adopt the BSD-2-Clause license for our YANG modules 2020-05-04 21:10:43 -03:00
subdir.am pim: Keeping list of address-family under gmp container 2022-01-17 05:10:20 -08:00