diff options
author | Michal Marek <mmarek@suse.cz> | 2013-02-26 00:50:05 +0400 |
---|---|---|
committer | Michal Marek <mmarek@suse.cz> | 2013-02-26 00:51:57 +0400 |
commit | e3900e74f26fc924c8e9e2a922bd40369b0bb517 (patch) | |
tree | 6e868575d346032ba9408f350c6e5369e0e52b0d /net/ipv6/exthdrs_offload.c | |
parent | 62dc989921df2a98d1a73aacd085abe941cb9828 (diff) | |
parent | 02f3e53a131c8aa3fe3c954058f1add5beeae621 (diff) | |
download | linux-e3900e74f26fc924c8e9e2a922bd40369b0bb517.tar.xz |
Merge branch 'kbuild/rc-fixes' into kbuild/kconfig
There is one kconfig fix in the rc-fixes branch that I forgot to submit
for 3.8, so let's add it to the kconfig branch for 3.9-rc1.
Diffstat (limited to 'net/ipv6/exthdrs_offload.c')
-rw-r--r-- | net/ipv6/exthdrs_offload.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/net/ipv6/exthdrs_offload.c b/net/ipv6/exthdrs_offload.c new file mode 100644 index 000000000000..cf77f3abfd06 --- /dev/null +++ b/net/ipv6/exthdrs_offload.c @@ -0,0 +1,41 @@ +/* + * IPV6 GSO/GRO offload support + * Linux INET6 implementation + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version + * 2 of the License, or (at your option) any later version. + * + * IPV6 Extension Header GSO/GRO support + */ +#include <net/protocol.h> +#include "ip6_offload.h" + +static const struct net_offload rthdr_offload = { + .flags = INET6_PROTO_GSO_EXTHDR, +}; + +static const struct net_offload dstopt_offload = { + .flags = INET6_PROTO_GSO_EXTHDR, +}; + +int __init ipv6_exthdrs_offload_init(void) +{ + int ret; + + ret = inet6_add_offload(&rthdr_offload, IPPROTO_ROUTING); + if (!ret) + goto out; + + ret = inet6_add_offload(&dstopt_offload, IPPROTO_DSTOPTS); + if (!ret) + goto out_rt; + +out: + return ret; + +out_rt: + inet_del_offload(&rthdr_offload, IPPROTO_ROUTING); + goto out; +} |