Académique Documents
Professionnel Documents
Culture Documents
Networking
Business so far:
SDN/NFV prototypes for carriers and system integrators
Now:
Early product stage for SDN-WiFi and basebox
Which problem do we want to solve?
Non-goal:
Learn another CLI (I know iproute, do I really need to know more?)
use a separate management system
ssh into each and every switch.
What you want
VM VM VM VM
Plus dumb bridges or routers that could do a lot more than L2 forwarding!
General ASIC pipeline: richly functional
tunnel L2/L3/
port VLAN ACL QoS modifications port
termination MPLS
Broadcom SDK
ASIC
Operating system options
So, I have my OCP whitebox switch, what next?
https://github.com/bisdn/basebox
Why netlink?
OpenFlow Netlink
OF-Config User Space
Kernel Space
nftables Routing Bridging VLAN Interfaces
Baseboxd architecture
Linux kernel
baseboxd Adaptation
baseboxd
switch
Linux view bridge abstraction
L2 + VLAN
vlan_aw_br0
OpenFlow Netlink
OF-Config User Space
Kernel Space
nftables Routing Bridging VLAN Interfaces
Manual config
# controller (linux):
ip link add type bridge
ip link set bridge0 vlan_filtering 1
ip link set bridge0 up
ip link set port1 master bridge0
# switch: (client_flowtable_dump)
Table ID 10 (VLAN): Retrieving all entries. Max entries = 16384, Current entries = 2.
-- inPort = 1 (Physical) vlanId:mask = 0x0000:0x1fff (VLAN 0) | GoTo = 20 (Termination MAC) newVlanId = 0x1001 (VLAN 1)
| priority = 3 hard_time = 0 idle_time = 0 cookie = 0
-- inPort = 1 (Physical) vlanId:mask = 0x1001:0x1fff (VLAN 1) | GoTo = 20 (Termination MAC) | priority = 3 hard_time = 0
idle_time = 0 cookie = 0
Manual config
# controller
bridge vlan add vid 2 dev port1
# switch: (client_flowtable_dump)
Table ID 10 (VLAN): Retrieving all entries. Max entries = 16384, Current entries = 2.
-- cut --
-- inPort = 1 (Physical) vlanId:mask = 0x1002:0x1fff (VLAN 2) | GoTo = 20 (Termination MAC) | priority =
3 hard_time = 0 idle_time = 0 cookie = 0
etcd connector
systemd networkd
ML2
Neutron baseboxd
OpenFlow
(and OF-Config)