summaryrefslogtreecommitdiffhomepage
path: root/docs/sources/evpn.md
AgeCommit message (Collapse)Author
2018-05-08gobgp/cmd: add router-mac option for BGP EVPN Type 2Paul Greenberg
The `router-mac` option in `gobgp` CLI allows sending Router's MAC Extended Community via BGP EVPN Type 2 and Type 5 advertisements. As explained in below RFC draft, this community is used to carry the MAC address of the VTEP where MAC-IP pair resides. More info: For example, GoBGP router (R1) peers with Cisco router (R2). R1 is used by an orchestraction platform, e.g. OpenStack, Docker Swarm, etc., to advertise container MAC-IP bindings. When R1 advertises the binding it also sets next hop for the route as the host where the MAC-IP binding (i.e. container) resides. When R2 receives the route, it will not install it unless Router's MAC Extended Community is present. R2 will use the MAC address in the community to create an entry in MAC address table of R2 pointint to NVE interface. ``` gobgp global rib -a evpn add macadv e9:72:d7:aa:1f:b4 \ 172.16.100.100 etag 0 label 34567 rd 10.1.1.1:100 \ rt 65001:100 encap vxlan nexthop 10.10.10.10 \ origin igp router-mac e9:72:d7:aa:1f:b4 gobgp global rib -a evpn add nexthop 10.10.10.10 origin igp \ prefix 172.16.100.100/32 esi 0 etag 0 rd 10.1.1.1:100 \ rt 65001:100 gw 10.10.10.10 label 34567 encap vxlan \ router-mac e9:72:d7:aa:1f:b4 ``` In the above example, a host with IP of `10.10.10.10` runs a container connected to an Open vSwitch instance. The container's IP address is `172.16.100.100` and MAC address `e9:72:d7:aa:1f:b4`. The Open vSwitch is VTEP with `tunnel_key=34567`, i.e. VNID `34567`. GoBGP (R1) and Cisco (R2) routers are in BGP AS 65001. R1's IP is `10.1.1.1`. R2 used RT of `65001:100` to import routes and place them into appropriate VRF. In this case the VRF is associated with L2VNI from VLAN 300. Upon the receipt of the above BGP EVPN Type 2 and Type 5 routes, R2 will create create a MAC address entry pointing to it's NVE interface with destination IP address of `10.10.10.10`. ``` Legend: * - primary entry, G - Gateway MAC, (R) - Routed MAC, O - Overlay MAC age - seconds since last seen,+ - primary entry using vPC Peer-Link, (T) - True, (F) - False, C - ControlPlane MAC VLAN MAC Address Type age Secure NTFY Ports ---------+-----------------+--------+---------+------+----+------------------ * 300 e972.d7aa.1fb4 static - F F nve1(10.10.10.10) ``` The R2 will use the `router-mac e9:72:d7:aa:1f:b4` as the destination MAC address of the inner VXLAN packet. For example, an underlay host `20.20.20.20` ping the container. The inner VXLAN L2 destination address is `e9:72:d7:aa:1f:b4`. The inner VXLAN L2 source address is R2's MAC. The outer VXLAN L3 source address, i.e. `10.2.2.2` is R2' NVE address. ``` OUTER VXLAN L2: 10:20:08:d0:ff:23 > b2:0e:19:6a:8d:51 OUTER VXLAN L3: 10.2.2.2.45532 > 10.10.10.10.4789: VXLAN, flags [I] (0x08), vni 34567 INNER VXLAN L2: 4e:f4:ca:aa:f6:7b > e9:72:d7:aa:1f:b4 INNER VXLAN L3: 20.20.20.20 > 172.16.100.100: ICMP echo reply, id 66, seq 1267, length 64 ``` See also: https://tools.ietf.org/html/draft-sajassi-l2vpn-evpn-inter-subnet-forwarding-05#section-6.1 Signed-off-by: Paul Greenberg <greenpau@outlook.com>
2018-04-02*.md: Improvements for markdownlintIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2018-02-16cli: Support to advertise PMSI Tunnel AttributeIWASE Yusuke
This patch enables "gobgp" command to advertise the PMSI Tunnel Attribute which is appended to the EVPN Inclusive Multicast Ethernet Tag routes for example. Usage Example: $ gobgp global rib -a evpn add multicast 10.0.0.1 etag 10 rd 65000:100 pmsi ingress-repl 100 1.1.1.1 $ gobgp global rib -a evpn Network Labels Next Hop AS_PATH Age Attrs *> [type:multicast][rd:65000:100][etag:10][ip:10.0.0.1] 0.0.0.0 00:00:00 [{Origin: ?} {Pmsi: type: ingress-repl, label: 100, tunnel-id: 1.1.1.1}] Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-12-30evpn.md: Add description and examples for ESIIWASE Yusuke
Also this patch updates table of contents. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-12-30cli: Support EVPN Default Gateway Extended CommunityIWASE Yusuke
This patch enables to support the Default Gateway Extended Community on the EVPN MAC/IP Advertisement route. Usage Example: $ gobgp global rib -a evpn add macadv aa:bb:cc:dd:ee:ff 10.0.0.1 etag 10 label 20,30 rd 1.1.1.1:65000 default-gateway $ gobgp global rib -a evpn Network Labels Next Hop AS_PATH Age Attrs *> [type:macadv][rd:1.1.1.1:65000][etag:10][mac:aa:bb:cc:dd:ee:ff][ip:10.0.0.1] [20,30] 0.0.0.0 00:00:00 [{Origin: ?} {Extcomms: [default-gateway]} [ESI: single-homed]] Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-12-21doc: CLI Syntax for EVPN routesIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-12-16docs: update evpn.md for with yabgp 0.4.0sanjmonkey
Notable change: extended community formatting. # YaBGP BGP EVPN extended communities: mac-mobility esi-label es-import router-mac
2017-11-21packet/bgp: Use ESI str in EVPN Ethernet Segment RouteIWASE Yusuke
This patch fixes to use the string representation of ESI in the string representation of EVPN Ethernet Segment Route. Currently, displayed in the default representation of ESI structure. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-11-07evpn.md: Update tutorial using YABGPIWASE Yusuke
This patch updates output examples of GoBGP and YABGP along with changing the format of "gobgp global rib -a evpn" command. Also, this patch provides the curl command examples for sending POST requests. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-11-07evpn.md: Update tutorial using BaGPipeIWASE Yusuke
To interchange routes over iBGP session, this patch add the config of Route Reflector to GoBGP and updates output examples of GoBGP and BaGPipe. Note: The BaGPipe Docker image described on this document does not seem to be maintained for 2 years and contains the old version of BaGPipe. So this patch drops the description of this image. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-11-07docs: Update table of contents of evpn.mdIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2016-05-16docs: add yabgp testing to evpnPeng Xiao
Signed-off-by: Peng Xiao <xiaoquwl@gmail.com>
2016-04-21config: simplify config structuresISHIDA Wataru
stop generating self-contained leafref fields in openconfig model. (e.g. bgp:neighbor/bgp:neighbor-address ) Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-01-09docs: updateISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-12-28config: make config/state variable name simpleISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-08-03doc: update documents in accordance with the latest openconfig yangNaoto Hanaue
2015-04-10docs: add EVPN docFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>