X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=include%2Fopenvswitch%2Fdatapath-protocol.h;h=84646c2297f76237c93eb9cb55c7e18c32387a58;hb=834377ea559d665520910968358c522f30d3eb93;hp=6d3e9007472b68c3dc42f564c6dae7ab32ce1296;hpb=ed44ee7b686bf8c6d6f78b82c2e4187f02b00aa4;p=openvswitch diff --git a/include/openvswitch/datapath-protocol.h b/include/openvswitch/datapath-protocol.h index 6d3e9007..84646c22 100644 --- a/include/openvswitch/datapath-protocol.h +++ b/include/openvswitch/datapath-protocol.h @@ -150,17 +150,14 @@ struct odp_msg { * @sample_pool: Number of packets that were candidates for sFlow sampling, * regardless of whether they were actually chosen and sent down to userspace. * @n_actions: Number of "union odp_action"s immediately following this header. - * @reserved: Pads the structure up to a 64-bit boundary. Should be set to - * zero. * * This header follows &struct odp_msg when that structure's @type is * %_ODPL_SFLOW_NR, and it is itself followed by an array of &union odp_action * (the number of which is specified in @n_actions) and then by packet data. */ struct odp_sflow_sample_header { - __u64 sample_pool; + __u32 sample_pool; __u32 n_actions; - __u32 reserved; }; #define ODP_PORT_INTERNAL (1 << 0) /* This port is simulated. */ @@ -204,7 +201,9 @@ struct odp_flow_key { __u8 dl_dst[ETH_ALEN]; /* Ethernet destination address. */ __u8 nw_proto; /* IP protocol or lower 8 bits of ARP opcode. */ - __u8 reserved; /* Pad to 64 bits. */ + __u8 dl_vlan_pcp; /* Input VLAN priority. */ + __u8 nw_tos; /* IP ToS (DSCP field, 6 bits). */ + __u8 reserved[3]; /* Align to 32-bits...must be zeroed. */ }; /* Flags for ODP_FLOW. */ @@ -250,9 +249,10 @@ struct odp_flowvec { #define ODPAT_SET_DL_DST 7 /* Ethernet destination address. */ #define ODPAT_SET_NW_SRC 8 /* IP source address. */ #define ODPAT_SET_NW_DST 9 /* IP destination address. */ -#define ODPAT_SET_TP_SRC 10 /* TCP/UDP source port. */ -#define ODPAT_SET_TP_DST 11 /* TCP/UDP destination port. */ -#define ODPAT_N_ACTIONS 12 +#define ODPAT_SET_NW_TOS 10 /* IP ToS/DSCP field (6 bits). */ +#define ODPAT_SET_TP_SRC 11 /* TCP/UDP source port. */ +#define ODPAT_SET_TP_DST 12 /* TCP/UDP destination port. */ +#define ODPAT_N_ACTIONS 13 struct odp_action_output { __u16 type; /* ODPAT_OUTPUT. */ @@ -304,6 +304,14 @@ struct odp_action_nw_addr { __be32 nw_addr; /* IP address. */ }; +struct odp_action_nw_tos { + __u16 type; /* ODPAT_SET_NW_TOS. */ + __u8 nw_tos; /* IP ToS/DSCP field (6 bits). */ + __u8 reserved1; + __u16 reserved2; + __u16 reserved3; +}; + /* Action structure for ODPAT_SET_TP_SRC/DST. */ struct odp_action_tp_port { __u16 type; /* ODPAT_SET_TP_SRC/DST. */ @@ -321,6 +329,7 @@ union odp_action { struct odp_action_vlan_pcp vlan_pcp; struct odp_action_dl_addr dl_addr; struct odp_action_nw_addr nw_addr; + struct odp_action_nw_tos nw_tos; struct odp_action_tp_port tp_port; };