Openvswitch Cheat Sheet
4 minute read
Look up the table
ovs-vsctl list bridge ovs-br
About Bridge and Port
| OpenVswitch |
About Bridge and Port |
| Add Bridge |
ovs-vsctl add-br ovs-br |
| Corresponds to the interface on ovs-br |
ovs-vsctl add-port ovs-br eth0 |
| (1) + (2) can be written |
ovs−vsctl add−br ovs-br -- add−port ovs-br eth0 |
| Remove Bridge |
ovs-vsctl del-br ovs-br # If it does not exist, there will be error log ovs-vsctl --if-exists del-br ovs-br |
| Change the ofport (openflow port number) to 100 |
ovs-vsctl add-port ovs-br eth0 -- set Interface eth0 ofport_request=100 |
| Set the port to internal |
ovs-vsctl set Interface eth0 type=internal |
About the Controller
| OpenVswitch |
About the Controller |
| Set the Controller |
ovs-vsctl set-controller ovs-br tcp:1.2.3.4:6633 |
| Set the multi controller |
ovs-vsctl set-controller ovs-br tcp:1.2.3.4:6633 tcp:5.6.7.8:6633 |
| Query the Controller settings |
ovs-vsctl show |
| If you have successfully connected to the controller appears is_connected:true , otherwise not connected |
ovs-vsctl get-controller ovs-br |
| Remove the Controller |
ovs-vsctl del-controller ovs-br |
About STP (Spanning Tree Protocol)
| OpenVswitch |
About STP |
| Enable STP |
ovs-vsctl set bridge ovs-br stp_enable=true |
| Turn off STP |
ovs-vsctl set bridge ovs-br stp_enable=false |
| Query STP settings |
ovs-vsctl get bridge ovs-br stp_enable |
| Set Priority |
ovs−vsctl set bridge br0 other_config:stp-priority=0x7800 |
| Set Cost |
ovs−vsctl set port eth0 other_config:stp-path-cost=10 |
| Remove the STP settings |
ovs−vsctl clear bridge ovs-br other_config |
About Openflow Version
| OpenVswitch |
About Openflow Version |
| OpenFlow Version 1.3 is supported |
ovs-vsctl set bridge ovs-br protocols=OpenFlow13 |
| Support OpenFlow Version 1.3 1.2 |
ovs-vsctl set bridge ovs-br protocols=OpenFlow12,OpenFlow13 |
| Remove the OpenFlow support settings |
ovs-vsctl clear bridge ovs-br protocols |
VLAN
| OpenVswitch |
About VLAN |
| Set the VLAN tag |
ovs-vsctl add-port ovs-br vlan3 tag=3 -- set interface vlan3 type=internal |
| Remove the VLAN |
ovs-vsctl del-port ovs-br vlan3 |
| Query the VLAN |
ovs-vsctl show ifconfig vlan3 |
| Set the Vlan trunk |
ovs-vsctl add-port ovs-br eth0 trunk=3,4,5,6 |
| Set the add port to access port, vlan id 9 |
ovs-vsctl set port eth0 tag=9 |
| Ovs-ofctl add-flow Set vlan 100 |
ovs-ofctl add-flow ovs-br in_port=1,dl_vlan=0xffff,actions=mod_vlan_vid:100,output:3 ovs-ofctl add-flow ovs-br in_port=1,dl_vlan=0xffff,actions=push_vlan:0x8100,set_field:100-\>vlan_vid,output:3 |
| Ovs-ofctl add-flow Remove the vlan tag |
ovs-ofctl add-flow ovs1 in_port=3,dl_vlan=100,actions=strip_vlan,output:1 |
| Two_vlan example |
ovs-ofctl add-flow pop-vlan ovs-ofctl add-flow ovs-br in_port=3,dl_vlan=0xffff,actions=pop_vlan,output:1 |
About GRE tunnels
| OpenVswitch |
About GRE |
| Set the GRE tunnel |
ovs−vsctl add−port ovs-br ovs-gre -- set interface ovs-gre type=gre options:remote_ip=1.2.3.4 |
| Check the GRE tunnel |
ovs-vsctl show |
About Dump flows
| OpenVswitch |
About Dump flows |
| Dumps OpenFlow flows do not contain hidden flows (common) |
ovs-ofctl dump-flows ovs-br |
| Dumps OpenFlow flows contain hidden flows |
ovs-appctl bridge/dump-flows ovs-br |
| Dump specific bridge of the datapath flows regardless of any type |
ovs-appctl dpif/dump-flows ovs-br |
| Dump in the Linux kernel in the datapath flow table (commonly used) |
ovs-dpctl dump-flows [dp] |
| Top like behavior for ovs-dpctl dump-flows |
ovs-dpctl-top |
XenServer starts OpenvSwitch mode
| OpenVswitch |
XenServer |
| Check whether it is on or not |
service openvswitch status |
| Openv |
xe-switch-network-backend openvswitch |
| shut down |
xe-switch-network-backend bridge |
About Log
| OpenVswitch |
About Log |
| Query log level list |
ovs-appctl vlog/list |
| Set the log level (to stp set dbg level file as an example) |
ovs-appctl vlog/set stp:file:dbg ovs-appctl vlog/set {module name}:{console, syslog, file}:{off, emer, err, warn, info, dbg} |
About Fallback
| OpenVswitch |
About Fallback |
| Controller connection: false, will be automatically transferred into the legacy switch mode |
ovs-vsctl set-fail-mode ovs-br standalone |
| Regardless of the Controller connection status why, must be carried out through OpenFlow network behavior (default) |
ovs-vsctl set-fail-mode ovs-br secure |
| Remove |
ovs-vsctl del-fail-mode ovs-br |
| Inquire |
ovs-vsctl get-fail-mode ovs-br |
About sFlow
| OpenVswitch |
About sFlow |
| Inquire |
ovs-vsctl list sflow |
| New |
set sFlow |
| delete |
ovs-vsctl -- clear Bridge ovs-br sflow |
About NetFlow
| OpenVswitch |
About NetFlow |
| Inquire |
ovs-vsctl list netflow |
| New |
Set NetFlow |
| Delete |
ovs-vsctl -- clear Bridge ovs-br netflow |
Set the Out-of-band and in-band
| OpenVswitch |
Set the Out-of-band and in-band |
| Inquire |
ovs-vsctl get controller ovs-br connection-mode |
| Out-of-band |
ovs-vsctl set controller ovs-br connection-mode=out-of-band |
| In-band (default) |
ovs-vsctl set controller ovs-br connection-mode=in-band |
| Remove the hidden flow |
ovs-vsctl set bridge br0 other-config:disable-in-band=true |
About ssl
| OpenVswitch |
About SSL |
| Inquire |
ovs-vsctl get-ssl |
| set up |
ovs-vsctl set-ssl sc-privkey.pem sc-cert.pem cacert.pem |
| delete |
ovs-vsctl del-ssl |
About SPAN
| OpenVswitch |
About SPAN |
| Detailed settings |
ovs-vsctl add-br ovs-br ovs-vsctl add-port ovs-br eth0 ovs-vsctl add-port ovs-br eth1 ovs-vsctl add-port ovs-br tap0 \ - --id = @ p get port tap0 \ - - id = @m create mirror name = m0 select-all = true output-port = @ p \ - set bridge ovs-br mirrors = @ m |
| Add |
ovs-br on add-port {eth0, eth1} mirror to tap0 |
| delete |
ovs-vsctl clear bridge ovs-br mirrors # About Table |
| Check the Table |
ovs-ofctl dump-tables ovs-br |
About VXLAN
Reference rascov - Bridge Remote Mininets using VXLAN
| OpenVswitch |
About VxLAN |
| Establish the VXLAN Network ID (VNI) and the specified OpenFlow port number, eg: VNI = 5566, OF_PORT = 9 |
ovs-vsctl set interface vxlan type=vxlan option:remote_ip=xxxx option:key=5566 ofport_request=9 |
| VNI flow by flow |
ovs-vsctl set interface vxlan type=vxlan option:remote_ip=140.113.215.200 option:key=flow ofport_request=9 |
| Set the VXLAN tunnel id |
ovs-ofctl add-flow ovs-br in_port=1,actions=set_field:5566->tun_id,output:2 ovs-ofctl add-flow s1 in_port=2,tun_id=5566,actions=output:1 |
About OVSDB Manager
Reference OVSDB Integration: Mininet OVSDB Tutorial
| OpenVswitch |
About OVSDB |
| Active Listener settings |
ovs-vsctl set-manager tcp:1.2.3.4:6640 |
| Passive Listener settings |
ovs-vsctl set-manager ptcp:6640 |
OpenFlow Trace
| OpenVswitch |
About OpenFlow Trace |
| Generate pakcet trace |
ovs-appctl ofproto/trace ovs-br in_port=1,dl_src=00:00:00:00:00:01,dl_dst=00:00:00:00:00:02 -generate |
Other
| OpenVswitch |
Others |
| Query the OpenvSwitch version |
ovs-ofctl -V |
| Query the history of the next instruction |
ovsdb-tool show-log [-mmm] |
Reference
Comments