diff options
author | Vlad Yasevich <vyasevic@redhat.com> | 2012-11-15 03:49:22 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-11-15 17:39:24 -0500 |
commit | c6b641a4c6b32f39db678c2441cb1ef824110d74 (patch) | |
tree | 251c4f988a2aca2b9b031afe192f3ae4705d3692 /include/net/protocol.h | |
parent | 808a8f884554f93315f663b2694addb4a177c578 (diff) |
ipv6: Pull IPv6 GSO registration out of the module
Sing GSO support is now separate, pull it out of the module
and make it its own init call.
Remove the cleanup functions as they are no longer called.
Signed-off-by: Vlad Yasevich <vyasevic@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
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 */ |