diff options
Diffstat (limited to 'include/net/protocol.h')
-rw-r--r-- | include/net/protocol.h | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/include/net/protocol.h b/include/net/protocol.h index 7019c1637848..2c90794c139d 100644 --- a/include/net/protocol.h +++ b/include/net/protocol.h | |||
@@ -25,6 +25,7 @@ | |||
25 | #define _PROTOCOL_H | 25 | #define _PROTOCOL_H |
26 | 26 | ||
27 | #include <linux/in6.h> | 27 | #include <linux/in6.h> |
28 | #include <linux/skbuff.h> | ||
28 | #if IS_ENABLED(CONFIG_IPV6) | 29 | #if IS_ENABLED(CONFIG_IPV6) |
29 | #include <linux/ipv6.h> | 30 | #include <linux/ipv6.h> |
30 | #endif | 31 | #endif |
@@ -59,8 +60,6 @@ struct inet6_protocol { | |||
59 | 60 | ||
60 | #define INET6_PROTO_NOPOLICY 0x1 | 61 | #define INET6_PROTO_NOPOLICY 0x1 |
61 | #define INET6_PROTO_FINAL 0x2 | 62 | #define INET6_PROTO_FINAL 0x2 |
62 | /* This should be set for any extension header which is compatible with GSO. */ | ||
63 | #define INET6_PROTO_GSO_EXTHDR 0x4 | ||
64 | #endif | 63 | #endif |
65 | 64 | ||
66 | struct net_offload { | 65 | struct net_offload { |
@@ -72,6 +71,8 @@ struct net_offload { | |||
72 | int (*gro_complete)(struct sk_buff *skb); | 71 | int (*gro_complete)(struct sk_buff *skb); |
73 | unsigned int flags; /* Flags used by IPv6 for now */ | 72 | unsigned int flags; /* Flags used by IPv6 for now */ |
74 | }; | 73 | }; |
74 | /* This should be set for any extension header which is compatible with GSO. */ | ||
75 | #define INET6_PROTO_GSO_EXTHDR 0x1 | ||
75 | 76 | ||
76 | /* This is used to register socket interfaces for IP protocols. */ | 77 | /* This is used to register socket interfaces for IP protocols. */ |
77 | struct inet_protosw { | 78 | struct inet_protosw { |
@@ -93,10 +94,10 @@ struct inet_protosw { | |||
93 | 94 | ||
94 | extern const struct net_protocol __rcu *inet_protos[MAX_INET_PROTOS]; | 95 | extern const struct net_protocol __rcu *inet_protos[MAX_INET_PROTOS]; |
95 | extern const struct net_offload __rcu *inet_offloads[MAX_INET_PROTOS]; | 96 | extern const struct net_offload __rcu *inet_offloads[MAX_INET_PROTOS]; |
97 | extern const struct net_offload __rcu *inet6_offloads[MAX_INET_PROTOS]; | ||
96 | 98 | ||
97 | #if IS_ENABLED(CONFIG_IPV6) | 99 | #if IS_ENABLED(CONFIG_IPV6) |
98 | extern const struct inet6_protocol __rcu *inet6_protos[MAX_INET_PROTOS]; | 100 | extern const struct inet6_protocol __rcu *inet6_protos[MAX_INET_PROTOS]; |
99 | extern const struct net_offload __rcu *inet6_offloads[MAX_INET_PROTOS]; | ||
100 | #endif | 101 | #endif |
101 | 102 | ||
102 | extern int inet_add_protocol(const struct net_protocol *prot, unsigned char num); | 103 | extern int inet_add_protocol(const struct net_protocol *prot, unsigned char num); |
@@ -109,10 +110,10 @@ extern void inet_unregister_protosw(struct inet_protosw *p); | |||
109 | #if IS_ENABLED(CONFIG_IPV6) | 110 | #if IS_ENABLED(CONFIG_IPV6) |
110 | extern int inet6_add_protocol(const struct inet6_protocol *prot, unsigned char num); | 111 | extern int inet6_add_protocol(const struct inet6_protocol *prot, unsigned char num); |
111 | extern int inet6_del_protocol(const struct inet6_protocol *prot, unsigned char num); | 112 | extern int inet6_del_protocol(const struct inet6_protocol *prot, unsigned char num); |
112 | extern int inet6_add_offload(const struct net_offload *prot, unsigned char num); | ||
113 | extern int inet6_del_offload(const struct net_offload *prot, unsigned char num); | ||
114 | extern int inet6_register_protosw(struct inet_protosw *p); | 113 | extern int inet6_register_protosw(struct inet_protosw *p); |
115 | extern void inet6_unregister_protosw(struct inet_protosw *p); | 114 | extern void inet6_unregister_protosw(struct inet_protosw *p); |
116 | #endif | 115 | #endif |
116 | extern int inet6_add_offload(const struct net_offload *prot, unsigned char num); | ||
117 | extern int inet6_del_offload(const struct net_offload *prot, unsigned char num); | ||
117 | 118 | ||
118 | #endif /* _PROTOCOL_H */ | 119 | #endif /* _PROTOCOL_H */ |