summaryrefslogtreecommitdiffstats
path: root/include/net/protocol.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/protocol.h')
-rw-r--r--include/net/protocol.h9
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 {
42 int (*early_demux)(struct sk_buff *skb); 42 int (*early_demux)(struct sk_buff *skb);
43 int (*early_demux_handler)(struct sk_buff *skb); 43 int (*early_demux_handler)(struct sk_buff *skb);
44 int (*handler)(struct sk_buff *skb); 44 int (*handler)(struct sk_buff *skb);
45 void (*err_handler)(struct sk_buff *skb, u32 info); 45
46 /* This returns an error if we weren't able to handle the error. */
47 int (*err_handler)(struct sk_buff *skb, u32 info);
48
46 unsigned int no_policy:1, 49 unsigned int no_policy:1,
47 netns_ok:1, 50 netns_ok:1,
48 /* does the protocol do more stringent 51 /* does the protocol do more stringent
@@ -58,10 +61,12 @@ struct inet6_protocol {
58 void (*early_demux_handler)(struct sk_buff *skb); 61 void (*early_demux_handler)(struct sk_buff *skb);
59 int (*handler)(struct sk_buff *skb); 62 int (*handler)(struct sk_buff *skb);
60 63
61 void (*err_handler)(struct sk_buff *skb, 64 /* This returns an error if we weren't able to handle the error. */
65 int (*err_handler)(struct sk_buff *skb,
62 struct inet6_skb_parm *opt, 66 struct inet6_skb_parm *opt,
63 u8 type, u8 code, int offset, 67 u8 type, u8 code, int offset,
64 __be32 info); 68 __be32 info);
69
65 unsigned int flags; /* INET6_PROTO_xxx */ 70 unsigned int flags; /* INET6_PROTO_xxx */
66}; 71};
67 72