sctp: Add GSO support
[cascardo/linux.git] / include / net / sctp / structs.h
index 5a404c3..83c5ec5 100644 (file)
@@ -210,14 +210,15 @@ struct sctp_sock {
        int user_frag;
 
        __u32 autoclose;
-       __u8 nodelay;
-       __u8 disable_fragments;
-       __u8 v4mapped;
-       __u8 frag_interleave;
        __u32 adaptation_ind;
        __u32 pd_point;
-       __u8 recvrcvinfo;
-       __u8 recvnxtinfo;
+       __u16   nodelay:1,
+               disable_fragments:1,
+               v4mapped:1,
+               frag_interleave:1,
+               recvrcvinfo:1,
+               recvnxtinfo:1,
+               data_ready_signalled:1;
 
        atomic_t pd_mode;
        /* Receive to here while partial delivery is in effect. */
@@ -565,6 +566,9 @@ struct sctp_chunk {
        /* This points to the sk_buff containing the actual data.  */
        struct sk_buff *skb;
 
+       /* In case of GSO packets, this will store the head one */
+       struct sk_buff *head_skb;
+
        /* These are the SCTP headers by reverse order in a packet.
         * Note that some of these may happen more than once.  In that
         * case, we point at the "current" one, whatever that means
@@ -695,6 +699,8 @@ struct sctp_packet {
        size_t overhead;
        /* This is the total size of all chunks INCLUDING padding.  */
        size_t size;
+       /* This is the maximum size this packet may have */
+       size_t max_size;
 
        /* The packet is destined for this transport address.
         * The function we finally use to pass down to the next lower