diff options
Diffstat (limited to 'include/net/protocol.h')
| -rw-r--r-- | include/net/protocol.h | 9 | 
1 files changed, 7 insertions, 2 deletions
diff --git a/include/net/protocol.h b/include/net/protocol.h index 4fc75f7ae23b..92b3eaad6088 100644 --- a/include/net/protocol.h +++ b/include/net/protocol.h @@ -42,7 +42,10 @@ struct net_protocol {  	int			(*early_demux)(struct sk_buff *skb);  	int			(*early_demux_handler)(struct sk_buff *skb);  	int			(*handler)(struct sk_buff *skb); -	void			(*err_handler)(struct sk_buff *skb, u32 info); + +	/* This returns an error if we weren't able to handle the error. */ +	int			(*err_handler)(struct sk_buff *skb, u32 info); +  	unsigned int		no_policy:1,  				netns_ok:1,  				/* does the protocol do more stringent @@ -58,10 +61,12 @@ struct inet6_protocol {  	void    (*early_demux_handler)(struct sk_buff *skb);  	int	(*handler)(struct sk_buff *skb); -	void	(*err_handler)(struct sk_buff *skb, +	/* This returns an error if we weren't able to handle the error. */ +	int	(*err_handler)(struct sk_buff *skb,  			       struct inet6_skb_parm *opt,  			       u8 type, u8 code, int offset,  			       __be32 info); +  	unsigned int	flags;	/* INET6_PROTO_xxx */  };  | 
