]> git.proxmox.com Git - mirror_ovs.git/commitdiff
odp-util: Refactor odp_key_to_dp_packet()
authorYi-Hung Wei <yihung.wei@gmail.com>
Mon, 31 Jul 2017 20:35:39 +0000 (13:35 -0700)
committerJoe Stringer <joe@ovn.org>
Mon, 31 Jul 2017 23:51:10 +0000 (16:51 -0700)
Change type from uint16_t to 'enum ovs_key_attr' so that the compiler
will warn the unhandled cases.

Suggested-by: Joe Stringer <joe@ovn.org>
Signed-off-by: Yi-Hung Wei <yihung.wei@gmail.com>
Signed-off-by: Joe Stringer <joe@ovn.org>
lib/odp-util.c

index 6a009f967183a78441b56aadbaa5585328aab37e..9d95d5348e33a7f388dc2fc3e71ff13633fac9d3 100644 (file)
@@ -4853,7 +4853,7 @@ odp_key_to_dp_packet(const struct nlattr *key, size_t key_len,
     pkt_metadata_init(md, ODPP_NONE);
 
     NL_ATTR_FOR_EACH (nla, left, key, key_len) {
-        uint16_t type = nl_attr_type(nla);
+        enum ovs_key_attr type = nl_attr_type(nla);
         size_t len = nl_attr_get_size(nla);
         int expected_len = odp_key_attr_len(ovs_flow_key_attr_lens,
                                             OVS_KEY_ATTR_MAX, type);
@@ -4920,6 +4920,22 @@ odp_key_to_dp_packet(const struct nlattr *key, size_t key_len,
         case OVS_KEY_ATTR_ETHERTYPE:
             ethertype = nl_attr_get_be16(nla);
             break;
+        case OVS_KEY_ATTR_UNSPEC:
+        case OVS_KEY_ATTR_ENCAP:
+        case OVS_KEY_ATTR_VLAN:
+        case OVS_KEY_ATTR_IPV4:
+        case OVS_KEY_ATTR_IPV6:
+        case OVS_KEY_ATTR_TCP:
+        case OVS_KEY_ATTR_UDP:
+        case OVS_KEY_ATTR_ICMP:
+        case OVS_KEY_ATTR_ICMPV6:
+        case OVS_KEY_ATTR_ARP:
+        case OVS_KEY_ATTR_ND:
+        case OVS_KEY_ATTR_SCTP:
+        case OVS_KEY_ATTR_TCP_FLAGS:
+        case OVS_KEY_ATTR_MPLS:
+        case OVS_KEY_ATTR_PACKET_TYPE:
+        case __OVS_KEY_ATTR_MAX:
         default:
             break;
         }