]> Pileus Git - ~andy/linux/blobdiff - include/net/protocol.h
net: Remove code duplication between offload structures
[~andy/linux] / include / net / protocol.h
index 2c90794c139df66cdd6e309d773c35e085c0ff68..047c0476c0a095c2b271713ca232f7099564558b 100644 (file)
@@ -29,6 +29,7 @@
 #if IS_ENABLED(CONFIG_IPV6)
 #include <linux/ipv6.h>
 #endif
+#include <linux/netdevice.h>
 
 /* This is one larger than the largest protocol value that can be
  * found in an ipv4 or ipv6 header.  Since in both cases the protocol
@@ -63,13 +64,8 @@ struct inet6_protocol {
 #endif
 
 struct net_offload {
-       int                     (*gso_send_check)(struct sk_buff *skb);
-       struct sk_buff         *(*gso_segment)(struct sk_buff *skb,
-                                              netdev_features_t features);
-       struct sk_buff        **(*gro_receive)(struct sk_buff **head,
-                                              struct sk_buff *skb);
-       int                     (*gro_complete)(struct sk_buff *skb);
-       unsigned int            flags;  /* Flags used by IPv6 for now */
+       struct offload_callbacks callbacks;
+       unsigned int             flags; /* Flags used by IPv6 for now */
 };
 /* This should be set for any extension header which is compatible with GSO. */
 #define INET6_PROTO_GSO_EXTHDR 0x1