ovs-ofctl add-flow <bridge> <flow>
Add flow described by flow.
ovs-ofctl add-flow <bridge> in_port=<port>,actions=<action>
Matches the in_port port in open flow, <port> can be a port number or keyword (eg:LOCAL).
ovs-ofctl add-flow <bridge> dl_vlan=<vlanid>,actions=<action>
Add a flow with the match field dl_vlan (IEEE 802.1q Virtual LAN tag). When the VLAN ID of the packets matches the flow match field then it will be forward according to the actions.The VLAN value ranges from 0 to 4095.
ovs-ofctl add-flow <bridge> dl_vlan_pcp=<value>,actions=<action>
dl_vlan_pcp is an identifier that matches IEEE 802.1q Priority Code Point (PCP) priority. It is a value between 0 and 7. When the value is higher, frame priority level is higher.
ovs-ofctl add-flow <bridge> dl_src=<mac>,actions=<action>
Add a flow with the match field dl_src that matches an Ethernet source address. This value uses 6 pairs of hexadecimal digits to specify, eg: 00:0B:C4:A8:22:B0.
ovs-ofctl add-flow <bridge> dl_dst=<mac>,actions=<action>
Add a flow with the match field dl_dst that matches an Ethernet destination address. This value uses 6 pairs of hexadecimal digits to specify, eg: 00:0B:C4:A8:22:B0.
ovs-ofctl add-flow <bridge> dl_src=<mac/mask>,actions=<action>
ovs-ofctl add-flow <bridge> dl_dst=<mac/mask>,actions=<action>
This type of source mac address provides a wider match field. When the 6 pairs of masks are full ff, it indicates exact match, as to say, it is the same with dl_src=xx:xx:xx:xx:xx:xx. Otherwise,1-bit in mask indicates that the corresponding bit in mac must match exactly, 0-bit in mask indicates wildcards.
ovs-ofctl add-flow <bridge> dl_type=<ethernet type>,actions=<action>
Matches Ethernet protocol type ethertype, which is specified as an integer between 0 and 65535, inclusive, either in decimal or as a hexadecimal number prefixed by 0x. (e.g. 0x0806 to match ARP packet).
ovs-ofctl add-flow <bridge> dl_type=<ethernet type>,nw_src=ip[/netmask],actions=<action>
ovs-ofctl add-flow <bridge> dl_type=<ethernet type>,nw_dst=ip[/netmask],actions=<action>
nw_src and nw_dst are the identifiers of IP source/destination addresses. But before the IP source/destination address is set, Ethernet Type(dl_type) must be set.Type values include:0x0800: matches IPv4 source/destination address IP (eg:ip, tcp). 0x0806: the arp protocol type, matches the ar_sqa or ar_tpa field. respectively, in ARP packets for IPv4 and Ethernet. 0x8035:therarp protocol type, matches the ar_spa or ar_tpa field, respectively, in RARP packets for IPv4 and Ethernet.
Other than 0x0800, 0x0806, or 0x8035, the values of nw_src and nw_dst are ignored
ovs-ofctl add-flow <bridge> dl_type=<ethernet type>, nw_proto=<proto>, actions=<action>
This parameter <proto> is specified as a decimal number with the value between 0-255.
When dl_type=0x86dd or IPv6 is specified, the packets must match IPv6 header type.Set proto to 58 to match ICMPv6 packets.
When dl_type=0x0806 or arp is specified,packets must match the lower 8 bits of the ARP opcodes. The opcodes greater than 255 are treated as 0.
When dl_type=0x8035 or rarp is specified,packets must match the lower 8 bits of the RARP opcodes The opcodes greater than 255 are treated as 0.
ovs-ofctl add-flow <bridge> dl_type=<ethernet type>, nw_tos=<tos>, actions=<action>
This parameter <tos> is specified as a decimal number with the value between 0-255. When dl_type=0x0800 or 0x86dd is specified,matches the IP TOS/DHCP or IPv6 traffic class field tos. Note that the two lower reserved bits of tos are ignored for matching purposes. When dl_type is wildcarded or set to a value other than 0x0800 or 0x86dd, the value of nw_tos is ignored (see Flow Syntax above).
ovs-ofctl add-flow <bridge> dl_type=<ethernet type>, nw_ecn=<ecn>,actions=<action>
This parameter <tos> is specified as a decimal number with the value between 0-3. When dl_type=0x0800 or 0x86dd is specified,matches the ecn bits in IP ToS or IPv6 traffic class fields .When dl_type is wildcarded or set to a value other than 0x0800 or 0x86dd, the value of nw_ecn is ignored
ovs-ofctl add-flow <bridge> dl_type=<ethernet type>,nw_proto=<proto>,tp_src=<port>,actions=<action>
ovs-ofctl add-flow <bridge> dl_type=<ethernet type>,nw_proto=<proto>,tp_dst=<port>,actions=<action>
When you want to match tp_src or tp_dst, you must specifydl_type and nw_protoas TCP or UDP , <port> is specified as decimal number between 0-65535. When dl_type and nw_proto take other values, the values of these settings are ignored.
ovs-ofctl add-flow <bridge> dl_type=<ethernettype>,nw_proto=<proto>,tp_src=<port/mask>,actions=<action>
ovs-ofctl add-flow<bridge> dl_type=<ethernet type>,nw_proto=<proto>,tp_dst=<port/mask>,actions=<action>
When you set the tp_src and tp_dst like this, that means bitwise match on TCP (or UDP) source or destination port. Both the port and mask are 16-bit decimal numbers or hexadecimal numbers prefixed by 0X. Each 1bit in mask requires the corresponding bit in port must match, while each 0-bit in mask requires the corresponding bit in port to be ignored.
ovs-ofctl add-flow <bridge> table=<number><flow>
By default, the table number is 0. When table number is specified, that will limit flow manipulations and dump flow commands to apply to the specified table number which is between 0-254.
ovs-ofctl add-flow <bridge> metadata=value[/mask]<flow>
metadata is just useful across multiple flow tables. It makes matching flows easy. Sometimes, we will just check the metadata of flow because different metadata means different flows. But this field is only applied to software flow tables, not applied to the only hardware flow table in our switch.
ovs-ofctl add-flow<bridge> dl_type=<ethernettype>,nw_proto=1,icmp_type=<type>,actions=<action>
ovs-ofctl add-flow<bridge> dl_type=<ethernettype>,nw_proto=1,icmp_code=<type>,actions=<action>
When you specify dl_type andnw_proto as ICMP or ICMPv6,then icmp_type must matches the ICMP type (eg:icmp_type=1), and icmp_code must matched ICMP code that the value of code is between 0-255. When dl_type and nw_proto take other values, the values of these settings are ignored.
ovs-ofctl add-flow<bridge> dl_type=0x8847,mpls_label=<label>,actions=<action>
The value of mpls label is between 0-1048575.That is to say you can add 1048575 mpls labels at most.
ovs-ofctl add-flow<bridge> dl_type=0x8847,mpls_tc=<tc>,actions=<action>
The value of mpls_tc is between 0-7.It is for experimental use.
ovs-ofctl add-flow<bridge> vlan_tci=<tci[/mask]>,actions=<action>
The tci matches VLAN TCI. The tci and mask are 16-bit values are decimal by default;you can use a 0x prefix to set the values in hexadecimal.when mask is specified,1-bit number in mask requires corresponding bit in tci must match exact,and 0-bit in mask makes corresponding bit in tci be ignored.If do not specify mask,thentci is the exact VLAN TCI to match.
ovs-ofctl add-flow<bridge> dl_type=0x86DD,ipv6_src=<ipv6[/netmask]>,actions=<action>
ovs-ofctl add-flow<bridge> dl_type=0x86DD,ipv6_dst=<ipv6[/netmask]>,actions=<action>
If you want to add a flow with the ipv6 source and destination,you must first set the dl_type as 0x86dd(or ipv6 or tcp6).
The actions of flow include the following values,all the values are applied into add-flow, add-flows, and mod-flows .These are just examples of add-flow below.
ovs-ofctl add-flow<bridge><match-field>actions=[target][,target...]
ovs-ofctl add-flow<bridge><match-field>actions=output:<port>
The port should be an OpenFlow port number or keyword as LOCAL and so on.That means outputting packets to port.
ovs-ofctl add-flow<bridge><match-field>actions=enqueue:<port>:<queue>
The port should be an OpenFlow port number or keyword(eg:LOCAL).This action means to enqueue the packets on specified queue within the port.The queues numbers depend on switch.
ovs-ofctl add-flow<bridge><match-field>actions=NORMAL
This action means making packets be processed as device' normal L2/L3.
ovs-ofctl add-flow<bridge><match-field>actions=flood
This action means outputting packets on all physical ports other than the port on which it was receivedand any ports on which flooding is disabled (typically, these would be ports disabled by the IEEE 802.1D spanning tree protocol).
ovs-ofctl add-flow <bridge> <match-field> actions=all
This action means outputting packets on all physical ports other than the port on which it was received.
ovs-ofctl add-flow <bridge> <match-field>actions=controller(key=value...)
When you set action as controller, the packets will be sent in OpenFlow controller as packet-in message.
ovs-ofctl add-flow <bridge> <match-field>actions=drop
This action means discard the packets without further processing or forwarding. When this action drop is used,you should not specify other actions.
ovs-ofctl add-flow <bridge> <match-field> actions=push_vlan:<ethertype>,set_field:<value>-\>vlan_vid,output:<port>
Using push_vlan, you can push a new VLAN to packets, ethertype is the ethertype for the tag (only support 0x8100 at the moment. set_field is used to set the value of priority.
ovs-ofctl add-flow <bridge> <match-field> dl_type=<ethertype>,dl_src=<src>,dl_dst=<dst>,actions=push_mpls:<ethertype>,set_field:<value>-\>mpls_label,output:<port>
Using push_mpls, you can push a new mpls label for a packet without any mpls label. At this time,the ethertype must be either MPLS unicast ethertype0x8847, or the MPLS multicast ethertype0x8848. if the packets has already contains a mpls label, pushes a new outermost label as a copy of the existing outermost label.
ovs-ofctl add-flow<bridge><match-field>actions=pop_mpls:<ethertype>
You can pop outer mpls label by setting ethertypeto MPLS Ethertype.and pop all MPLS label by setting ethertype to the types except mplsethertype.
ovs-ofctl add-flow<bridge><match-field>actions=push_pbb:<ethertype>,set_field:<value>-\...
You can push outermost mac address for packets.PBB is a mac-in-mac technology.ethertype is 0x88e7.
ovs-ofctl add-flow<bridge><match-field>actions=pop_pbb
You can pop the outer mac for packets by using pop_pbb.
ovs-ofctl add-flow<bridge><match-field>actions=mod_vlan_vid:<vlan_vid>
This action means modify the thevlan id of the packets.Thevlan tag is added or modified as necessary to match specifiedvalue.when the vlan tag is added ,then priority of the packets are 0 by default.You can set priority by mod_vlan_pcp.vlan_id is between 0-4095.
ovs-ofctl add-flow<bridge><match-field>actions=mod_vlan_pcp:<vlan_pcp>
You can modify the vlan priority of the packets.vlan_pcp value is between0-7, 0 presents the lowest priority and 7 means highest priority.
ovs-ofctl add-flow<bridge><match-field>actions=strip_vlan
Using this action ,you can pop vlan tag from packets.
ovs-ofctl add-flow<bridge><match-field>actions=mod_dl_src:<mac>
User can modify source mac of packets from the output port by mod_dl_src.
ovs-ofctl add-flow<bridge><match-field>actions=mod_dl_dst:<mac>
User can modify destination mac of packets from the output port by mod_dl_dst
ovs-ofctl add-flow<bridge><match-field>actions=mod_nw_src:<ip>
Modify the source ipv4 addressof specified flow,by using mod_nw_src.
ovs-ofctl add-flow<bridge><match-field>actions=mod_nw_dst:<ip>
Modify the destination ipv4 addressof specified flow,by using mod_nw_dst.
ovs-ofctl add-flow<bridge><match-field>actions=mod_tp_src:<port>
Modify the TCP or UDP source port.
ovs-ofctl add-flow<bridge><match-field>actions=mod_tp_dst:<port>
Modify the TCP or UDP destination port.
ovs-ofctl add-flow<bridge><match-field>actions=mod_nw_tos:<tos>
By using this action you can modify the IPv4 TOS or DSCP field to tos, which must be a multiple of 4 between 0-255.This action can not modify the lower 2-bits of tos field which represents ECN bits.
ovs-ofctl add-flow<bridge><match-field>actions=resubmit([port],[table])
By this action,you can re-search OpenFlow flow table with thein_port field replaced by port. Or research the table whose number is specified by table.
ovs-ofctl add-flow<bridge><match-field>actions=set_queue:<queue>
By taking this action, the packets that is output the port will be output the specified queue. Different switch has different numbers of supported queues.
ovs-ofctl add-flow<bridge><match-field>actions=set_mpls_ttl:ttl
This action will set the TTL of outer MPLS label stack entry of a packet. The range of TTL number is between 0-255.
ovs-ofctl add-flow<bridge><match-field>actions=controller(key=value...)
Taking this action will send packets to OpenFlow controller as "packet-in" message. There are some key-value pairs as follow.
max_len=nbytes: limit the maximum length of packets sent to the controller. By default, the entire packet is sent.
reason=reason:Specify reason as the reason for sending the message in the ‘‘packet in’’ message. The supported reasons are action (the default), no_match, and invalid_ttl.
ovs-ofctl add-flow <bridge> in_port=<port>,ip, actions=set_field:16-\>tos,output:<port>
modify the value of tos in packets.
support vntag and vnid in match fields now.
ovs-ofctl add-flow <bridge> vn_tag=0x33330000/0x3FFF0000,dl_dst=00:11:11:11:11:11,actions=2. For the details,check the link:VN-tag.
ovs-ofctl add-flow <bridge> udp,tp_dst=5000,tun_id=0x0200000000112233,actions=2
support the udf fields
ovs-ofctl add-flow <bridge> table=250,in_port=<port>,udf0=0x810003E8/0x0000ffff,actions=2
please check the details through the following link:Configuring udf flow
Summarize Above Flows as a Table
ovs-ofctl add-flow <bridge> <flow>
Add table:
feature | Match fields | actions | example |
L2 | in_port=<port> | <action> | ovs-ofctl add-flow br0 in_port=1,actions=output:2 |
dl_src=<mac> | <action> | ovs-ofctl add-flow br0 in_port=1,dl_src=22:22:22:22:22:22,actions=output:2 | |
dl_dst=<mac> | <action> | ovs-ofctl add-flow br0 in_port=1,dl_dst=00:0B:C4:A8:22:B0,actions=output:2 | |
dl_src=<mac/mask> | <action> | ovs-ofctl add-flow br0 in_port=1,dl_src=00:0B:C4:A8:22:B0/ff:ff:ff:ff:ff:ff,actions=output:2 | |
dl_dst=<mac/mask> | <action> | ovs-ofctl add-flow br0 in_port=1,dl_dst=00:0B:C4:A8:22:B0/ff:ff:ff:ff:ff:ff,actions=output:2 | |
dl_type=<ethernet type> | <action> | ovs-ofctl add-flow br0 in_port=1,dl_type=0x0800,actions=output:2 | |
<match-field> | mod_dl_src:<mac>/set_field:22:22:22:22:33:33-\>dl_dst | ovs-ofctl add-flow br0 in_port=1,dl_type=0x0800,dl_dst=22:22:22:22:22:22,actions=mod_dl_src:22:23:33:33:33:33,output:2 | |
<match-field> | mod_dl_dst:<mac>/set_field:22:22:22:22:44:44-\>dl_src | ovs-ofctl add-flow br0 in_port=1,dl_type=0x0800,actions=mod_dl_dst:22:23:33:33:33:33,output:2 | |
L3 | dl_type=<ethernet type>,nw_src=ip[/netmask] | <action> | ovs-ofctl add-flow br0 in_port=1,dl_type=0x0800,nw_src=1.1.1.0/24,actions=output:2 |
dl_type=<ethernet type>,nw_dst=ip[/netmask] | <action> | ovs-ofctl add-flow br0 in_port=1,dl_type=0x0800,nw_dst=1.1.1.0/24,actions=output:2 | |
dl_type=<Ethernet type>, nw_proto=<proto> | <action> | ovs-ofctl add-flow br0 dl_type=0x0800,in_port=1,nw_proto=17,actions=set_field:22:33:33:33:33:33-\>dst,output:2 | |
dl_type=<ethernet type>, nw_ecn=<ecn> | <action> | ovs-ofctl add-flow br0 dl_type=0x0800,in_port=1,nw_ecn=1,actions= output:2 | |
dl_type=<ethernettype>,nw_proto=<proto>,tp_src=<port> | <action> | ovs-ofctl add-flow br0 dl_type=0x0800,in_port=1, nw_proto =6, tp_src=800,actions= output:2 | |
dl_type=<ethernet type>,nw_proto=<proto>,tp_dst=<port> | <action> | ovs-ofctl add-flow br0 dl_type=0x0800,in_port=1, nw_proto =6, tp_dst=800,actions= output:2 | |
dl_type=<ethernettype>,nw_proto=<proto>,tp_src=<port/mask> | <action> | ovs-ofctl add-flow br0 dl_type=0x0800,in_port=1, nw_proto =6, tp_src= 2002/oxffff,actions= output:2 | |
dl_type=<ethernet type>,nw_proto=<proto>,tp_dst=<port/mask> | <action> | ovs-ofctl add-flow br0 dl_type=0x0800,in_port=1, nw_proto =6, tp_dst=2002/oxffff,actions= output:2 | |
<match-field> | mod_nw_src:<ip>/set_field:2.2.2.2-\>nw_src | ovs-ofctl add-flow br0 dl_type=0x0800,in_port=1,actions=mod_nw_src:1.1.1.1,output=2 | |
<match-field> | mod_nw_dst:<ip>/set_field:3.2.2.3-\>nw_dst | ovs-ofctl add-flow br0 dl_type=0x0800,in_port=1,actions=mod_nw_src:1.1.1.1,output=2 | |
<match-field> | tcp:mod_tp_src:<port>/set_field:800-\>tp_srcudp:set_field:800-\>udp_src | ovs-ofctl add-flow br0 dl_type=0x0800,in_port=1,tcp,actions=mod_tp_src:2002,output=2ovs-ofctl add-flow br0 in_port=1,udp,nw_src=1.1.1.1,actions=set_field:800-\>udp_src,output=2 | |
<match-field> | tcp:mod_tp_dst:<port>/set_field:900-\>tp_dstudp:set_field:800-\>udp_dst | ovs-ofctl add-flow br0 dl_type=0x0800,in_port=1,tcp,actions=mod_tp_dst:2002,output=2ovs-ofctl add-flow br0 in_port=1,udp,nw_dst=1.1.1.1,actions=set_field:880-\>udp_dst,output=2 | |
Table | table=<number> | <action> | ovs-ofctl add-flow br0 in_port=1,ip,table=251,dl_dst=22:22:22:22:22:22,actions=push_vlan:0x8100,set_field:1999-\>vlan_vid,output:2 |
Metadata | metadata=value[/mask] | <action> | |
ICMP | dl_type=<ethernettype>,nw_proto=1,icmp_type=<type> | <action> | ovs-ofctl add-flow br0 in_port=1,dl_type=0x0800,nw_proto=1,icmp_type=0,nw_dst=96.115.0.0/17,actions=meter:2,all |
dl_type=<ethernettype>,nw_proto=1,icmp_code=<type> | <action> | ovs-ofctl add-flow br0 in_port=1,dl_type=0x0800,nw_proto=1,icmp_type=8,icmp_code=100,actions=output:2" | |
MPLS | dl_type=0x8847,mpls_label=<label> | <action> | ovs-ofctl add-flow br0 in_port=1,dl_type=0x8847,mpls_label=222,actions=push_mpls:0x8847,set_field:30-\>mpls_label,output:2 |
dl_type=0x8847,mpls_tc=<tc> | set_field:<value>-\>mpls_tc | ovs-ofctl add-flow br0 in_port=1,dl_type=0x8847,dl_dst=22:22:22:22:22:22,dl_vlan=2999,mpls_label=333,mpls_tc=1,actions=set_field:2-\>mpls_tc,output:2 | |
<match-field> dl_type=<ethertype>,dl_src=<src>,dl_dst=<dst> | push_mpls:<ethertype>,set_field:<value>-\>mpls_label,output:<port> | ovs-ofctl add-flow br0 in_port=1,dl_type=0x0800,dl_src=22:11:11:11:11:11,dl_dst=22:22:22:22:22:22, actions=push_mpls:0x8847,set_field:222-\>mpls_label,output:2 | |
<match-field> | pop_mpls:<ethertype> | ovs-ofctl add-flow br0 in_port=5,dl_type=0x8847,dl_dst=22:22:22:22:22:22,dl_vlan=2999,mpls_label=333,mpls_tc=2,actions=push_mpls:0x8847,set_field:222-\>mpls_label,output:6 | |
<match-field> | set_mpls_ttl:ttl | ovs-ofctl add-flow br0 in_port=5,dl_type=0x8847,dl_dst=22:22:22:22:22:22,dl_vlan=2999,mpls_label=333,actions=push_mpls:0x8847,set_field:222->mpls_label,set_mpls_ttl:253,output:6 | |
VLAN | vlan_tci=<tci[/mask]> | <action> | ovs-ofctl add-flow br0 in_port=5,vlan_tci=0x3bb7/0xffff,actions=6 |
dl_vlan=<vlanid> | <action> | ovs-ofctl add-flow br0 in_port=5,dl_vlan=2999,actions=6 | |
dl_vlan_pcp=<value> | <action> | ovs-ofctl add-flow br0 in_port=5,dl_vlan_pcp=2,actions=output:6 | |
<match-field> | push_vlan:<ethertype>,set_field:<value>-\>vlan_vid,output:<port> | ovs-ofctl add-flow br0 in_port=1,ip,actions=push_vlan:0x8100,set_field:2999-\>vlan_vid,output:2 | |
<match-field> | mod_vlan_vid:<vlan_vid>/set_field:299-\>vlan_vid | ovs-ofctl add-flow br0 in_port=5,vlan_tci=0x3bb7/0xffff,actions=mod_vlan_vid:888,output:6 | |
<match-field> | mod_vlan_pcp:<vlan_pcp>/set_field:3-\>vlan_pcp | ovs-ofctl add-flow br0 in_port=5,vlan_tci=0x3bb7/0xffff,actions=mod_vlan_pcp:5,output:6 | |
<match-field> | strip_vlan | ovs-ofctl add-flow br0 in_port=5,vlan_tci=0x3bb7/0xffff,actions=strip_vlan,output:6 | |
IPv6 | dl_type=0x86DD,ipv6_src=<ipv6[/netmask]> | set_field:2002::1-\>ipv6_src | ovs-ofctl add-flow br0 in_port=1,dl_type=0x86dd,ipv6_src=2001::1/128,actions=set_field:2002::1-\>ipv6_src,output:2 |
dl_type=0x86DD,ipv6_dst=<ipv6[/netmask]> | set_field:2002::1-\>ipv6_dst | ovs-ofctl add-flow br0 in_port=1,dl_type=0x86dd,ipv6_dst=2001::1/128,actions=set_field:2002::1-\>ipv6_dst,output:2 | |
Openflow | <match-field> | actions=[target][,target...] | |
<match-field> | actions=output:<port> | ovs-ofctl add-flow br0 in_port=1,dl_type=0x0800,dl_vlan=2999,actions= output:2 | |
<match-field> | actions=enqueue(port,queue) | ovs-ofctl add-flow br0 in_port=1,dl_dst=22:22:22:22:22:22,actions=enqueue\(1,7\) | |
<match-field> | NORMAL | ovs-ofctl add-flow br0 in_port=1,dl_vlan=2999,actions=NORMAL | |
<match-field> | flood | ovs-ofctl add-flow br0 in_port=1,dl_dst=22:22:22:22:22:22,actions=flood | |
<match-field> | all | ovs-ofctl add-flow br0 in_port=1,dl_vlan=2999,actions=all,set_field:22:33:33:33:33:33-\>dl_dst,output:2,3 | |
<match-field> | drop | ovs-ofctl add-flow br0 in_port=1,dl_dst=22:22:22:22:22:22,actions=all | |
<match-field> | controller(key=value...) | ovs-ofctl add-flow br0 arp,arp_op=1,actions=CONTROLLER | |
PBB | <match-field> | push_pbb:<ethertype>,set_field:<value>-\>pbb_isid | ovs-ofctl add-flow br0 in_port=1,dl_type=0x0800,dl_src=22:11:11:11:11:11,dl_dst=22:22:22:22:22:22,actions=push_pbb:0x88e7,push_vlan:0x8100,set_field:4094-\>vlan_vid,output:2 |
<match-field> | pop_pbb | ovs-ofctl add-flow br0 in_port=1,dl_type=0x8100,dl_src=00:00:00:11:11:11,dl_dst=00:00:00:22:22:22,actions=pop_vlan,pop_pbb,output:2 | |
<match-field> | resubmit([port],[table]) | ovs-ofctl add-flow br0 table=0,dl_dst=00:00:00:00:11:11,actions=resubmit\(6,1\)Note: at least one "in_port" or "table" must be specified on resubmit | |
Qos | <match-field> | mod_nw_tos:<tos>/set_field:16-\>ip_dscp | ovs-ofctl add-flow br0 table=253,dl_type=0x0800,nw_dst=1.1.1.1,actions=mod_nw_tos:16 |
<match-field> | set_queue:<queue> | ovs-ofctl add-flow br0 in_port=1,dl_src=22:11:11:11:11:11,actions=set_queue:0,output=3 | |
dl_type=<ethernet type>, nw_tos=<tos> | <action> | ovs-ofctl add-flow br0 in_port=1,dl_type=0x0800,nw_tos=16,nw_dst=1.1.1.1,actions=mod_nw_tos:32 |
Copyright © 2024 Pica8 Inc. All Rights Reserved.