abstractions for consuming the networking service − One or more backend implementations of that API • Why? − Networking constructs baked into Nova (OpenStack compute) − No tenant control over network topology and service insertion − Multi-tenancy and scalability
− Modular, delegates calls to proper drivers − Two kind of drives: • Type drivers (support specific network type) • Mechanism drivers (ensure the information established by the TypeDriver is properly applied) − 2 default implementations: OpenVSwitch and LinuxBridge Neutron Plugin
◦ Be able to connect to lots of networks ◦ Handle containers traffic ◦ Be compatible with legacy applications that expect to use VLANs ◦ New entities: ▪ Trunk port ▪ Sub port https://specs.openstack.org/openstack/neutron-specs/specs/newton/vlan-aware-vms.html VLAN aware VMs
Egress traffic • Needs scheduling improvements ◦ No overcommitting of the physical interface https://bugs.launchpad.net/neutron/+bug/1560963 https://bugs.launchpad.net/neutron/+bug/1578989
consumer side • CSP’s to ◦ plan and allocate bandwidth to customers ◦ Provide different levels of network services • Bandwidth limiting rules got a direction field ◦ By default set to egress (original functionality) • OVS Agent support is in progress https://blueprints.launchpad.net/neutron/+spec/instance-ingress-bw-limit
◦ Same core functionality • Kernel support is in place from version 4.8 ◦ SW representation mode ◦ Allows to offload SW switch traffic rules to the HW e- switch • OVS support is in progress • Neutron status is dependent on the OVS upstream progress https://bugs.launchpad.net/neutron/+bug/1627987
OVS QinQ support ◦ Related patches are merged upstream ◦ Will be released in August (version 2.8) • Neutron implementation is in progress • Adds support for vlan-transparent networks in the OVS ML2 driver https://review.openstack.org/#/c/446047/ https://bugs.launchpad.net/neutron/+bug/1604222