X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fodp-util.h;h=5cdb204109e16d394cf94841f3e35ee776c79659;hb=0135dc8b4e91886b0e9f5c3e1c3e973d9ee575c7;hp=16f2b156707260c6e720b2c23530d2dda609e888;hpb=31a1e58ec7236b915cd9b49d9e927ad90b5ae285;p=openvswitch diff --git a/lib/odp-util.h b/lib/odp-util.h index 16f2b156..5cdb2041 100644 --- a/lib/odp-util.h +++ b/lib/odp-util.h @@ -32,33 +32,7 @@ struct nlattr; struct ofpbuf; struct simap; -#define OVSP_NONE UINT16_MAX - -static inline uint16_t -ofp_port_to_odp_port(uint16_t ofp_port) -{ - switch (ofp_port) { - case OFPP_LOCAL: - return OVSP_LOCAL; - case OFPP_NONE: - return OVSP_NONE; - default: - return ofp_port; - } -} - -static inline uint16_t -odp_port_to_ofp_port(uint16_t odp_port) -{ - switch (odp_port) { - case OVSP_LOCAL: - return OFPP_LOCAL; - case OVSP_NONE: - return OFPP_NONE; - default: - return odp_port; - } -} +#define OVSP_NONE UINT32_MAX void format_odp_actions(struct ds *, const struct nlattr *odp_actions, size_t actions_len); @@ -80,6 +54,7 @@ int odp_actions_from_string(const char *, const struct simap *port_names, * ------ --- ------ ----- * OVS_KEY_ATTR_PRIORITY 4 -- 4 8 * OVS_KEY_ATTR_TUN_ID 8 -- 4 12 + * OVS_KEY_ATTR_IPV4_TUNNEL 24 -- 4 28 * OVS_KEY_ATTR_IN_PORT 4 -- 4 8 * OVS_KEY_ATTR_ETHERNET 12 -- 4 16 * OVS_KEY_ATTR_ETHERTYPE 2 2 4 8 (outer VLAN ethertype) @@ -90,7 +65,7 @@ int odp_actions_from_string(const char *, const struct simap *port_names, * OVS_KEY_ATTR_ICMPV6 2 2 4 8 * OVS_KEY_ATTR_ND 28 -- 4 32 * ------------------------------------------------- - * total 156 + * total 184 * * We include some slack space in case the calculation isn't quite right or we * add another field and forget to adjust this value. @@ -108,7 +83,8 @@ void odp_flow_key_format(const struct nlattr *, size_t, struct ds *); int odp_flow_key_from_string(const char *s, const struct simap *port_names, struct ofpbuf *); -void odp_flow_key_from_flow(struct ofpbuf *, const struct flow *); +void odp_flow_key_from_flow(struct ofpbuf *, const struct flow *, + uint32_t odp_in_port); uint32_t odp_flow_key_hash(const struct nlattr *, size_t);