Top Banner
Gluon Project with EVPN Solution Lu Kai [email protected]
12

Gluon Project with EVPN Solution - conference.cn · Project Proposal – Support BGP-EVPN SDN-X ONOS BGP-EVPN ... Vpn-Port-Binding VTN APP ... • Deployed E2E Gluon EVPN project

Jul 19, 2018

Download

Documents

lekiet
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Gluon Project with EVPN Solution - conference.cn · Project Proposal – Support BGP-EVPN SDN-X ONOS BGP-EVPN ... Vpn-Port-Binding VTN APP ... • Deployed E2E Gluon EVPN project

Gluon Project with EVPN Solution

Lu Kai

[email protected]

Page 2: Gluon Project with EVPN Solution - conference.cn · Project Proposal – Support BGP-EVPN SDN-X ONOS BGP-EVPN ... Vpn-Port-Binding VTN APP ... • Deployed E2E Gluon EVPN project

Introduction – Gluon (A Model-Driven, Extensible Framework for NFV Networking Services)

Benefits: ü More choice Don’t have to find one tool that does everything ü  More simplicity

The individual API endpoints are much simpler because they only have to do one thing

ü  More innovation ü  Agile method to enable new use cases in telco market ü  Accelerated time-to-market of launching new services to Telco customers

GluonAims

q Supportmul*pleinfraandvendorssimultaneouslyq Model-DrivenAPIsandcodegenera*onq Agilityfornewservicesq Separa*onbetweenAPIsandbackend

Page 3: Gluon Project with EVPN Solution - conference.cn · Project Proposal – Support BGP-EVPN SDN-X ONOS BGP-EVPN ... Vpn-Port-Binding VTN APP ... • Deployed E2E Gluon EVPN project

Gluon Feature summary

Page 3

ü  It’s difficult to extend neutron’s networking API’s to

address several networking services.

ü  Gluon introduces a simple modelling framework q  To test different networking services (networking API’s)

q  Reduces time to market

q  Provides flexibility to integrate any controller

NOVA

Neutron Plugin:ML2

controller

VM

OVS

Gluon Driver

controller

OVS

Neutron Plugin

Compute

Node

VM

Neutron NOVA Neutron

Compute

Node

Page 4: Gluon Project with EVPN Solution - conference.cn · Project Proposal – Support BGP-EVPN SDN-X ONOS BGP-EVPN ... Vpn-Port-Binding VTN APP ... • Deployed E2E Gluon EVPN project

Gluon Present Support

Page 4

ü  Gluon relies on the Neutron’s Plugin frame.

ü  Gluon ensures that the L3 service is flexible.

ü  Adopts a model driven approach

ü  Data models are described using YAML

ü  Uses tool to generate corresponding networking API’s called Proton.

ü  Controller needs to define an adaptive shim layer to communicate with the Proton server using

etcd.

ü  Already support L3VPN networking API’s.

Page 5: Gluon Project with EVPN Solution - conference.cn · Project Proposal – Support BGP-EVPN SDN-X ONOS BGP-EVPN ... Vpn-Port-Binding VTN APP ... • Deployed E2E Gluon EVPN project

Gluon Ecosystem

Page 5

ü ONOS can support Gluon.

q  Support advertisement and processing of BGP-EVPN packets

q  Ensure multi-vendor compatibility for the defined NBI’s

Neutron

Agile Controller

VM1 VPN1

CE1800V

VM1 VPN2

VM2 VPN1

DPDK/ OVS

VM2 VPN2

ODL/ Ericsson

VM3 VPN1

Switch/ vRouter

VM3 VPN2

Juniper

VM5 VPN1

Juniper Switch/ vRouter

VM5 VPN2

Cisco

VM4 VPN1

Cisco Switch/ vRouter

VM4 VPN2

Gluon Proton

ONOS

Data Plane

Control Path

others

OtherCloudPla4orm

Page 6: Gluon Project with EVPN Solution - conference.cn · Project Proposal – Support BGP-EVPN SDN-X ONOS BGP-EVPN ... Vpn-Port-Binding VTN APP ... • Deployed E2E Gluon EVPN project

Project Proposal – Support BGP-EVPN

ONOS SDN-X

BGP-EVPN

VxLAN

VM1 evpn-ins:1

EVPN

Host2

OVS

Host 1

Vrouter/switch

shim

etcd

Proton-Server

Neutron

Nova shim

VM3 evpn-ins:1

VM2 evpn-ins:2

VM4 evpn-ins:2

ü  Integrate ONOS with Gluon.

ü  Between two independent ONOS controllers establish BGP-EVPN session.

ü  Form OVS VxLAN tunnel.

ü  Different tenants establish BGP EVPN session and does not affect each other.

Page 7: Gluon Project with EVPN Solution - conference.cn · Project Proposal – Support BGP-EVPN SDN-X ONOS BGP-EVPN ... Vpn-Port-Binding VTN APP ... • Deployed E2E Gluon EVPN project

ONOS Project Framework

Page 7

ONOS CORE

BGP Provider

Network Config Subsystem

BGP-EVPN Open (L2VPN:25, EVPN:70) KeepAlive Update (MP_NLRI \ MP_UNLRI) Notification

http://127.0.0.1:8181/onos/v1/network/configuration “RouterId”: “10.0.2.27”, “LocalAs”: 100, “HoldTime”: 90th, “EvpnCapability”: true, “BgpPeer”:[{“PeerIp”: “10.0.2.28”, “RemoteAs”: 100, “PeerHoldTime”: 90th, “ConnectMode”:“Active”}]

ReSTful API

BGP-EVPN

Host Subsystem

Route Subsystem

OVSDB OpenFlow

FlowRule Subsystem

ovs

VM

EVPN APP

SHIM Vpnlist, Port-VM Vpn-Port-Binding

VTN APP makes VxLAN connection

ü  EVPN and VTN APP coordination is required.

ü  BGP_LS Provider will be extended to support BGP-EVPN signaling;

ü  Through the shim layer, EVPN-APP will communicate with Gluon and receives EVPN configuration.

ü  EVPN-APP processing will include:

ü  OVS establishes the VxLan tunnel;

ü  BGP to transmit local MAC/IP to other BGP peer via BGP-EVPN routes.

ü  BGP peers needs to program the OVS data-plane for the received MAC/IP.

Page 8: Gluon Project with EVPN Solution - conference.cn · Project Proposal – Support BGP-EVPN SDN-X ONOS BGP-EVPN ... Vpn-Port-Binding VTN APP ... • Deployed E2E Gluon EVPN project

Essential flow – Gluon Configurations

Protonclient –api net-l3vpn vpn-list [ { “Description”: “My Test VPN”, “Route_distinguishers”: “1100:1100”, “name”: “TestVPN”, “Ipv6_family”: “1100:1100”, “Id”: “B70b4bbd-aa40-48d7-aa4b-57cc2fd34010”, “Ipv4_family”: “1000:1000” }]

Protonclientt --api net-l3vpn port-list [ { “Status”: “ACTIVE”,

“Vif_type”: “Ovs”, “Name”: “TestVPNPort”, “Admin_state_up”: true, “Tenant_id”: “5205b400fa6c4a888a0b229200562229”,

“Mtu”: 1500, “Vnic_type”: “Normal”,

“Vlan_transparency”: true, “Mac_address”: “c8:2a:14:04:43:30”,

“Id”: “Fe338d4c-2aef-4487-aa25-cb753bf02518” }]

protonclient --api net-l3vpn vpnbinding-create --interface_id fe338d4c-2aef-4487-aa25-cb753bf02518 --service_id b70b4bbd-aa40-48d7-aa4b-57cc2fd34010 --ipaddress 10.0.0.103 --sebnet_prefix 24 --gateway 10.0.0.1

nova --debug boot --flavor 1 --image cirros --nic port-id=fe338d4c-2aef-4487-aa25-cb753bf02518 TestGluon

1. Create Gluon Port and VPN

2. Bind Gluon port to the created VPN

3. Boot a VM with the gluon port bounded to the created VPN

ONOS Gluon APP will extract these configuration using etcd-client

protonclient –api net-l3vpn vpn-create --name "TestVPN" --ipv4_family 1100:1100 --ipv6_family 1100:1100 --route_distinguishers 1100:1100 --description "My Test VPN"

protonclient --api net-l3vpn port-create --mac_address c8:2a:14:04:43:30 --mtu 1500 --admin_state_up True --name "TestVPNPort" --vlan_transparency True --vnic_type normal --vif_type ovs --status ACTIVE --tenant_id $(openstack network list --long -c Project -c Name | grep GluonNetwork | awk '{print $4}'

{ “service_id”: “B70b4bbd-aa40-48d7-aa4b-57cc2fd34010”, “Interface_id”: “Fe338d4c-2aef-4487-aa25-cb753bf02518”, “ipaddress”: “10.0.0.103”, }

Page 9: Gluon Project with EVPN Solution - conference.cn · Project Proposal – Support BGP-EVPN SDN-X ONOS BGP-EVPN ... Vpn-Port-Binding VTN APP ... • Deployed E2E Gluon EVPN project

Collaboration with Other Companies

Tech Mahindra

• Strategy • Huawei India will design & implement ONOS Gluon EVPN • Tech Mahindra will design & implement ONOS Gluon L3VPN

• Knowledge share • Huawei India gave ONOS Gluon EVPN design training to Tech Mahindra • Huawei India conducted ONOS Gluon EVPN code walk through

ON.Lab

• ONOS Route Subsystem • Discussed with ON.Lab and refined their new route subsystem design • As per ON.Lab design, added route subsystem support for EVPN routes

• ONOS Gluon EVPN • Updated BGP provider, EVPN app and Gluon app and submitted for review by ON.Lab

Ericsson & Juniper

• Lab • Deployed E2E Gluon EVPN project in Ericsson OPNFV Lab

•  Interoperability • YAML based BGP configuration on ONOS and Juniper Contrail controllers using Gluon proton-client • Verified BGP EVPN route exchange and interoperability between ONOS and Juniper Contrail controllers

Page 10: Gluon Project with EVPN Solution - conference.cn · Project Proposal – Support BGP-EVPN SDN-X ONOS BGP-EVPN ... Vpn-Port-Binding VTN APP ... • Deployed E2E Gluon EVPN project

Progress & Workload

Features Implemented

ONOS Gluon App

ONOS EVPN App

Route Subsystem Support EVPN route

BGP Provider Support EVPN route exchange

YAML based BGP config via ETCD

Scenarios Demonstrated

Single VPN bind/unbind

Multi VPN bind/unbind

Host & VPN addition/deletion

Shim layer operations

YAML based BGP EVPN peer config and route exchange

Current Status

Total code size: 15 KLOC

Committed to ONOS

Review in progress

Page 11: Gluon Project with EVPN Solution - conference.cn · Project Proposal – Support BGP-EVPN SDN-X ONOS BGP-EVPN ... Vpn-Port-Binding VTN APP ... • Deployed E2E Gluon EVPN project

Other Community Activities

•  Presented Gluon EVPN demo to OpenStack Boston Summit 2017

•  EVPN project is dependent on OpenStack Gluon-core-plugin

•  Discussed with OpenStack Gluon community and resolved the issues during integration

OpenStack

•  Deployed E2E Gluon EVPN project in Ericsson OPNFV Lab

•  Verified BGP EVPN interop between SDN ONOS and Juniper Contrail controller using YAML config via Gluon proton-client

OPNFV

Page 12: Gluon Project with EVPN Solution - conference.cn · Project Proposal – Support BGP-EVPN SDN-X ONOS BGP-EVPN ... Vpn-Port-Binding VTN APP ... • Deployed E2E Gluon EVPN project

Thanks