diff options
Diffstat (limited to 'include/net/protocol.h')
| -rw-r--r-- | include/net/protocol.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/include/net/protocol.h b/include/net/protocol.h index 3b6dc15c68a5..c643bce64e55 100644 --- a/include/net/protocol.h +++ b/include/net/protocol.h | |||
| @@ -36,7 +36,9 @@ | |||
| 36 | struct net_protocol { | 36 | struct net_protocol { |
| 37 | int (*handler)(struct sk_buff *skb); | 37 | int (*handler)(struct sk_buff *skb); |
| 38 | void (*err_handler)(struct sk_buff *skb, u32 info); | 38 | void (*err_handler)(struct sk_buff *skb, u32 info); |
| 39 | struct sk_buff *(*gso_segment)(struct sk_buff *skb, int sg); | 39 | int (*gso_send_check)(struct sk_buff *skb); |
| 40 | struct sk_buff *(*gso_segment)(struct sk_buff *skb, | ||
| 41 | int features); | ||
| 40 | int no_policy; | 42 | int no_policy; |
| 41 | }; | 43 | }; |
| 42 | 44 | ||
| @@ -49,11 +51,18 @@ struct inet6_protocol | |||
| 49 | struct inet6_skb_parm *opt, | 51 | struct inet6_skb_parm *opt, |
| 50 | int type, int code, int offset, | 52 | int type, int code, int offset, |
| 51 | __u32 info); | 53 | __u32 info); |
| 54 | |||
| 55 | int (*gso_send_check)(struct sk_buff *skb); | ||
| 56 | struct sk_buff *(*gso_segment)(struct sk_buff *skb, | ||
| 57 | int features); | ||
| 58 | |||
| 52 | unsigned int flags; /* INET6_PROTO_xxx */ | 59 | unsigned int flags; /* INET6_PROTO_xxx */ |
| 53 | }; | 60 | }; |
| 54 | 61 | ||
| 55 | #define INET6_PROTO_NOPOLICY 0x1 | 62 | #define INET6_PROTO_NOPOLICY 0x1 |
| 56 | #define INET6_PROTO_FINAL 0x2 | 63 | #define INET6_PROTO_FINAL 0x2 |
| 64 | /* This should be set for any extension header which is compatible with GSO. */ | ||
| 65 | #define INET6_PROTO_GSO_EXTHDR 0x4 | ||
| 57 | #endif | 66 | #endif |
| 58 | 67 | ||
| 59 | /* This is used to register socket interfaces for IP protocols. */ | 68 | /* This is used to register socket interfaces for IP protocols. */ |
