ovs-ofctl(8) Open vSwitch ovs-ofctl(8) (NAME) ovs-ofctl - OpenFlow (SYNOPSIS) ovs-ofctl [options] command [switch] [args...] (DESCRIPTION) ovs-ofctl OpenFlow . OpenFlow . Open vSwitch OpenFlow . OpenFlow (OpenFlow Switch Management Commands) ovs-ofctl OpenFlow . . OpenFlow . : ssl:host[:port] tcp:host[:port] port host DNS ( unbound ) IP IPv4 IPv6 . IPv6 tcp:[::1]:6653. %device - IPv6 tcp:[fe80::1234%eth0]:6653. ssl --private-key --certificate --ca-cert . port 6653 . unix:file POSIX file. file unix:file file . bridge unix:/run/openvswitch/bridge.mgmt bridge . [type@]dp dp . type dp system . show switch switch . dump-tables switch switch . dump-table-features switch switch . dump-table-desc switch switch OpenFlow 1.4+ . mod-table switch table setting switch OpenFlow table ( --no-names ) . OpenFlow . OpenFlow 1.1 1.2 ( -O ) mod-table . setting : drop . continue . ( OpenFlow 1.0 .) controller . ( OpenFlow 1.0 .) OpenFlow 1.3 ( -O ) Open vSwitch 2.11 mod-table : name:new-name new-name . new- name . ( name Flow_Table Open_vSwitch ovs-vswitchd.conf.db(5) .) OpenFlow 1.4 ( -O ) mod-table . setting : evict Flow_Table ovs- vswitchd.conf.db(5). noevict . ( overflow_policy Flow_Table ovs-vswitchd.conf.db(5) .) vacancy:low,high TABLE_STATUS low high . novacancy . dump-ports switch [netdev] switch . netdev . netdev OpenFlow eth0. dump-ports-desc switch [port] switch . port . port ANY . show . switch OpenFlow 1.0 1.2 1.2 OpenFlow Open vSwitch ( 1.7 ) . OpenFlow 1.5 . OpenFlow . mod-port switch port action port switch . port OpenFlow ( --no-names ) LOCAL ( OpenFlow). action : up down . ip link set up ip link set down . stp no-stp 802.1D (STP) . OpenFlow STP . receive no-receive receive-stp no-receive-stp OpenFlow . OpenFlow . receive no-receive 802.1D receive-stp no-receive-stp . forward no-forward . . flood no-flood flood OpenFlow . (flooding) . . packet-in no-packet-in <> OpenFlow . <> . show mod-port ( ) . get-frags switch (fragments) switch . set-frags . show . set-frags switch frag_mode switch IPv4 IPv6 . frag_mode : normal . TCP UDP ICMP 0 ( 0). OpenFlow . drop . reassemble IP . Open vSwitch . nx-match . TCP UDP ICMP 0 0 . Nicira . ip_frag ovs-fields(7) . dump-flows switch [flows] switch flows . flows . flows . . ovs-ofctl . --sort --rsort . --names/--no-names --stats/--no-stats . . dump-aggregate switch [flows] flows switch . flows . flows . . queue-stats switch [port [queue]] queue port switch . port OpenFlow LOCAL ( OpenFlow) ALL . port queue ( ALL). . queue port port queue . queue-get-config switch [port [queue]] queue port switch . port ANY . queue ANY . OpenFlow 1.3 queue . OpenFlow . dump-ipfix-bridge switch IPFIX switch . IPFIX switch IPFIX . Open vSwitch Open vSwitch 2.6 . dump-ipfix-flow switch IPFIX switch . IPFIX switch switch . IPFIX ovs-vswitchd.conf.db(5) . Open vSwitch Open vSwitch 2.6 . ct-flush-zone switch zone zone switch (flush) . Open vSwitch Open vSwitch 2.6 . ct-flush switch [zone=N] [mark=X[/M]] [labels=Y[/N]] [ct-orig-tuple [ct-reply-tuple]] switch zone mark labels ct-[orig|reply]-tuple . ct-[orig|reply]-tuple . zone zone . mark labels mark/labels . ct-[orig|reply]-tuple ct-[orig|reply]-tuple zone . 0 . mark labels "0/0" . NAT . . ct-reply-tuple ct-orig-tuple . : ICMP ICMP ct-[orig|reply]-tuple IP . ct-[orig|reply]-tuple IPv4 ICMP: "ct_nw_src=10.1.1.1,ct_nw_dst=10.1.1.2,ct_nw_proto=1,icmp_type=8,icmp_code=0,icmp_id=10" ct-[orig|reply]-tuple IPv6 TCP: "ct_ipv6_src=fc00::1,ct_ipv6_dst=fc00::2,ct_nw_proto=6,ct_tp_src=1,ct_tp_dst=2" Open vSwitch Open vSwitch 3.1 . mark labels Open vSwitch 3.3 . OpenFlow (OpenFlow Switch Flow Table Commands) OpenFlow . flow file ( ) --bundle ( --bundle ). [--bundle] add-flow switch flow [--bundle] add-flow switch - < file [--bundle] add-flows switch file switch . ( file) add modify delete modify_strict delete_strict (strict) . . . [--bundle] [--strict] mod-flows switch flow [--bundle] [--strict] mod-flows switch - < file (actions) switch . --strict . [--bundle] del-flows switch [--bundle] [--strict] del-flows switch [flow] [--bundle] [--strict] del-flows switch - < file switch . switch . . --strict . [--bundle] [--readd] replace-flows switch file file ( - stdin) switch . : file switch switch file switch file . --readd ovs-ofctl file switch . OpenFlow 1.0 1.1 0 OpenFlow 1.2 reset_counts . diff-flows source1 source2 source1 source2 . source1 source2 - source2 source1 + . source1 source2 - + . source1 source2 . / . . : . . 0 1 2 . packet-out switch packet-out switch OpenFlow packet-out (Packet-Out Syntax) . (Group Table Commands) (group table) OpenFlow . group file ( ) --bundle ( --bundle ). OpenFlow 1.1 Open vSwitch OpenFlow 1.0 ( Open vSwitch 2.9.90) . OpenFlow 1.1 ovs-ofctl ( -O) . <> Open vSwitch . [--bundle] add-group switch group [--bundle] add-group switch - < file [--bundle] add-groups switch file switch . ( file) add modify add_or_mod delete insert_bucket remove_bucket . . . [--bundle] [--may-create] mod-group switch group [--bundle] [--may-create] mod-group switch - < file switch . --may-create --may-create . --may-create Open vSwitch OpenFlow Open vSwitch 2.6 . [--bundle] del-groups switch [--bundle] del-groups switch [group] [--bundle] del-groups switch - < file switch . switch . . [--bundle] insert-buckets switch group [--bundle] insert-buckets switch - < file switch . command_bucket_id . [--bundle] remove-buckets switch group [--bundle] remove-buckets switch - < file switch . command_bucket_id . dump-groups switch [group] switch . group . group ALL . OpenFlow 1.5 . OpenFlow . dump-group-features switch switch . dump-group-stats switch [group] group switch . group . OpenFlow 1.3+ (OpenFlow 1.3+ Switch Meter Table Commands) (meter table) OpenFlow . meter . OpenFlow 1.3 OpenFlow 1.3 . ovs-ofctl ( -O) ( protocols Bridge) . <> Open vSwitch . add-meter switch meter switch . meter . mod-meter switch meter . del-meters switch [meter] switch . meter . meter all . dump-meters switch [meter] switch . meter . meter all . meter-stats switch [meter] . meter meter=id meter=all . meter-features switch . OpenFlow (OpenFlow Switch Bundle Command) bundle . file (flow mod) (group mod) (packet-out) flow group packet-out . flow add modify modify_strict delete delete_strict flow add . group add modify add_or_mod delete insert_bucket remove_bucket group add . bundle switch file file switch . . TLV OpenFlow (OpenFlow Switch Tunnel TLV Table Commands) Open vSwitch TLV ( ) NXM tun_metadatan ( n 0 63 ) . TLV TLV Geneve TLV Geneve . . TLV : {class=class,type=type,len=length}->tun_metadatan tun_metadatan : ovs-ofctl add-tlv-map br0 "{class=0xffff,type=0,len=4}->tun_metadata0" ovs-ofctl add-flow br0 tun_metadata0=1234,actions=controller . Nicira OpenFlow Open vSwitch 2.5 . add-tlv-map switch option[,option]... option switch . . del-tlv-map switch [option[,option]]... option switch option TLV . . dump-tlv-map switch . OpenFlow (OpenFlow Switch Monitoring Commands) snoop switch switch OpenFlow . ovs-ofctl switch snoop /run/openvswitch/switch.snoop . ovs-vswitchd OpenFlow OpenFlow . OpenFlow . . ( Nicira OpenFlow 1.0 1.1 OpenFlow 1.2 ) . . . . monitor switch [miss-len] [invalid_ttl] [watch:[spec...]] switch OpenFlow . switch ovs-vswitchd . OpenFlow 1.0 Nicira . miss-len ovs-ofctl << >> (set configuration) OpenFlow miss-len . Open vSwitch ovs-ofctl monitor . ( miss-len .) invalid_ttl ovs-ofctl << >> OpenFlow INVALID_TTL_TO_CONTROLLER ovs-ofctl monitor <> TTL dec_ttl . OpenFlow 1.1 1.2 invalid_ttl Open vSwitch OpenFlow 1.0 . watch:[spec...] ovs-ofctl Nicira <> . . spec : !initial . !add . !delete . !modify . !own ovs-ofctl . ( ofctl/send .) !actions . table=table table 0 254 ( --no-names ) . . out_port=port port . port OpenFlow ( LOCAL). out_group=group group . OpenFlow 1.4 (-OOpenFlow14) . field=value field value . dump-flows . . watch: . OpenFlow (OpenFlow Switch and Controller Commands) OpenFlow . OpenFlow . probe target echo-request OpenFlow target . -t --timeout OpenFlow . ping target [n] 10 (echo request) target . OpenFlow n (: 64) . . benchmark target n count count OpenFlow n . . target n . (Other Commands) ofp-parse file file ( - stdin) OpenFlow OpenFlow . OpenFlow TCP . ofp-parse-pcap file [port...] file PCAP tcpdump wireshark TCP OpenFlow OpenFlow stdout . OpenFlow TCP . OpenFlow . TCP 6633 6653 OpenFlow . port . SSL/TLS . IPv6 . (Flow Syntax) ovs-ofctl . field=value . ( .) (normal form) . L3 L2 L4 L2 L3 . L2 dl_type (wildcard) L3 nw_src nw_dst nw_proto . dl_type nw_proto ( L3) L4 tcp_dst tcp_src . ovs-ofctl . ovs-fields(7) . - : table=table table 0 255 ( --no-names ) . ( 255 table ) . OpenFlow : OpenFlow 1.0 OpenFlow 1.0 table . table ( table=255) OpenFlow 1.0 ovs-ofctl . OpenFlow 1.0 . Open vSwitch 0 . Open vSwitch OpenFlow . OpenFlow 1.0 Open vSwitch --strict . --strict . --strict . ( OpenFlow 1.0 OpenFlow 1.0 .) OpenFlow 1.0 table_id Open vSwitch OpenFlow . table OpenFlow 1.0 ovs-ofctl . ovs-ofctl . Open vSwitch . ovs-ofctl table table ( table=255) OpenFlow 1.0 . OpenFlow 1.1 OpenFlow 1.1 . table ( table=255 ) ovs-ofctl 0 . OpenFlow 1.2 OpenFlow 1.2 ( ) OpenFlow 1.0 . duration=... n_packet=... n_bytes=... ovs-ofctl <<>> dump-flows . add-flow add-flows mod-flows : actions=[action][,action...] . action . ovs-actions(7) . (cookie) : cookie=value add-flow add-flows mod-flows . value 64 . 0 . cookie=value/mask NXM . value mask del-flows mod-flows dump-flows dump-aggregate . 1 mask cookie 0 . -1 . mod-flows cookie ( ): ovs-ofctl mod-flows br0 cookie=1,actions=normal 1 normal . ovs-ofctl mod-flows br0 cookie=1/-1,cookie=2,actions=normal 1 2 normal . Open vSwitch 1.5.0 . add-flow add-flows . mod-flows del-flows --strict . mod-flows --strict mod-flows . . priority=value . value 0 65535 ( ) . value . 65535 . 32768 . OpenFlow . <<>> OpenFlow Open vSwitch . . add-flow add-flows mod-flows . . add-flow add-flows mod-flows . idle_timeout=seconds . 0 () . hard_timeout=seconds . 0 () . importance=value . . 0 () . 0 65535 . OpenFlow 1.4 importance . send_flow_rem <> . check_overlap . ( .) reset_counts OpenFlow 1.2 ( ) 0 . . OpenFlow 1.0 1.1 reset_counts . Open vSwitch 1.10 reset_counts . no_packet_counts no_byte_counts OpenFlow 1.3 ( ) . . Open vSwitch . OpenFlow 1.2 . Open vSwitch 1.10 no_packet_counts no_byte_counts . dump-flows dump-aggregate del-flow del-flows : out_port=port port OpenFlow ( local). out_group=group group group OpenFlow . Open vSwitch 2.5 OpenFlow 1.1 . (Table Entry Output) dump-tables dump-aggregate . : duration=secs . secs . n_packets . n_bytes . Open vSwitch 1.6 NXM ( --flow-format ). idle_age . hard_age=secs . hard_age duration . ( duration mod-flows hard_timeout duration .) idle_age=secs . (Packet-Out Syntax) ovs-ofctl bundle packet-out . packet-out field=value . ( packet-out .) . ovs-ofctl packet-out . in_port=port in_port . OpenFlow LOCAL CONTROLLER NONE . . pipeline_field=value (pipeline fields) packet-out . ovs-fields(7) . packet=hex-string . . actions=[action][,action...] actions= . actions= (drop) . actions . (Group Syntax) ovs-ofctl . field=value . ( .) . group_id=id . del-groups dump-groups "all" . . type=type . add-group add- groups mod-groups . . : all . select . (live) Open vSwitch <<>> . selection_method . indirect . ff fast_failover . command_bucket_id=id . insert- buckets remove-buckets . . id : all . remove-buckets . first . insert-buckets . remove-buckets . last . insert-buckets . remove- buckets . id bucket_id . insert-buckets bucket_id id . remove- buckets bucket_id id . bucket_id id . selection_method=method select. 1 15 . add-group add-groups mod-group select . Open vSwitch 2.9 hash . 2.10 Open vSwitch dp_hash L3/L4 dp_hash . 2.10 64 2.17 256 . Open vSwitch 2.10 hash . dp_hash (datapath). . dp_hash 32 selection_method_param . 0 ( 5- IP) 1 ( symmetric 5- IP) . fields dp_hash . 32 . dp_hash . TCP select TCP SYN . . TCP . hash fields ( ). hash MAC VLAN Ether IP L4 . hash selection_method_param . . TCP TCP . TCP TCP select . Netronome OpenFlow Open vSwitch 2.4 OpenFlow 1.5 . selection_method_param=param 64 selection_method. selection_method . selection_method . . Netronome OpenFlow Open vSwitch 2.4 OpenFlow 1.5 . fields=field fields(field[=mask]...) selection_method. . . selection_method . selection_method <> . . Netronome OpenFlow Open vSwitch 2.4 OpenFlow 1.5 . bucket=bucket_parameters add-group add-groups mod-group . . . . "indirect" . bucket_parameters field=value . bucket_parameters : bucket_id=id 32 . 0xffffff00 . Open vSwitch 2.4 OpenFlow 1.5 . OpenFlow . Open vSwitch . actions=[action][,action...] actions= . actions= . weight=value . (type) select . watch_port=port (liveness) . watch_group ff fast_failover . watch_group select . watch_group=group_id . watch_port ff fast_failover . watch_port select . (Meter Syntax) . field=value . ( .) . meter=id . . "all" "controller" "slowpath" . "controller" "slowpath" OVS . del- meter dump-meter meter-stats "all" . meter-stats . kbps pktps rate burst_size. kbps pktps . add-meter mod-meter . burst (burst) burst_size . stats . bands=band_parameters add-meter mod-meter . . type=type . . . . . : drop . band_parameters : rate=value kbps pktps . burst_size=size burst kbps pktps . . (OPTIONS) --strict . --names --no-names OpenFlow OpenFlow . ovs-ofctl ovs-ofctl . --names ovs-ofctl --no-names . ( ). JSON RFC 7159 . ovs-ofctl . Open vSwitch . 2.10 Open vSwitch . --no-names . Open vSwitch OpenFlow 15 . ovs-ofctl OpenFlow (truncate) . ( ) ovs-ofctl . OpenFlow Open vSwitch 32 . --stats --no-stats dump-flows --stats (idle and hard age) . --no-stats . --read-only / . --bundle OpenFlow 1.4 . o (bundle) switch OpenFlow . o OpenFlow 1.4 (barriers) OpenFlow . . o OpenFlow 1.4 . -O OpenFlow14 protocols OVSDB bridge OpenFlow 1.4 OVS . -O [version[,version]...] --protocols=[version[,version]...] OpenFlow OpenFlow . : o OpenFlow10 OpenFlow 1.0. Open vSwitch : o OpenFlow11 OpenFlow 1.1. o OpenFlow12 OpenFlow 1.2. o OpenFlow13 OpenFlow 1.3. o OpenFlow14 OpenFlow 1.4. o OpenFlow15 OpenFlow 1.5. -F format[,format...] --flow-format=format[,format...] ovs-ofctl format : OpenFlow10-table_id OpenFlow 1.0 . OpenFlow Open vSwitch . OpenFlow10+table_id OpenFlow 1.0 Nicira ovs-ofctl . Open vSwitch 1.2 . NXM-table_id (Nicira Extended Match) Nicira OpenFlow . Nicira tun_id . 1.1 Open vSwitch . NXM+table_id (Nicira Extended Match) Nicira . Open vSwitch 1.2 . OXM-OpenFlow12 OXM-OpenFlow13 OXM-OpenFlow14 OXM-OpenFlow15 OXM (OpenFlow Extensible Match) OpenFlow 1.2 . ovs-ofctl : any . OpenFlow10 OpenFlow10-table_id OpenFlow10+table_id. NXM NXM-table_id NXM+table_id. OXM OXM-OpenFlow12 OXM-OpenFlow13 OXM-OpenFlow14. ovs-ofctl . ovs-ofctl . format ovs-ofctl . ovs-ofctl . -P format --packet-in-format=format ovs-ofctl <> : standard OFPT_PACKET_IN <> OpenFlow . OpenFlow OpenFlow . nxt_packet_in NXT_PACKET_IN <> OpenFlow 1.1 OpenFlow Open vSwitch . Open vSwitch 1.1 . Open vSwitch 2.6 OpenFlow 1.1 ( OpenFlow ). nxt_packet_in2 NXT_PACKET_IN2 . userdata controller . Open vSwitch 2.6 . ovs-ofctl nxt_packet_in2 . OpenFlow 1.0 ovs-ofctl nxt_packet_in . ovs-ofctl standard . ovs-ofctl . ovs-ofctl . 2.6 Open vSwitch standard openflow10 nxt_packet_in nxm ovs-ofctl . ( openflow10 OpenFlow OpenFlow 1.0 . nxt_packet_in2 nxm OXM/NXM .) monitor . --timestamp (timestamp) . monitor snoop ofp-parse-pcap . -m --more OpenFlow ovs-ofctl . . --sort[=field] --rsort[=field] field (--sort) (--rsort) field priority . field . . . : o . --sort=tcp_src TCP TCP . o . --sort=nw_src nw_src=192.168.0.0/24 nw_src=192.168.0.0 . dump-flows . (Daemon Options) POSIX . --pidfile[=pidfile] ( ovs-ofctl.pid) PID . pidfile / /run/openvswitch . --pidfile pidfile . --overwrite-pidfile --pidfile pidfile ovs-ofctl . --overwrite-pidfile pidfile . --pidfile . --detach ovs-ofctl . ( ) ( --no-chdir ). . ovs-ofctl monitor snoop . --monitor ovs-ofctl . (SIGABRT SIGALRM SIGBUS SIGFPE SIGILL SIGPIPE SIGSEGV SIGXCPU SIGXFSZ) . . --detach . --no-chdir --detach ovs-ofctl . ovs-ofctl (unmount) . --no-chdir ovs-ofctl . core (core dumps) . --detach . --no-self-confinement . . ( DAC MAC) . --user ovs-ofctl "user:group" . "user" ":group" . . CAP_IPC_LOCK CAP_NET_BIND_SERVICES . ovs-vswitchd CAP_NET_ADMIN CAP_NET_BROADCAST CAP_NET_RAW . . --unixctl=socket ovs-ofctl ( ). socket / /run/openvswitch . --unixctl /run/openvswitch/ovs-ofctl.pid.ctl pid ovs-ofctl . none socket . (Public Key Infrastructure Options) -p privkey.pem --private-key=privkey.pem PEM ovs-ofctl SSL/TLS . -c cert.pem --certificate=cert.pem PEM -p --private-key . (CA) SSL/TLS . -C cacert.pem --ca-cert=cacert.pem PEM CA ovs-ofctl SSL/TLS . ( SSL/TLS -c --certificate PKI .) -C none --ca-cert=none SSL/TLS . . --ssl-server-name=servername TLS ( SNI) . SNI . SNI (service meshes) . -v[spec] --verbose=[spec] (logging) . spec dbg . spec : o vlog/list ovs-appctl(8) . o syslog console file . ( --detach ovs-ofctl .) o off emer err warn info dbg . . off . ovs-appctl(8) . spec . file --log-file ( ). OVS any . -v --verbose (verbosity) --verbose=dbg . -vPATTERN:destination:pattern --verbose=PATTERN:destination:pattern destination pattern . pattern ovs-appctl(8) . -vFACILITY:facility --verbose=FACILITY:facility (facility) RFC5424 . facility : kern user mail daemon auth syslog lpr news uucp clock ftp ntp audit alert clock2 local0 local1 local2 local3 local4 local5 local6 local7. daemon syslog --syslog-target local0 . --log-file[=file] . file . file /var/log/openvswitch/ovs-ofctl.log . --syslog-target=host:port syslog syslog UDP port host . host IP . --syslog-method=method syslog syslog . : o libc syslog() libc. libc syslog /dev/log . o unix:file . . rsyslogd 8.9 (hard-coded) . rsyslogd UDP IP (localhost) . o udp:ip:port UDP. rsyslogd . syslog UDP syslog UDP iptables syslog UDP . o null syslog . OVS_SYSLOG_METHOD libc . --color[=when] ( ) when never always auto () . . . OVS_COLORS . ac:01;31:dr=34:le=31:pm=36:pr=35:sp=33:vl=32 . ovs-ofctl dump- flows switch : ac=01;31 SGR actions= . (bold) . dr=34 SGR drop. . le=31 SGR learn= . . pm=36 SGR . (cyan) . pr=35 SGR . (magenta) . sp=33 SGR : table= priority= load: output: move: group: CONTROLLER: set_field: resubmit: exit. . vl=32 SGR . . (Select Graphic Rendition SGR) . -h --help . -V --version . (RUNTIME MANAGEMENT COMMANDS) ovs-appctl(8) ovs-ofctl . . exit ovs-ofctl . monitor snoop . ofctl/set-output-file file file stderr . monitor snoop . ofctl/send ofmsg... ofmsg OpenFlow OpenFlow . monitor . ofctl/packet-out packet-out OpenFlow PACKET_OUT (Packet-Out Syntax) OpenFlow . . monitor . ofctl/barrier (barrier request) OpenFlow OpenFlow . monitor . (EXAMPLES) ovs-vswitchd br0 . ovs-ofctl dump-tables br0 . ( .) ovs-ofctl dump-flows br0 . ovs-ofctl add-flow table=0 actions=learn(table=1,hard_timeout=10, NXM_OF_VLAN_TCI[0..11],output:NXM_OF_IN_PORT[]), resubmit(,1) ovs-ofctl add-flow table=1 priority=0 actions=flood MAC 2 learn . ovs-ofctl add-flow br0 'table=0,priority=0 actions=load:3->NXM_NX_REG0[0..15],learn(table=0,priority=1,idle_timeout=10,NXM_OF_ETH_SRC[],NXM_OF_VLAN_TCI[0..11],output:NXM_NX_REG0[0..15]),output:2 learn MAC 2 . 10 3 . NXM NXM_NX_REG0 reg0 . . (SEE ALSO) ovs-fields(7), ovs-actions(7), ovs-appctl(8), ovs-vswitchd(8), ovs-vswitchd.conf.db(8) Open vSwitch 4.0.0 ovs-ofctl(8)