X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=include%2Fnet%2Fprotocol.h;h=105bf12b0c79588c6e45bf55239dc1bd6a1c27e2;hb=e3202262eccf9b5669abea848303e79bd84dc1bb;hp=bcaee39bd2ffef45091f57e3793addd8d98edae1;hpb=dbe1ab9514c231c9b062140a107d9dea0eabefcc;p=powerpc.git diff --git a/include/net/protocol.h b/include/net/protocol.h index bcaee39bd2..105bf12b0c 100644 --- a/include/net/protocol.h +++ b/include/net/protocol.h @@ -36,6 +36,9 @@ struct net_protocol { int (*handler)(struct sk_buff *skb); void (*err_handler)(struct sk_buff *skb, u32 info); + int (*gso_send_check)(struct sk_buff *skb); + struct sk_buff *(*gso_segment)(struct sk_buff *skb, + int features); int no_policy; }; @@ -47,12 +50,19 @@ struct inet6_protocol void (*err_handler)(struct sk_buff *skb, struct inet6_skb_parm *opt, int type, int code, int offset, - __u32 info); + __be32 info); + + int (*gso_send_check)(struct sk_buff *skb); + struct sk_buff *(*gso_segment)(struct sk_buff *skb, + int features); + unsigned int flags; /* INET6_PROTO_xxx */ }; #define INET6_PROTO_NOPOLICY 0x1 #define INET6_PROTO_FINAL 0x2 +/* This should be set for any extension header which is compatible with GSO. */ +#define INET6_PROTO_GSO_EXTHDR 0x4 #endif /* This is used to register socket interfaces for IP protocols. */ @@ -61,7 +71,7 @@ struct inet_protosw { /* These two fields form the lookup key. */ unsigned short type; /* This is the 2nd argument to socket(2). */ - int protocol; /* This is the L4 protocol number. */ + unsigned short protocol; /* This is the L4 protocol number. */ struct proto *prot; const struct proto_ops *ops;