X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fodp-util.c;h=5f1a77ce6350960427574d7a3d0185ab30a28835;hb=6767a2cce9a6412b3a41a927c4d56b9f0e1ec36f;hp=41acd6c5dab72e7492f09778dbdfbe14da3a3037;hpb=c97fb13280c565f55ed0de7cf0bf06ffe8320b70;p=openvswitch diff --git a/lib/odp-util.c b/lib/odp-util.c index 41acd6c5..5f1a77ce 100644 --- a/lib/odp-util.c +++ b/lib/odp-util.c @@ -33,29 +33,29 @@ int odp_action_len(uint16_t type) { - if (type > ODPAT_MAX) { + if (type > ODP_ACTION_ATTR_MAX) { return -1; } switch ((enum odp_action_type) type) { - case ODPAT_OUTPUT: return 4; - case ODPAT_CONTROLLER: return 8; - case ODPAT_SET_DL_TCI: return 2; - case ODPAT_STRIP_VLAN: return 0; - case ODPAT_SET_DL_SRC: return ETH_ADDR_LEN; - case ODPAT_SET_DL_DST: return ETH_ADDR_LEN; - case ODPAT_SET_NW_SRC: return 4; - case ODPAT_SET_NW_DST: return 4; - case ODPAT_SET_NW_TOS: return 1; - case ODPAT_SET_TP_SRC: return 2; - case ODPAT_SET_TP_DST: return 2; - case ODPAT_SET_TUNNEL: return 8; - case ODPAT_SET_PRIORITY: return 4; - case ODPAT_POP_PRIORITY: return 0; - case ODPAT_DROP_SPOOFED_ARP: return 0; - - case ODPAT_UNSPEC: - case __ODPAT_MAX: + case ODP_ACTION_ATTR_OUTPUT: return 4; + case ODP_ACTION_ATTR_CONTROLLER: return 8; + case ODP_ACTION_ATTR_SET_DL_TCI: return 2; + case ODP_ACTION_ATTR_STRIP_VLAN: return 0; + case ODP_ACTION_ATTR_SET_DL_SRC: return ETH_ADDR_LEN; + case ODP_ACTION_ATTR_SET_DL_DST: return ETH_ADDR_LEN; + case ODP_ACTION_ATTR_SET_NW_SRC: return 4; + case ODP_ACTION_ATTR_SET_NW_DST: return 4; + case ODP_ACTION_ATTR_SET_NW_TOS: return 1; + case ODP_ACTION_ATTR_SET_TP_SRC: return 2; + case ODP_ACTION_ATTR_SET_TP_DST: return 2; + case ODP_ACTION_ATTR_SET_TUNNEL: return 8; + case ODP_ACTION_ATTR_SET_PRIORITY: return 4; + case ODP_ACTION_ATTR_POP_PRIORITY: return 0; + case ODP_ACTION_ATTR_DROP_SPOOFED_ARP: return 0; + + case ODP_ACTION_ATTR_UNSPEC: + case __ODP_ACTION_ATTR_MAX: return -1; } @@ -95,56 +95,56 @@ format_odp_action(struct ds *ds, const struct nlattr *a) } switch (nl_attr_type(a)) { - case ODPAT_OUTPUT: + case ODP_ACTION_ATTR_OUTPUT: ds_put_format(ds, "%"PRIu16, nl_attr_get_u32(a)); break; - case ODPAT_CONTROLLER: + case ODP_ACTION_ATTR_CONTROLLER: ds_put_format(ds, "ctl(%"PRIu64")", nl_attr_get_u64(a)); break; - case ODPAT_SET_TUNNEL: + case ODP_ACTION_ATTR_SET_TUNNEL: ds_put_format(ds, "set_tunnel(%#"PRIx64")", ntohll(nl_attr_get_be64(a))); break; - case ODPAT_SET_DL_TCI: + case ODP_ACTION_ATTR_SET_DL_TCI: ds_put_format(ds, "set_tci(vid=%"PRIu16",pcp=%d)", vlan_tci_to_vid(nl_attr_get_be16(a)), vlan_tci_to_pcp(nl_attr_get_be16(a))); break; - case ODPAT_STRIP_VLAN: + case ODP_ACTION_ATTR_STRIP_VLAN: ds_put_format(ds, "strip_vlan"); break; - case ODPAT_SET_DL_SRC: + case ODP_ACTION_ATTR_SET_DL_SRC: eth = nl_attr_get_unspec(a, ETH_ADDR_LEN); ds_put_format(ds, "set_dl_src("ETH_ADDR_FMT")", ETH_ADDR_ARGS(eth)); break; - case ODPAT_SET_DL_DST: + case ODP_ACTION_ATTR_SET_DL_DST: eth = nl_attr_get_unspec(a, ETH_ADDR_LEN); ds_put_format(ds, "set_dl_dst("ETH_ADDR_FMT")", ETH_ADDR_ARGS(eth)); break; - case ODPAT_SET_NW_SRC: + case ODP_ACTION_ATTR_SET_NW_SRC: ip = nl_attr_get_be32(a); ds_put_format(ds, "set_nw_src("IP_FMT")", IP_ARGS(&ip)); break; - case ODPAT_SET_NW_DST: + case ODP_ACTION_ATTR_SET_NW_DST: ip = nl_attr_get_be32(a); ds_put_format(ds, "set_nw_dst("IP_FMT")", IP_ARGS(&ip)); break; - case ODPAT_SET_NW_TOS: + case ODP_ACTION_ATTR_SET_NW_TOS: ds_put_format(ds, "set_nw_tos(%"PRIu8")", nl_attr_get_u8(a)); break; - case ODPAT_SET_TP_SRC: + case ODP_ACTION_ATTR_SET_TP_SRC: ds_put_format(ds, "set_tp_src(%"PRIu16")", ntohs(nl_attr_get_be16(a))); break; - case ODPAT_SET_TP_DST: + case ODP_ACTION_ATTR_SET_TP_DST: ds_put_format(ds, "set_tp_dst(%"PRIu16")", ntohs(nl_attr_get_be16(a))); break; - case ODPAT_SET_PRIORITY: + case ODP_ACTION_ATTR_SET_PRIORITY: ds_put_format(ds, "set_priority(%#"PRIx32")", nl_attr_get_u32(a)); break; - case ODPAT_POP_PRIORITY: + case ODP_ACTION_ATTR_POP_PRIORITY: ds_put_cstr(ds, "pop_priority"); break; - case ODPAT_DROP_SPOOFED_ARP: + case ODP_ACTION_ATTR_DROP_SPOOFED_ARP: ds_put_cstr(ds, "drop_spoofed_arp"); break; default: @@ -266,7 +266,7 @@ format_odp_key_attr(const struct nlattr *a, struct ds *ds) q_key = nl_attr_get(a); ds_put_cstr(ds, "vlan("); if (q_key->q_tpid != htons(ETH_TYPE_VLAN)) { - ds_put_format(ds, "tpid=%#"PRIx16",", ntohs(q_key->q_tpid)); + ds_put_format(ds, "tpid=0x%04"PRIx16",", ntohs(q_key->q_tpid)); } ds_put_format(ds, "vid%"PRIu16",pcp%d)", vlan_tci_to_vid(q_key->q_tci), @@ -274,7 +274,7 @@ format_odp_key_attr(const struct nlattr *a, struct ds *ds) break; case ODP_KEY_ATTR_ETHERTYPE: - ds_put_format(ds, "eth_type(%#04"PRIx16")", + ds_put_format(ds, "eth_type(0x%04"PRIx16")", ntohs(nl_attr_get_be16(a))); break; @@ -386,21 +386,21 @@ odp_flow_key_from_flow(struct ofpbuf *buf, const struct flow *flow) ipv4_key->ipv4_proto = flow->nw_proto; ipv4_key->ipv4_tos = flow->nw_tos; - if (flow->nw_proto == IP_TYPE_TCP) { + if (flow->nw_proto == IPPROTO_TCP) { struct odp_key_tcp *tcp_key; tcp_key = nl_msg_put_unspec_uninit(buf, ODP_KEY_ATTR_TCP, sizeof *tcp_key); tcp_key->tcp_src = flow->tp_src; tcp_key->tcp_dst = flow->tp_dst; - } else if (flow->nw_proto == IP_TYPE_UDP) { + } else if (flow->nw_proto == IPPROTO_UDP) { struct odp_key_udp *udp_key; udp_key = nl_msg_put_unspec_uninit(buf, ODP_KEY_ATTR_UDP, sizeof *udp_key); udp_key->udp_src = flow->tp_src; udp_key->udp_dst = flow->tp_dst; - } else if (flow->nw_proto == IP_TYPE_ICMP) { + } else if (flow->nw_proto == IPPROTO_ICMP) { struct odp_key_icmp *icmp_key; icmp_key = nl_msg_put_unspec_uninit(buf, ODP_KEY_ATTR_ICMP, @@ -504,7 +504,7 @@ odp_flow_key_to_flow(const struct nlattr *key, size_t key_len, break; case TRANSITION(ODP_KEY_ATTR_IPV4, ODP_KEY_ATTR_TCP): - if (flow->nw_proto != IP_TYPE_TCP) { + if (flow->nw_proto != IPPROTO_TCP) { return EINVAL; } tcp_key = nl_attr_get(nla); @@ -513,7 +513,7 @@ odp_flow_key_to_flow(const struct nlattr *key, size_t key_len, break; case TRANSITION(ODP_KEY_ATTR_IPV4, ODP_KEY_ATTR_UDP): - if (flow->nw_proto != IP_TYPE_UDP) { + if (flow->nw_proto != IPPROTO_UDP) { return EINVAL; } udp_key = nl_attr_get(nla); @@ -522,7 +522,7 @@ odp_flow_key_to_flow(const struct nlattr *key, size_t key_len, break; case TRANSITION(ODP_KEY_ATTR_IPV4, ODP_KEY_ATTR_ICMP): - if (flow->nw_proto != IP_TYPE_ICMP) { + if (flow->nw_proto != IPPROTO_ICMP) { return EINVAL; } icmp_key = nl_attr_get(nla); @@ -577,9 +577,9 @@ odp_flow_key_to_flow(const struct nlattr *key, size_t key_len, return 0; case ODP_KEY_ATTR_IPV4: - if (flow->nw_proto == IP_TYPE_TCP - || flow->nw_proto == IP_TYPE_UDP - || flow->nw_proto == IP_TYPE_ICMP) { + if (flow->nw_proto == IPPROTO_TCP + || flow->nw_proto == IPPROTO_UDP + || flow->nw_proto == IPPROTO_ICMP) { return EINVAL; } return 0;