gre_protocol
MLX5_SET(fte_match_set_misc, misc_params_c, gre_protocol,
MLX5_SET(fte_match_set_misc, misc_params_v, gre_protocol,
PRINT_MASKED_VAL_MISC(u8, gre_protocol, gre_protocol, p, "%u");
MLX5_SET_TO_ONES(fte_match_set_misc, misc_c, gre_protocol);
MLX5_SET(fte_match_set_misc, misc_v, gre_protocol, ETH_P_TEB);
if (HWS_IS_FLD_SET(match_param, misc_parameters.gre_protocol)) {
misc_parameters.gre_protocol,
curr_fc->bit_mask = __mlx5_mask(header_gre, gre_protocol);
curr_fc->bit_off = __mlx5_dw_bit_off(header_gre, gre_protocol);
u8 gre_protocol[0x10];
misc->gre_protocol || misc->gre_c_present ||
spec->gre_protocol = IFC_GET_CLR(fte_match_set_misc, mask, gre_protocol, clr);
DR_STE_SET_TAG(gre, tag, gre_protocol, misc, gre_protocol);
DR_STE_SET_TAG(gre_v1, tag, gre_protocol, misc, gre_protocol);
u32 gre_protocol:16; /* GRE Protocol (outer) */
u8 gre_protocol[0x10];
u8 gre_protocol[0x10];
static const struct gre_protocol gre_pptp_protocol = {
u8 gre_protocol[0x10];
int gre_add_protocol(const struct gre_protocol *proto, u8 version);
int gre_del_protocol(const struct gre_protocol *proto, u8 version);
const struct gre_protocol *proto;
const struct gre_protocol *proto;
static const struct gre_protocol __rcu *gre_proto[GREPROTO_MAX] __read_mostly;
int gre_add_protocol(const struct gre_protocol *proto, u8 version)
return (cmpxchg((const struct gre_protocol **)&gre_proto[version], NULL, proto) == NULL) ?
int gre_del_protocol(const struct gre_protocol *proto, u8 version)
ret = (cmpxchg((const struct gre_protocol **)&gre_proto[version], proto, NULL) == proto) ?
static const struct gre_protocol ipgre_protocol = {