diff options
author | Vlad Yasevich <vyasevic@redhat.com> | 2012-11-15 09:49:22 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-11-15 23:39:24 +0100 |
commit | c6b641a4c6b32f39db678c2441cb1ef824110d74 (patch) | |
tree | 251c4f988a2aca2b9b031afe192f3ae4705d3692 /net/ipv6/ip6_offload.c | |
parent | ipv4: Pull GSO registration out of inet_init() (diff) | |
download | linux-c6b641a4c6b32f39db678c2441cb1ef824110d74.tar.xz linux-c6b641a4c6b32f39db678c2441cb1ef824110d74.zip |
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 'net/ipv6/ip6_offload.c')
-rw-r--r-- | net/ipv6/ip6_offload.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/net/ipv6/ip6_offload.c b/net/ipv6/ip6_offload.c index 01cf9835a581..63d79d9005bd 100644 --- a/net/ipv6/ip6_offload.c +++ b/net/ipv6/ip6_offload.c @@ -12,6 +12,7 @@ #include <linux/socket.h> #include <linux/netdevice.h> #include <linux/skbuff.h> +#include <linux/printk.h> #include <net/protocol.h> #include <net/ipv6.h> @@ -262,12 +263,18 @@ static struct packet_offload ipv6_packet_offload __read_mostly = { .gro_complete = ipv6_gro_complete, }; -void __init ipv6_offload_init(void) +static int __init ipv6_offload_init(void) { + + if (tcpv6_offload_init() < 0) + pr_crit("%s: Cannot add TCP protocol offload\n", __func__); + if (udp_offload_init() < 0) + pr_crit("%s: Cannot add UDP protocol offload\n", __func__); + if (ipv6_exthdrs_offload_init() < 0) + pr_crit("%s: Cannot add EXTHDRS protocol offload\n", __func__); + dev_add_offload(&ipv6_packet_offload); + return 0; } -void ipv6_offload_cleanup(void) -{ - dev_remove_offload(&ipv6_packet_offload); -} +fs_initcall(ipv6_offload_init); |