net_offload
struct net_offload tcpv4_offload;
struct net_offload udpv4_offload;
struct net_offload tcpv6_offload;
struct net_offload udpv6_offload;
int inet_add_offload(const struct net_offload *prot, unsigned char num);
int inet_del_offload(const struct net_offload *prot, unsigned char num);
int inet6_add_offload(const struct net_offload *prot, unsigned char num);
int inet6_del_offload(const struct net_offload *prot, unsigned char num);
extern const struct net_offload __rcu *inet_offloads[MAX_INET_PROTOS];
extern const struct net_offload __rcu *inet6_offloads[MAX_INET_PROTOS];
const struct net_offload *ops;
const struct net_offload *ops;
const struct net_offload *ops;
static const struct net_offload ipip_offload = {
const struct net_offload *ops;
const struct net_offload *ops;
static const struct net_offload esp4_offload = {
static const struct net_offload *fou_gro_ops(const struct sock *sk,
const struct net_offload __rcu **offloads;
const struct net_offload *ops;
const struct net_offload *ops;
const struct net_offload *ops;
const struct net_offload *ops;
static const struct net_offload gre_offload = {
const struct net_offload __rcu *inet_offloads[MAX_INET_PROTOS] __read_mostly;
int inet_add_offload(const struct net_offload *prot, unsigned char protocol)
return !cmpxchg((const struct net_offload **)&inet_offloads[protocol],
int inet_del_offload(const struct net_offload *prot, unsigned char protocol)
ret = (cmpxchg((const struct net_offload **)&inet_offloads[protocol],
net_hotdata.tcpv4_offload = (struct net_offload) {
const struct net_offload __rcu **offloads;
const struct net_offload *ops;
net_hotdata.udpv4_offload = (struct net_offload) {
const struct net_offload *ops;
const struct net_offload *ops;
const struct net_offload *ops;
static const struct net_offload esp6_offload = {
static const struct net_offload rthdr_offload = {
static const struct net_offload dstopt_offload = {
static const struct net_offload hbh_offload = {
const struct net_offload **opps)
const struct net_offload *ops;
const struct net_offload *ops = NULL;
const struct net_offload *ops;
static const struct net_offload sit_offload = {
static const struct net_offload ip4ip6_offload = {
static const struct net_offload ip6ip6_offload = {
const struct net_offload *ops = NULL;
const struct net_offload *ops;
const struct net_offload __rcu *inet6_offloads[MAX_INET_PROTOS] __read_mostly;
int inet6_add_offload(const struct net_offload *prot, unsigned char protocol)
return !cmpxchg((const struct net_offload **)&inet6_offloads[protocol],
int inet6_del_offload(const struct net_offload *prot, unsigned char protocol)
ret = (cmpxchg((const struct net_offload **)&inet6_offloads[protocol],
net_hotdata.tcpv6_offload = (struct net_offload) {
net_hotdata.udpv6_offload = (struct net_offload) {
const struct net_offload *ops;
static const struct net_offload sctp_offload = {
static const struct net_offload sctp6_offload = {