X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Flinux%2Fopenvswitch.h;h=f471fbc3e51b599e619c381808f67d850f517bcc;hb=9b405f1aa8d175d;hp=5e3296594879a0b0ee906d6d8dc53630df4e5fde;hpb=2c11563ad2967db7e5131f763c4d1107919b901e;p=sliver-openvswitch.git diff --git a/include/linux/openvswitch.h b/include/linux/openvswitch.h index 5e3296594..f471fbc3e 100644 --- a/include/linux/openvswitch.h +++ b/include/linux/openvswitch.h @@ -282,13 +282,30 @@ enum ovs_key_attr { OVS_KEY_ATTR_ARP, /* struct ovs_key_arp */ OVS_KEY_ATTR_ND, /* struct ovs_key_nd */ OVS_KEY_ATTR_SKB_MARK, /* u32 skb mark */ + OVS_KEY_ATTR_TUNNEL, /* Nested set of ovs_tunnel attributes */ + +#ifdef __KERNEL__ OVS_KEY_ATTR_IPV4_TUNNEL, /* struct ovs_key_ipv4_tunnel */ +#endif OVS_KEY_ATTR_TUN_ID = 63, /* be64 tunnel ID */ __OVS_KEY_ATTR_MAX }; #define OVS_KEY_ATTR_MAX (__OVS_KEY_ATTR_MAX - 1) +enum ovs_tunnel_key_attr { + OVS_TUNNEL_KEY_ATTR_ID, /* be64 Tunnel ID */ + OVS_TUNNEL_KEY_ATTR_IPV4_SRC, /* be32 src IP address. */ + OVS_TUNNEL_KEY_ATTR_IPV4_DST, /* be32 dst IP address. */ + OVS_TUNNEL_KEY_ATTR_TOS, /* u8 Tunnel IP ToS. */ + OVS_TUNNEL_KEY_ATTR_TTL, /* u8 Tunnel IP TTL. */ + OVS_TUNNEL_KEY_ATTR_DONT_FRAGMENT, /* No argument, set DF. */ + OVS_TUNNEL_KEY_ATTR_CSUM, /* No argument. CSUM packet. */ + __OVS_TUNNEL_KEY_ATTR_MAX +}; + +#define OVS_TUNNEL_KEY_ATTR_MAX (__OVS_TUNNEL_KEY_ATTR_MAX - 1) + /** * enum ovs_frag_type - IPv4 and IPv6 fragment type * @OVS_FRAG_TYPE_NONE: Packet is not a fragment. @@ -365,21 +382,6 @@ struct ovs_key_nd { __u8 nd_tll[6]; }; -/* Values for ovs_key_ipv4_tunnel->tun_flags */ -#define OVS_TNL_F_DONT_FRAGMENT (1 << 0) -#define OVS_TNL_F_CSUM (1 << 1) -#define OVS_TNL_F_KEY (1 << 2) - -struct ovs_key_ipv4_tunnel { - __be64 tun_id; - __u32 tun_flags; - __be32 ipv4_src; - __be32 ipv4_dst; - __u8 ipv4_tos; - __u8 ipv4_ttl; - __u8 pad[2]; -}; - /** * enum ovs_flow_attr - attributes for %OVS_FLOW_* commands. * @OVS_FLOW_ATTR_KEY: Nested %OVS_KEY_ATTR_* attributes specifying the flow