__be16 type; /* Ethernet frame type. */
} eth;
struct {
- u8 nw_proto; /* IP protocol or lower 8 bits of ARP opcode. */
- u8 nw_tos; /* IP ToS (DSCP field, 6 bits). */
+ u8 proto; /* IP protocol or lower 8 bits of ARP opcode. */
+ u8 tos; /* IP ToS (DSCP field, 6 bits). */
} ip;
union {
struct {
*
* struct pad nl hdr total
* ------ --- ------ -----
- * ODP_KEY_ATTR_TUN_ID 8 -- 4 12
- * ODP_KEY_ATTR_IN_PORT 4 -- 4 8
- * ODP_KEY_ATTR_ETHERNET 12 -- 4 16
- * ODP_KEY_ATTR_8021Q 4 -- 4 8
- * ODP_KEY_ATTR_ETHERTYPE 2 2 4 8
- * ODP_KEY_ATTR_IPV6 34 2 4 40
- * ODP_KEY_ATTR_ICMPV6 2 2 4 8
- * ODP_KEY_ATTR_ND 28 -- 4 32
+ * OVS_KEY_ATTR_TUN_ID 8 -- 4 12
+ * OVS_KEY_ATTR_IN_PORT 4 -- 4 8
+ * OVS_KEY_ATTR_ETHERNET 12 -- 4 16
+ * OVS_KEY_ATTR_8021Q 4 -- 4 8
+ * OVS_KEY_ATTR_ETHERTYPE 2 2 4 8
+ * OVS_KEY_ATTR_IPV6 34 2 4 40
+ * OVS_KEY_ATTR_ICMPV6 2 2 4 8
+ * OVS_KEY_ATTR_ND 28 -- 4 32
* -------------------------------------------------
* total 132
*/
int flow_to_nlattrs(const struct sw_flow_key *, struct sk_buff *);
int flow_from_nlattrs(struct sw_flow_key *swkey, int *key_lenp,
const struct nlattr *);
+int flow_metadata_from_nlattrs(u16 *in_port, __be64 *tun_id,
+ const struct nlattr *);
static inline struct sw_flow *flow_cast(const struct tbl_node *node)
{