Skip to content

Instantly share code, notes, and snippets.

@djoreilly
Last active October 24, 2025 08:59
Show Gist options
  • Save djoreilly/c5ea44663c133b246dd9d42b921f7646 to your computer and use it in GitHub Desktop.
Save djoreilly/c5ea44663c133b246dd9d42b921f7646 to your computer and use it in GitHub Desktop.

Revisions

  1. djoreilly revised this gist Feb 25, 2021. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions ovs-cheat.md
    Original file line number Diff line number Diff line change
    @@ -82,6 +82,7 @@ top -p `pidof ovs-vswitchd` -H -d1
    ovs-appctl dpctl/show -s
    ovs-appctl memory/show
    ovs-appctl upcall/show
    ovs-appctl coverage/show
    ```
    **neutron ml2/ovs tracing**
  2. djoreilly revised this gist Jan 18, 2021. 1 changed file with 20 additions and 0 deletions.
    20 changes: 20 additions & 0 deletions ovs-cheat.md
    Original file line number Diff line number Diff line change
    @@ -83,4 +83,24 @@ ovs-appctl dpctl/show -s
    ovs-appctl memory/show
    ovs-appctl upcall/show
    ```
    **neutron ml2/ovs tracing**
    ```
    PORT=tapfdd73231-29
    tag=$(ovs-vsctl get port $PORT tag)
    ofport=$(ovs-vsctl get interface $PORT ofport)
    mac=$(ovs-vsctl get interface $PORT external_ids:attached-mac | sed -e 's/"//g')
    # will flood to all tunnels
    ovs-appctl ofproto/trace br-int in_port=${ofport},dl_src=${mac}
    # unicast
    dhcp_mac=fa:16:3e:46:07:82
    ovs-appctl ofproto/trace br-int in_port=${ofport},dl_src=${mac},dl_dst=${dhcp_mac}
    # Inbound from tunnel
    ovs-ofctl show br-tun | grep -E "^ [0-9]"
    tun_ofport=2
    tun_id=$(ovs-vsctl get port $PORT other_config:segmentation_id | sed -e 's/"//g')
    ovs-appctl ofproto/trace br-tun in_port=${tun_ofport},dl_src=${dhcp_mac},dl_dst=${mac},tun_id=$tun_id
    ```
  3. djoreilly revised this gist Feb 20, 2020. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion ovs-cheat.md
    Original file line number Diff line number Diff line change
    @@ -3,7 +3,7 @@
    ovs-vsctl list open_vswitch
    ovs-vsctl list interface
    ovs-vsctl list interface vxlan-ac000344
    ovs-vsctl list interface vxlan-ac000344 options
    ovs-vsctl --columns=options list interface vxlan-ac000344
    ovs-vsctl --columns=ofport,name list Interface
    ovs-vsctl --columns=ofport,name --format=table list Interface
    ovs-vsctl -f csv --no-heading --columns=_uuid list controller
  4. djoreilly revised this gist Feb 20, 2020. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions ovs-cheat.md
    Original file line number Diff line number Diff line change
    @@ -2,6 +2,8 @@
    ```
    ovs-vsctl list open_vswitch
    ovs-vsctl list interface
    ovs-vsctl list interface vxlan-ac000344
    ovs-vsctl list interface vxlan-ac000344 options
    ovs-vsctl --columns=ofport,name list Interface
    ovs-vsctl --columns=ofport,name --format=table list Interface
    ovs-vsctl -f csv --no-heading --columns=_uuid list controller
  5. djoreilly revised this gist Dec 12, 2019. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions ovs-cheat.md
    Original file line number Diff line number Diff line change
    @@ -5,6 +5,7 @@ ovs-vsctl list interface
    ovs-vsctl --columns=ofport,name list Interface
    ovs-vsctl --columns=ofport,name --format=table list Interface
    ovs-vsctl -f csv --no-heading --columns=_uuid list controller
    ovs-vsctl -f csv --no-heading -d bare --columns=other_config list port
    ovs-vsctl --format=table --columns=name,mac_in_use find Interface name=br-dpdk1
    ovs-vsctl get interface vhub656c3cb-23 name
  6. djoreilly revised this gist Oct 23, 2019. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion ovs-cheat.md
    Original file line number Diff line number Diff line change
    @@ -27,7 +27,7 @@ ovs-ofctl dump-flows br-int
    # include hidden flows
    ovs-appctl bridge/dump-flows br0
    # remove stats on older versions that don't have --no0stats
    # remove stats on older versions that don't have --no-stats
    ovs-ofctl dump-flows br-int | cut -d',' -f3,6,7-
    ovs-ofctl -O OpenFlow13 dump-flows br-int | cut -d',' -f3,6,7-
  7. djoreilly revised this gist Oct 23, 2019. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions ovs-cheat.md
    Original file line number Diff line number Diff line change
    @@ -27,6 +27,8 @@ ovs-ofctl dump-flows br-int
    # include hidden flows
    ovs-appctl bridge/dump-flows br0
    # remove stats on older versions that don't have --no0stats
    ovs-ofctl dump-flows br-int | cut -d',' -f3,6,7-
    ovs-ofctl -O OpenFlow13 dump-flows br-int | cut -d',' -f3,6,7-
    ovs-appctl dpif/show
  8. djoreilly revised this gist Oct 23, 2019. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions ovs-cheat.md
    Original file line number Diff line number Diff line change
    @@ -55,6 +55,9 @@ ovs-appctl dpif-netdev/pmd-rxq-show
    ```
    ovs-appctl vlog/list | grep dpdk
    ovs-appctl vlog/set dpdk:file:dbg
    # log openflow
    ovs-appctl vlog/set vconn:file:dbg
    ```
    **Misc**
    ```
  9. djoreilly revised this gist Jul 16, 2019. 1 changed file with 5 additions and 0 deletions.
    5 changes: 5 additions & 0 deletions ovs-cheat.md
    Original file line number Diff line number Diff line change
    @@ -22,6 +22,11 @@ ovs-vsctl --if-exists del-br br0
    ```
    **Flows**
    ```
    ovs-ofctl dump-flows br-int
    # include hidden flows
    ovs-appctl bridge/dump-flows br0
    ovs-ofctl -O OpenFlow13 dump-flows br-int | cut -d',' -f3,6,7-
    ovs-appctl dpif/show
  10. djoreilly revised this gist Apr 15, 2019. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions ovs-cheat.md
    Original file line number Diff line number Diff line change
    @@ -4,6 +4,7 @@ ovs-vsctl list open_vswitch
    ovs-vsctl list interface
    ovs-vsctl --columns=ofport,name list Interface
    ovs-vsctl --columns=ofport,name --format=table list Interface
    ovs-vsctl -f csv --no-heading --columns=_uuid list controller
    ovs-vsctl --format=table --columns=name,mac_in_use find Interface name=br-dpdk1
    ovs-vsctl get interface vhub656c3cb-23 name
  11. djoreilly revised this gist Feb 20, 2019. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions ovs-cheat.md
    Original file line number Diff line number Diff line change
    @@ -67,5 +67,6 @@ top -p `pidof ovs-vswitchd` -H -d1
    # port and dp cache stats
    ovs-appctl dpctl/show -s
    ovs-appctl memory/show
    ovs-appctl upcall/show
    ```
  12. djoreilly revised this gist Feb 20, 2019. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions ovs-cheat.md
    Original file line number Diff line number Diff line change
    @@ -52,6 +52,7 @@ ovs-appctl vlog/set dpdk:file:dbg
    ```
    **Misc**
    ```
    ovs-appctl list-commands
    ovs-appctl fdb/show brbm
    ovs-appctl ofproto/trace br-int in_port=6
    @@ -65,5 +66,6 @@ top -p `pidof ovs-vswitchd` -H -d1
    # port and dp cache stats
    ovs-appctl dpctl/show -s
    ovs-appctl memory/show
    ```
  13. djoreilly revised this gist Feb 20, 2019. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions ovs-cheat.md
    Original file line number Diff line number Diff line change
    @@ -63,4 +63,7 @@ ovsdb-tool -mm show-log /etc/openvswitch/conf.db
    top -p `pidof ovs-vswitchd` -H -d1
    # port and dp cache stats
    ovs-appctl dpctl/show -s
    ```
  14. djoreilly revised this gist Jun 5, 2018. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions ovs-cheat.md
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,6 @@
    **DB**
    ```
    ovs-vsctl list open_vswitch
    ovs-vsctl list interface
    ovs-vsctl --columns=ofport,name list Interface
    ovs-vsctl --columns=ofport,name --format=table list Interface
  15. djoreilly revised this gist May 3, 2018. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions ovs-cheat.md
    Original file line number Diff line number Diff line change
    @@ -60,4 +60,6 @@ ovs-appctl ofproto/trace br-int tcp,in_port=3,vlan_tci=0x0000,dl_src=fa:16:3e:8d
    # history
    ovsdb-tool -mm show-log /etc/openvswitch/conf.db
    top -p `pidof ovs-vswitchd` -H -d1
    ```
  16. djoreilly revised this gist Aug 30, 2017. 1 changed file with 3 additions and 2 deletions.
    5 changes: 3 additions & 2 deletions ovs-cheat.md
    Original file line number Diff line number Diff line change
    @@ -3,6 +3,7 @@
    ovs-vsctl list interface
    ovs-vsctl --columns=ofport,name list Interface
    ovs-vsctl --columns=ofport,name --format=table list Interface
    ovs-vsctl --format=table --columns=name,mac_in_use find Interface name=br-dpdk1
    ovs-vsctl get interface vhub656c3cb-23 name
    ovs-vsctl set port vlan1729 tag=1729
    @@ -54,9 +55,9 @@ ovs-appctl fdb/show brbm
    ovs-appctl ofproto/trace br-int in_port=6
    ovs-appctl ofproto/trace br-int tcp,in_port=3,vlan_tci=0x0000,dl_src=fa:16:3e:8d:26:61,dl_dst=fa:16:3e:0d:f5:e6,nw_src=10.0.0.26,nw_dst=10.0.0.9,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=0,tp_dst=22,tcp_flags=0
    # history
    ovsdb-tool -mm show-log /etc/openvswitch/conf.db
    ovs-appctl ofproto/trace br-int tcp,in_port=3,vlan_tci=0x0000,dl_src=fa:16:3e:8d:26:61,dl_dst=fa:16:3e:0d:f5:e6,nw_src=10.0.0.26,nw_dst=10.0.0.9,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=0,tp_dst=22,tcp_flags=0
    ```
  17. djoreilly revised this gist Aug 30, 2017. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions ovs-cheat.md
    Original file line number Diff line number Diff line change
    @@ -56,4 +56,7 @@ ovs-appctl ofproto/trace br-int in_port=6
    # history
    ovsdb-tool -mm show-log /etc/openvswitch/conf.db
    ovs-appctl ofproto/trace br-int tcp,in_port=3,vlan_tci=0x0000,dl_src=fa:16:3e:8d:26:61,dl_dst=fa:16:3e:0d:f5:e6,nw_src=10.0.0.26,nw_dst=10.0.0.9,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=0,tp_dst=22,tcp_flags=0
    ```
  18. djoreilly revised this gist Aug 30, 2017. 1 changed file with 2 additions and 1 deletion.
    3 changes: 2 additions & 1 deletion ovs-cheat.md
    Original file line number Diff line number Diff line change
    @@ -1,7 +1,8 @@
    **DB**
    ```
    ovs-vsctl list interface
    ovs-vsctl -- --columns=ofport,name list Interface
    ovs-vsctl --columns=ofport,name list Interface
    ovs-vsctl --columns=ofport,name --format=table list Interface
    ovs-vsctl get interface vhub656c3cb-23 name
    ovs-vsctl set port vlan1729 tag=1729
  19. Darragh O'Reilly revised this gist May 8, 2017. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions ovs-cheat.md
    Original file line number Diff line number Diff line change
    @@ -37,6 +37,7 @@ ovs-appctl dpctl/dump-flows netdev@ovs-netdev
    ovs-appctl dpif/show
    ovs-ofctl dump-ports br-int
    ovs-appctl dpctl/dump-flows
    ovs-appctl dpctl/show --statistics
    ovs-appctl dpif-netdev/pmd-stats-show
    ovs-appctl dpif-netdev/pmd-stats-clear
    ovs-appctl dpif-netdev/pmd-rxq-show
  20. Darragh O'Reilly revised this gist Apr 20, 2017. 1 changed file with 2 additions and 1 deletion.
    3 changes: 2 additions & 1 deletion ovs-cheat.md
    Original file line number Diff line number Diff line change
    @@ -37,7 +37,8 @@ ovs-appctl dpctl/dump-flows netdev@ovs-netdev
    ovs-appctl dpif/show
    ovs-ofctl dump-ports br-int
    ovs-appctl dpctl/dump-flows
    ovs-appctl dpif-netdev/pmd-stats-show
    ovs-appctl dpif-netdev/pmd-stats-show
    ovs-appctl dpif-netdev/pmd-stats-clear
    ovs-appctl dpif-netdev/pmd-rxq-show
    ```
    **Debug log**
  21. Darragh O'Reilly revised this gist Jan 18, 2017. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions ovs-cheat.md
    Original file line number Diff line number Diff line change
    @@ -29,6 +29,8 @@ ovs-ofctl --strict del-flows brbm priority=0,in_port=11,dl_src=00:05:95:41:ec:8c
    # kernel datapath
    ovs-dpctl dump-flows
    ovs-appctl dpctl/dump-flows
    ovs-appctl dpctl/dump-flows system@ovs-system
    ovs-appctl dpctl/dump-flows netdev@ovs-netdev
    ```
    **DPDK**
    ```
  22. Darragh O'Reilly revised this gist Jan 13, 2017. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions ovs-cheat.md
    Original file line number Diff line number Diff line change
    @@ -12,6 +12,9 @@ ovs-vsctl remove port vlan1729 tag 1729
    ovs-vsctl set interface vlan1729 mac='5c\:b9\:01\:8d\:3e\:9d'
    ovs-vsctl clear Bridge br0 stp_enable
    ovs-vsctl --may-exist add-br br0 -- set bridge br0 datapath_type=netdev
    ovs-vsctl --if-exists del-br br0
    ```
    **Flows**
    ```
  23. Darragh O'Reilly revised this gist Jan 5, 2017. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions ovs-cheat.md
    Original file line number Diff line number Diff line change
    @@ -25,6 +25,7 @@ ovs-ofctl --strict del-flows brbm priority=0,in_port=11,dl_src=00:05:95:41:ec:8c
    # kernel datapath
    ovs-dpctl dump-flows
    ovs-appctl dpctl/dump-flows
    ```
    **DPDK**
    ```
  24. Darragh O'Reilly revised this gist Jan 5, 2017. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions ovs-cheat.md
    Original file line number Diff line number Diff line change
    @@ -10,6 +10,8 @@ ovs-vsctl remove port vlan1729 tag 1729
    # not sure this is best
    ovs-vsctl set interface vlan1729 mac='5c\:b9\:01\:8d\:3e\:9d'
    ovs-vsctl clear Bridge br0 stp_enable
    ```
    **Flows**
    ```
  25. Darragh O'Reilly revised this gist Jan 5, 2017. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions ovs-cheat.md
    Original file line number Diff line number Diff line change
    @@ -20,6 +20,9 @@ ovs-ofctl show br-int | egrep "^ [0-9]"
    ovs-ofctl add-flow brbm priority=1,in_port=11,dl_src=00:05:95:41:ec:8c/ff:ff:ff:ff:ff:ff,actions=drop
    ovs-ofctl --strict del-flows brbm priority=0,in_port=11,dl_src=00:05:95:41:ec:8c
    # kernel datapath
    ovs-dpctl dump-flows
    ```
    **DPDK**
    ```
  26. Darragh O'Reilly revised this gist Jan 5, 2017. 1 changed file with 18 additions and 11 deletions.
    29 changes: 18 additions & 11 deletions ovs-cheat.md
    Original file line number Diff line number Diff line change
    @@ -1,3 +1,4 @@
    **DB**
    ```
    ovs-vsctl list interface
    ovs-vsctl -- --columns=ofport,name list Interface
    @@ -9,30 +10,36 @@ ovs-vsctl remove port vlan1729 tag 1729
    # not sure this is best
    ovs-vsctl set interface vlan1729 mac='5c\:b9\:01\:8d\:3e\:9d'
    ```
    **Flows**
    ```
    ovs-ofctl -O OpenFlow13 dump-flows br-int | cut -d',' -f3,6,7-
    ovs-appctl dpif/show
    ovs-ofctl show br-int | egrep "^ [0-9]"
    ovs-ofctl add-flow brbm priority=1,in_port=11,dl_src=00:05:95:41:ec:8c/ff:ff:ff:ff:ff:ff,actions=drop
    ovs-ofctl --strict del-flows brbm priority=0,in_port=11,dl_src=00:05:95:41:ec:8c
    ovs-appctl fdb/show brbm
    ovs-appctl ofproto/trace br-int in_port=6
    # history
    ovsdb-tool -mm show-log /etc/openvswitch/conf.db
    ```
    **DPDK**
    ```
    ovs-appctl dpif/show
    ovs-ofctl dump-ports br-int
    ovs-appctl dpctl/dump-flows
    ovs-appctl dpif-netdev/pmd-stats-show
    ovs-appctl dpif-netdev/pmd-rxq-show
    ```
    **Debug log**
    ```
    ovs-appctl vlog/list | grep dpdk
    ovs-appctl vlog/set dpdk:file:dbg
    ```
    ovs-appctl vlog/list | grep dpdk
    ovs-appctl vlog/set dpdk:file:dbg
    ```
    **Misc**
    ```
    ovs-appctl fdb/show brbm
    ovs-appctl ofproto/trace br-int in_port=6
    # history
    ovsdb-tool -mm show-log /etc/openvswitch/conf.db
    ```
  27. Darragh O'Reilly revised this gist Jan 5, 2017. 1 changed file with 6 additions and 4 deletions.
    10 changes: 6 additions & 4 deletions ovs-cheat.md
    Original file line number Diff line number Diff line change
    @@ -1,3 +1,4 @@
    ```
    ovs-vsctl list interface
    ovs-vsctl -- --columns=ofport,name list Interface
    ovs-vsctl get interface vhub656c3cb-23 name
    @@ -6,7 +7,7 @@ ovs-vsctl set port vlan1729 tag=1729
    ovs-vsctl get port vlan1729 tag
    ovs-vsctl remove port vlan1729 tag 1729
    _not sure this is best_
    # not sure this is best
    ovs-vsctl set interface vlan1729 mac='5c\:b9\:01\:8d\:3e\:9d'
    ovs-ofctl -O OpenFlow13 dump-flows br-int | cut -d',' -f3,6,7-
    @@ -20,15 +21,16 @@ ovs-appctl fdb/show brbm
    ovs-appctl ofproto/trace br-int in_port=6
    _history_
    # history
    ovsdb-tool -mm show-log /etc/openvswitch/conf.db

    ```
    **DPDK**
    ```
    ovs-ofctl dump-ports br-int
    ovs-appctl dpctl/dump-flows
    ovs-appctl dpif-netdev/pmd-stats-show
    ovs-appctl dpif-netdev/pmd-rxq-show

    ```
    **Debug log**
    ```
    ovs-appctl vlog/list | grep dpdk
  28. Darragh O'Reilly created this gist Jan 5, 2017.
    36 changes: 36 additions & 0 deletions ovs-cheat.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,36 @@
    ovs-vsctl list interface
    ovs-vsctl -- --columns=ofport,name list Interface
    ovs-vsctl get interface vhub656c3cb-23 name

    ovs-vsctl set port vlan1729 tag=1729
    ovs-vsctl get port vlan1729 tag
    ovs-vsctl remove port vlan1729 tag 1729

    _not sure this is best_
    ovs-vsctl set interface vlan1729 mac='5c\:b9\:01\:8d\:3e\:9d'

    ovs-ofctl -O OpenFlow13 dump-flows br-int | cut -d',' -f3,6,7-

    ovs-ofctl show br-int | egrep "^ [0-9]"

    ovs-ofctl add-flow brbm priority=1,in_port=11,dl_src=00:05:95:41:ec:8c/ff:ff:ff:ff:ff:ff,actions=drop
    ovs-ofctl --strict del-flows brbm priority=0,in_port=11,dl_src=00:05:95:41:ec:8c

    ovs-appctl fdb/show brbm

    ovs-appctl ofproto/trace br-int in_port=6

    _history_
    ovsdb-tool -mm show-log /etc/openvswitch/conf.db

    **DPDK**
    ovs-ofctl dump-ports br-int
    ovs-appctl dpctl/dump-flows
    ovs-appctl dpif-netdev/pmd-stats-show
    ovs-appctl dpif-netdev/pmd-rxq-show

    **Debug log**
    ```
    ovs-appctl vlog/list | grep dpdk
    ovs-appctl vlog/set dpdk:file:dbg
    ```