[ovs-discuss] It doesn't work when Packet-Out to a Group and in_port=Controller, where the type of group is "select".

陳奕任 yiren at cs.nctu.edu.tw
Thu May 21 14:50:21 UTC 2020


Hello,


==== What you did that make the problem appear.  ====
I use Ryu as the OpenFlow controller.
I try to use Packet-Out with Actions=ActionGroup(1) and in_port=Controller,
where the type of group 1 is "select".
There is only one bucket and the bucket has only one ActionOutput to a
physical port, because I am doing a small test for a project.

I use OpenFlow13 firstly, and then I try to use OpenFlow15. both of them
have the same problem.

==== What you expected to happen.  ====
My composed packets should be sent

====  What actually happened.  ====
no packet is sent.

==== other trials (other information that I think might be relevant.) ====
(1)   If I change the group type to "FastFailover", it works.
(2)   if I change the in_port to "Local", it works.
(3)   if I change the Action=ActionOutput(Table), and add a flow entry
which match is "in_port=controller" and "actions=group(1)", it doesn't
work. I use " ovs-ofctl dump-group-stats" to check packet_count and
byte_count, but they are not increased.
However, the packet_count and byte_count are increased on the flow entry
when I use ovs-ofctl dump-flows to check them.


====  ovs-vswitchd --version  ====
ovs-vswitchd (Open vSwitch) 2.13.0

==== lsb_release -a ====
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04 LTS
Release:        20.04
Codename:       focal

==== cat /proc/version ====
Linux version 5.4.0-29-generic (buildd at lgw01-amd64-035) (gcc version 9.3.0
(Ubuntu 9.3.0-10ubuntu2)) #33-Ubuntu SMP Wed Apr 29 14:32:27 UTC 2020

  ==== cat  /etc/openvswitch/conf.db   ====
OVSDB JSON 14579 892cfc6166ea6fd67706f743281587f1734d3616
{"cksum":"1076640191
26427","name":"Open_vSwitch","version":"8.2.0","tables":{"Controller":{"columns":{"local_gateway":{"type":{"min":0,"key":"string"}},"enable_async_messages":{"type":{"min":0,"key":"boolean"}},"local_netmask":{"type":{"min":0,"key":"string"}},"type":{"type":{"min":0,"key":{"type":"string","enum":["set",["primary","service"]]}}},"controller_rate_limit":{"type":{"min":0,"key":{"minInteger":100,"type":"integer"}}},"role":{"ephemeral":true,"type":{"min":0,"key":{"type":"string","enum":["set",["master","other","slave"]]}}},"max_backoff":{"type":{"min":0,"key":{"minInteger":1000,"type":"integer"}}},"inactivity_probe":{"type":{"min":0,"key":"integer"}},"connection_mode":{"type":{"min":0,"key":{"type":"string","enum":["set",["in-band","out-of-band"]]}}},"is_connected":{"ephemeral":true,"type":"boolean"},"status":{"ephemeral":true,"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"other_config":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"external_ids":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"controller_burst_limit":{"type":{"min":0,"key":{"minInteger":25,"type":"integer"}}},"local_ip":{"type":{"min":0,"key":"string"}},"controller_queue_size":{"type":{"min":0,"key":{"minInteger":1,"maxInteger":512,"type":"integer"}}},"target":{"type":"string"}}},"Bridge":{"indexes":[["name"]],"columns":{"name":{"mutable":false,"type":"string"},"flood_vlans":{"type":{"max":4096,"min":0,"key":{"minInteger":0,"maxInteger":4095,"type":"integer"}}},"stp_enable":{"type":"boolean"},"ports":{"type":{"max":"unlimited","min":0,"key":{"type":"uuid","refTable":"Port"}}},"auto_attach":{"type":{"min":0,"key":{"type":"uuid","refTable":"AutoAttach"}}},"fail_mode":{"type":{"min":0,"key":{"type":"string","enum":["set",["secure","standalone"]]}}},"rstp_enable":{"type":"boolean"},"rstp_status":{"ephemeral":true,"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"flow_tables":{"type":{"max":"unlimited","min":0,"key":{"minInteger":0,"maxInteger":254,"type":"integer"},"value":{"type":"uuid","refTable":"Flow_Table"}}},"netflow":{"type":{"min":0,"key":{"type":"uuid","refTable":"NetFlow"}}},"datapath_type":{"type":"string"},"controller":{"type":{"max":"unlimited","min":0,"key":{"type":"uuid","refTable":"Controller"}}},"other_config":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"external_ids":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"status":{"ephemeral":true,"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"ipfix":{"type":{"min":0,"key":{"type":"uuid","refTable":"IPFIX"}}},"mirrors":{"type":{"max":"unlimited","min":0,"key":{"type":"uuid","refTable":"Mirror"}}},"datapath_id":{"ephemeral":true,"type":{"min":0,"key":"string"}},"mcast_snooping_enable":{"type":"boolean"},"protocols":{"type":{"max":"unlimited","min":0,"key":{"type":"string","enum":["set",["OpenFlow10","OpenFlow11","OpenFlow12","OpenFlow13","OpenFlow14","OpenFlow15"]]}}},"sflow":{"type":{"min":0,"key":{"type":"uuid","refTable":"sFlow"}}},"datapath_version":{"type":"string"}}},"Queue":{"isRoot":true,"columns":{"external_ids":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"other_config":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"dscp":{"type":{"min":0,"key":{"minInteger":0,"maxInteger":63,"type":"integer"}}}}},"IPFIX":{"columns":{"cache_active_timeout":{"type":{"min":0,"key":{"minInteger":0,"maxInteger":4200,"type":"integer"}}},"obs_point_id":{"type":{"min":0,"key":{"minInteger":0,"maxInteger":4294967295,"type":"integer"}}},"other_config":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"external_ids":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"sampling":{"type":{"min":0,"key":{"minInteger":1,"maxInteger":4294967295,"type":"integer"}}},"targets":{"type":{"max":"unlimited","min":0,"key":"string"}},"obs_domain_id":{"type":{"min":0,"key":{"minInteger":0,"maxInteger":4294967295,"type":"integer"}}},"cache_max_flows":{"type":{"min":0,"key":{"minInteger":0,"maxInteger":4294967295,"type":"integer"}}}}},"NetFlow":{"columns":{"active_timeout":{"type":{"key":{"minInteger":-1,"type":"integer"}}},"engine_type":{"type":{"min":0,"key":{"minInteger":0,"maxInteger":255,"type":"integer"}}},"engine_id":{"type":{"min":0,"key":{"minInteger":0,"maxInteger":255,"type":"integer"}}},"add_id_to_interface":{"type":"boolean"},"external_ids":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"targets":{"type":{"max":"unlimited","key":"string"}}}},"Open_vSwitch":{"maxRows":1,"isRoot":true,"columns":{"statistics":{"ephemeral":true,"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"dpdk_initialized":{"type":"boolean"},"manager_options":{"type":{"max":"unlimited","min":0,"key":{"type":"uuid","refTable":"Manager"}}},"cur_cfg":{"type":"integer"},"dpdk_version":{"type":{"min":0,"key":"string"}},"next_cfg":{"type":"integer"},"iface_types":{"type":{"max":"unlimited","min":0,"key":"string"}},"datapath_types":{"type":{"max":"unlimited","min":0,"key":"string"}},"db_version":{"type":{"min":0,"key":"string"}},"system_version":{"type":{"min":0,"key":"string"}},"bridges":{"type":{"max":"unlimited","min":0,"key":{"type":"uuid","refTable":"Bridge"}}},"external_ids":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"other_config":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"ovs_version":{"type":{"min":0,"key":"string"}},"ssl":{"type":{"min":0,"key":{"type":"uuid","refTable":"SSL"}}},"system_type":{"type":{"min":0,"key":"string"}},"datapaths":{"type":{"max":"unlimited","min":0,"key":"string","value":{"type":"uuid","refTable":"Datapath"}}}}},"CT_Zone":{"columns":{"timeout_policy":{"type":{"min":0,"key":{"type":"uuid","refTable":"CT_Timeout_Policy"}}},"external_ids":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}}}},"QoS":{"isRoot":true,"columns":{"queues":{"type":{"max":"unlimited","min":0,"key":{"minInteger":0,"maxInteger":4294967295,"type":"integer"},"value":{"type":"uuid","refTable":"Queue"}}},"other_config":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"external_ids":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"type":{"type":"string"}}},"Datapath":{"columns":{"external_ids":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"ct_zones":{"type":{"max":"unlimited","min":0,"key":{"minInteger":0,"maxInteger":65535,"type":"integer"},"value":{"type":"uuid","refTable":"CT_Zone"}}},"datapath_version":{"type":"string"},"capabilities":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}}}},"SSL":{"maxRows":1,"columns":{"bootstrap_ca_cert":{"type":"boolean"},"certificate":{"type":"string"},"private_key":{"type":"string"},"external_ids":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"ca_cert":{"type":"string"}}},"Port":{"indexes":[["name"]],"columns":{"name":{"mutable":false,"type":"string"},"bond_downdelay":{"type":"integer"},"statistics":{"ephemeral":true,"type":{"max":"unlimited","min":0,"key":"string","value":"integer"}},"protected":{"type":"boolean"},"fake_bridge":{"type":"boolean"},"mac":{"type":{"min":0,"key":"string"}},"trunks":{"type":{"max":4096,"min":0,"key":{"minInteger":0,"maxInteger":4095,"type":"integer"}}},"rstp_status":{"ephemeral":true,"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"tag":{"type":{"min":0,"key":{"minInteger":0,"maxInteger":4095,"type":"integer"}}},"cvlans":{"type":{"max":4096,"min":0,"key":{"minInteger":0,"maxInteger":4095,"type":"integer"}}},"bond_updelay":{"type":"integer"},"bond_active_slave":{"type":{"min":0,"key":"string"}},"other_config":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"status":{"ephemeral":true,"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"external_ids":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"bond_mode":{"type":{"min":0,"key":{"type":"string","enum":["set",["active-backup","balance-slb","balance-tcp"]]}}},"qos":{"type":{"min":0,"key":{"type":"uuid","refTable":"QoS"}}},"bond_fake_iface":{"type":"boolean"},"interfaces":{"type":{"max":"unlimited","key":{"type":"uuid","refTable":"Interface"}}},"vlan_mode":{"type":{"min":0,"key":{"type":"string","enum":["set",["access","dot1q-tunnel","native-tagged","native-untagged","trunk"]]}}},"rstp_statistics":{"ephemeral":true,"type":{"max":"unlimited","min":0,"key":"string","value":"integer"}},"lacp":{"type":{"min":0,"key":{"type":"string","enum":["set",["active","off","passive"]]}}}}},"sFlow":{"columns":{"agent":{"type":{"min":0,"key":"string"}},"header":{"type":{"min":0,"key":"integer"}},"polling":{"type":{"min":0,"key":"integer"}},"external_ids":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"sampling":{"type":{"min":0,"key":"integer"}},"targets":{"type":{"max":"unlimited","key":"string"}}}},"Flow_Sample_Collector_Set":{"isRoot":true,"indexes":[["id","bridge"]],"columns":{"id":{"type":{"key":{"minInteger":0,"maxInteger":4294967295,"type":"integer"}}},"ipfix":{"type":{"min":0,"key":{"type":"uuid","refTable":"IPFIX"}}},"external_ids":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"bridge":{"type":{"key":{"type":"uuid","refTable":"Bridge"}}}}},"CT_Timeout_Policy":{"columns":{"external_ids":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"timeouts":{"type":{"max":"unlimited","min":0,"key":{"type":"string","enum":["set",["icmp_first","icmp_reply","tcp_close","tcp_close_wait","tcp_established","tcp_fin_wait","tcp_last_ack","tcp_retransmit","tcp_syn_recv","tcp_syn_sent","tcp_syn_sent2","tcp_time_wait","tcp_unack","udp_first","udp_multiple","udp_single"]]},"value":{"minInteger":0,"maxInteger":4294967295,"type":"integer"}}}}},"Mirror":{"columns":{"select_all":{"type":"boolean"},"statistics":{"ephemeral":true,"type":{"max":"unlimited","min":0,"key":"string","value":"integer"}},"name":{"type":"string"},"output_vlan":{"type":{"min":0,"key":{"minInteger":1,"maxInteger":4095,"type":"integer"}}},"select_dst_port":{"type":{"max":"unlimited","min":0,"key":{"refType":"weak","type":"uuid","refTable":"Port"}}},"external_ids":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"select_src_port":{"type":{"max":"unlimited","min":0,"key":{"refType":"weak","type":"uuid","refTable":"Port"}}},"snaplen":{"type":{"min":0,"key":{"minInteger":14,"maxInteger":65535,"type":"integer"}}},"output_port":{"type":{"min":0,"key":{"refType":"weak","type":"uuid","refTable":"Port"}}},"select_vlan":{"type":{"max":4096,"min":0,"key":{"minInteger":0,"maxInteger":4095,"type":"integer"}}}}},"Flow_Table":{"columns":{"name":{"type":{"min":0,"key":"string"}},"prefixes":{"type":{"max":3,"min":0,"key":"string"}},"groups":{"type":{"max":"unlimited","min":0,"key":"string"}},"external_ids":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"overflow_policy":{"type":{"min":0,"key":{"type":"string","enum":["set",["evict","refuse"]]}}},"flow_limit":{"type":{"min":0,"key":{"minInteger":0,"type":"integer"}}}}},"Interface":{"indexes":[["name"]],"columns":{"statistics":{"ephemeral":true,"type":{"max":"unlimited","min":0,"key":"string","value":"integer"}},"mac":{"type":{"min":0,"key":"string"}},"options":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"bfd_status":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"cfm_health":{"ephemeral":true,"type":{"min":0,"key":{"minInteger":0,"maxInteger":100,"type":"integer"}}},"ofport":{"type":{"min":0,"key":"integer"}},"admin_state":{"ephemeral":true,"type":{"min":0,"key":{"type":"string","enum":["set",["down","up"]]}}},"error":{"type":{"min":0,"key":"string"}},"cfm_fault_status":{"ephemeral":true,"type":{"max":"unlimited","min":0,"key":"string"}},"mtu":{"ephemeral":true,"type":{"min":0,"key":"integer"}},"lacp_current":{"ephemeral":true,"type":{"min":0,"key":"boolean"}},"status":{"ephemeral":true,"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"external_ids":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"ofport_request":{"type":{"min":0,"key":{"minInteger":1,"maxInteger":65279,"type":"integer"}}},"link_state":{"ephemeral":true,"type":{"min":0,"key":{"type":"string","enum":["set",["down","up"]]}}},"cfm_remote_opstate":{"ephemeral":true,"type":{"min":0,"key":{"type":"string","enum":["set",["down","up"]]}}},"cfm_fault":{"ephemeral":true,"type":{"min":0,"key":"boolean"}},"link_speed":{"ephemeral":true,"type":{"min":0,"key":"integer"}},"duplex":{"ephemeral":true,"type":{"min":0,"key":{"type":"string","enum":["set",["full","half"]]}}},"ingress_policing_rate":{"type":{"key":{"minInteger":0,"type":"integer"}}},"name":{"mutable":false,"type":"string"},"mtu_request":{"type":{"min":0,"key":{"minInteger":1,"type":"integer"}}},"cfm_flap_count":{"type":{"min":0,"key":"integer"}},"ifindex":{"ephemeral":true,"type":{"min":0,"key":{"minInteger":0,"maxInteger":4294967295,"type":"integer"}}},"type":{"type":"string"},"mac_in_use":{"ephemeral":true,"type":{"min":0,"key":"string"}},"link_resets":{"ephemeral":true,"type":{"min":0,"key":"integer"}},"lldp":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"other_config":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"cfm_remote_mpids":{"ephemeral":true,"type":{"max":"unlimited","min":0,"key":"integer"}},"bfd":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"cfm_mpid":{"type":{"min":0,"key":"integer"}},"ingress_policing_burst":{"type":{"key":{"minInteger":0,"type":"integer"}}}}},"AutoAttach":{"columns":{"mappings":{"type":{"max":"unlimited","min":0,"key":{"minInteger":0,"maxInteger":16777215,"type":"integer"},"value":{"minInteger":0,"maxInteger":4095,"type":"integer"}}},"system_description":{"type":"string"},"system_name":{"type":"string"}}},"Manager":{"indexes":[["target"]],"columns":{"is_connected":{"ephemeral":true,"type":"boolean"},"connection_mode":{"type":{"min":0,"key":{"type":"string","enum":["set",["in-band","out-of-band"]]}}},"other_config":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"external_ids":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"status":{"ephemeral":true,"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"target":{"type":"string"},"max_backoff":{"type":{"min":0,"key":{"minInteger":1000,"type":"integer"}}},"inactivity_probe":{"type":{"min":0,"key":"integer"}}}}}}
OVSDB JSON 1535 9ac38d509b26648fa425f9c2fe3f411a910e9613
{"Interface":{"34f03dec-2806-4695-b344-abac13e0df71":{"name":"adapter","ofport":65534,"type":"internal"},"b6f0fe12-ecf8-45bb-9488-f8021ad146f7":{"name":"eth2","ofport":1}},"Port":{"4c124413-5bff-4e21-b336-bd160ed46b19":{"name":"eth2","interfaces":["uuid","b6f0fe12-ecf8-45bb-9488-f8021ad146f7"]},"c2d7360c-a2b0-4cb2-8bb3-a97350074aee":{"name":"adapter","interfaces":["uuid","34f03dec-2806-4695-b344-abac13e0df71"]}},"Controller":{"513341e5-519c-430d-a4e5-e9a1e1218dde":{"target":"tcp:
127.0.0.1:6653"}},"_date":1590030980091,"Bridge":{"e330fb24-4f2e-44af-b847-b0548ef8ebd9":{"name":"adapter","ports":["set",[["uuid","4c124413-5bff-4e21-b336-bd160ed46b19"],["uuid","c2d7360c-a2b0-4cb2-8bb3-a97350074aee"]]],"controller":["uuid","513341e5-519c-430d-a4e5-e9a1e1218dde"],"fail_mode":"secure","other_config":["map",[["datapath-id","0000bad0babe0051"],["disable-in-band","false"]]],"protocols":"OpenFlow15","datapath_version":"<unknown>"}},"_comment":"compacting
database
online","Open_vSwitch":{"c55374ba-8423-4783-9d76-867dd195755f":{"bridges":["uuid","e330fb24-4f2e-44af-b847-b0548ef8ebd9"],"ovs_version":"2.13.0","external_ids":["map",[["hostname","worker1"],["rundir","/var/run/openvswitch"],["system-id","6d78e8ef-9d09-4348-9463-152d81b8b1b2"]]],"cur_cfg":56,"dpdk_version":"none","next_cfg":56,"datapath_types":["set",["netdev","system"]],"iface_types":["set",["erspan","geneve","gre","internal","ip6erspan","ip6gre","lisp","patch","stt","system","tap","vxlan"]],"system_type":"ubuntu","db_version":"8.2.0","system_version":"20.04"}}}

==== ovs-dpctl show  ====
system at ovs-system:
  lookups: hit:34 missed:98 lost:0
  flows: 0
  masks: hit:59 total:0 hit/pkt:0.45
  port 0: ovs-system (internal)
  port 1: adapter (internal)
  port 2: eth2

==== ovs-ofctl -O OpenFlow15 show adapter  ====
OFPT_FEATURES_REPLY (OF1.5) (xid=0x2): dpid:0000bad0babe0051
n_tables:254, n_buffers:0
capabilities: FLOW_STATS TABLE_STATS PORT_STATS GROUP_STATS QUEUE_STATS
BUNDLES
OFPST_PORT_DESC reply (OF1.5) (xid=0x3):
 1(eth2): addr:de:21:68:80:7d:8f
     config:     0
     state:      LIVE
     current:    10GB-FD COPPER
     speed: 10000 Mbps now, 0 Mbps max
 LOCAL(adapter): addr:26:fb:30:e3:af:44
     config:     0
     state:      LIVE
     speed: 0 Mbps now, 0 Mbps max
OFPT_GET_CONFIG_REPLY (OF1.5) (xid=0x9): frags=normal miss_send_len=0
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-discuss/attachments/20200521/1411525d/attachment-0001.html>


More information about the discuss mailing list