diff options
Diffstat (limited to 'include/net/strparser.h')
| -rw-r--r-- | include/net/strparser.h | 20 | 
1 files changed, 19 insertions, 1 deletions
diff --git a/include/net/strparser.h b/include/net/strparser.h index 1d20b98493a1..732b7097d78e 100644 --- a/include/net/strparser.h +++ b/include/net/strparser.h @@ -54,10 +54,28 @@ struct strp_msg {  	int offset;  }; +struct _strp_msg { +	/* Internal cb structure. struct strp_msg must be first for passing +	 * to upper layer. +	 */ +	struct strp_msg strp; +	int accum_len; +}; + +struct sk_skb_cb { +#define SK_SKB_CB_PRIV_LEN 20 +	unsigned char data[SK_SKB_CB_PRIV_LEN]; +	struct _strp_msg strp; +	/* temp_reg is a temporary register used for bpf_convert_data_end_access +	 * when dst_reg == src_reg. +	 */ +	u64 temp_reg; +}; +  static inline struct strp_msg *strp_msg(struct sk_buff *skb)  {  	return (struct strp_msg *)((void *)skb->cb + -		offsetof(struct qdisc_skb_cb, data)); +		offsetof(struct sk_skb_cb, strp));  }  /* Structure for an attached lower socket */  |