diff options
| author | David S. Miller <davem@davemloft.net> | 2010-05-03 19:20:44 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2010-05-03 19:24:31 -0400 |
| commit | f5460618405eec8c3300947a499011528a115acd (patch) | |
| tree | 19aba5acb6d91d5a20400292aaf1881a6b26c118 /include/net/sctp | |
| parent | 4f70ecca9c57731b4acbe5043eb22e4416bd2368 (diff) | |
| parent | 0e3aef8d09a8c11e3fb83cdcb24b5bc7421b3726 (diff) | |
Merge branch 'net-next' of git://git.kernel.org/pub/scm/linux/kernel/git/vxy/lksctp-dev
Add missing linux/vmalloc.h include to net/sctp/probe.c
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/sctp')
| -rw-r--r-- | include/net/sctp/sctp.h | 2 | ||||
| -rw-r--r-- | include/net/sctp/sm.h | 2 | ||||
| -rw-r--r-- | include/net/sctp/structs.h | 66 |
3 files changed, 36 insertions, 34 deletions
diff --git a/include/net/sctp/sctp.h b/include/net/sctp/sctp.h index e9a40871863..65946bc43d0 100644 --- a/include/net/sctp/sctp.h +++ b/include/net/sctp/sctp.h | |||
| @@ -547,7 +547,7 @@ for (pos = chunk->subh.fwdtsn_hdr->skip;\ | |||
| 547 | #define WORD_ROUND(s) (((s)+3)&~3) | 547 | #define WORD_ROUND(s) (((s)+3)&~3) |
| 548 | 548 | ||
| 549 | /* Make a new instance of type. */ | 549 | /* Make a new instance of type. */ |
| 550 | #define t_new(type, flags) (type *)kmalloc(sizeof(type), flags) | 550 | #define t_new(type, flags) (type *)kzalloc(sizeof(type), flags) |
| 551 | 551 | ||
| 552 | /* Compare two timevals. */ | 552 | /* Compare two timevals. */ |
| 553 | #define tv_lt(s, t) \ | 553 | #define tv_lt(s, t) \ |
diff --git a/include/net/sctp/sm.h b/include/net/sctp/sm.h index 851c813adb3..273a8bb683e 100644 --- a/include/net/sctp/sm.h +++ b/include/net/sctp/sm.h | |||
| @@ -437,7 +437,7 @@ sctp_vtag_verify_either(const struct sctp_chunk *chunk, | |||
| 437 | */ | 437 | */ |
| 438 | if ((!sctp_test_T_bit(chunk) && | 438 | if ((!sctp_test_T_bit(chunk) && |
| 439 | (ntohl(chunk->sctp_hdr->vtag) == asoc->c.my_vtag)) || | 439 | (ntohl(chunk->sctp_hdr->vtag) == asoc->c.my_vtag)) || |
| 440 | (sctp_test_T_bit(chunk) && | 440 | (sctp_test_T_bit(chunk) && asoc->c.peer_vtag && |
| 441 | (ntohl(chunk->sctp_hdr->vtag) == asoc->c.peer_vtag))) { | 441 | (ntohl(chunk->sctp_hdr->vtag) == asoc->c.peer_vtag))) { |
| 442 | return 1; | 442 | return 1; |
| 443 | } | 443 | } |
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h index 597f8e27aaf..43257b903c8 100644 --- a/include/net/sctp/structs.h +++ b/include/net/sctp/structs.h | |||
| @@ -643,17 +643,15 @@ struct sctp_pf { | |||
| 643 | struct sctp_datamsg { | 643 | struct sctp_datamsg { |
| 644 | /* Chunks waiting to be submitted to lower layer. */ | 644 | /* Chunks waiting to be submitted to lower layer. */ |
| 645 | struct list_head chunks; | 645 | struct list_head chunks; |
| 646 | /* Chunks that have been transmitted. */ | ||
| 647 | size_t msg_size; | ||
| 648 | /* Reference counting. */ | 646 | /* Reference counting. */ |
| 649 | atomic_t refcnt; | 647 | atomic_t refcnt; |
| 650 | /* When is this message no longer interesting to the peer? */ | 648 | /* When is this message no longer interesting to the peer? */ |
| 651 | unsigned long expires_at; | 649 | unsigned long expires_at; |
| 652 | /* Did the messenge fail to send? */ | 650 | /* Did the messenge fail to send? */ |
| 653 | int send_error; | 651 | int send_error; |
| 654 | char send_failed; | 652 | u8 send_failed:1, |
| 655 | /* Control whether chunks from this message can be abandoned. */ | 653 | can_abandon:1, /* can chunks from this message can be abandoned. */ |
| 656 | char can_abandon; | 654 | can_delay; /* should this message be Nagle delayed */ |
| 657 | }; | 655 | }; |
| 658 | 656 | ||
| 659 | struct sctp_datamsg *sctp_datamsg_from_user(struct sctp_association *, | 657 | struct sctp_datamsg *sctp_datamsg_from_user(struct sctp_association *, |
| @@ -757,7 +755,6 @@ struct sctp_chunk { | |||
| 757 | #define SCTP_NEED_FRTX 0x1 | 755 | #define SCTP_NEED_FRTX 0x1 |
| 758 | #define SCTP_DONT_FRTX 0x2 | 756 | #define SCTP_DONT_FRTX 0x2 |
| 759 | __u16 rtt_in_progress:1, /* This chunk used for RTT calc? */ | 757 | __u16 rtt_in_progress:1, /* This chunk used for RTT calc? */ |
| 760 | resent:1, /* Has this chunk ever been resent. */ | ||
| 761 | has_tsn:1, /* Does this chunk have a TSN yet? */ | 758 | has_tsn:1, /* Does this chunk have a TSN yet? */ |
| 762 | has_ssn:1, /* Does this chunk have a SSN yet? */ | 759 | has_ssn:1, /* Does this chunk have a SSN yet? */ |
| 763 | singleton:1, /* Only chunk in the packet? */ | 760 | singleton:1, /* Only chunk in the packet? */ |
| @@ -879,7 +876,30 @@ struct sctp_transport { | |||
| 879 | 876 | ||
| 880 | /* Reference counting. */ | 877 | /* Reference counting. */ |
| 881 | atomic_t refcnt; | 878 | atomic_t refcnt; |
| 882 | int dead; | 879 | int dead:1, |
| 880 | /* RTO-Pending : A flag used to track if one of the DATA | ||
| 881 | * chunks sent to this address is currently being | ||
| 882 | * used to compute a RTT. If this flag is 0, | ||
| 883 | * the next DATA chunk sent to this destination | ||
| 884 | * should be used to compute a RTT and this flag | ||
| 885 | * should be set. Every time the RTT | ||
| 886 | * calculation completes (i.e. the DATA chunk | ||
| 887 | * is SACK'd) clear this flag. | ||
| 888 | */ | ||
| 889 | rto_pending:1, | ||
| 890 | |||
| 891 | /* | ||
| 892 | * hb_sent : a flag that signals that we have a pending | ||
| 893 | * heartbeat. | ||
| 894 | */ | ||
| 895 | hb_sent:1, | ||
| 896 | |||
| 897 | /* Is the Path MTU update pending on this tranport */ | ||
| 898 | pmtu_pending:1, | ||
| 899 | |||
| 900 | /* Is this structure kfree()able? */ | ||
| 901 | malloced:1; | ||
| 902 | |||
| 883 | 903 | ||
| 884 | /* This is the peer's IP address and port. */ | 904 | /* This is the peer's IP address and port. */ |
| 885 | union sctp_addr ipaddr; | 905 | union sctp_addr ipaddr; |
| @@ -909,22 +929,6 @@ struct sctp_transport { | |||
| 909 | /* SRTT : The current smoothed round trip time. */ | 929 | /* SRTT : The current smoothed round trip time. */ |
| 910 | __u32 srtt; | 930 | __u32 srtt; |
| 911 | 931 | ||
| 912 | /* RTO-Pending : A flag used to track if one of the DATA | ||
| 913 | * chunks sent to this address is currently being | ||
| 914 | * used to compute a RTT. If this flag is 0, | ||
| 915 | * the next DATA chunk sent to this destination | ||
| 916 | * should be used to compute a RTT and this flag | ||
| 917 | * should be set. Every time the RTT | ||
| 918 | * calculation completes (i.e. the DATA chunk | ||
| 919 | * is SACK'd) clear this flag. | ||
| 920 | * hb_sent : a flag that signals that we have a pending heartbeat. | ||
| 921 | */ | ||
| 922 | __u8 rto_pending; | ||
| 923 | __u8 hb_sent; | ||
| 924 | |||
| 925 | /* Flag to track the current fast recovery state */ | ||
| 926 | __u8 fast_recovery; | ||
| 927 | |||
| 928 | /* | 932 | /* |
| 929 | * These are the congestion stats. | 933 | * These are the congestion stats. |
| 930 | */ | 934 | */ |
| @@ -944,9 +948,6 @@ struct sctp_transport { | |||
| 944 | 948 | ||
| 945 | __u32 burst_limited; /* Holds old cwnd when max.burst is applied */ | 949 | __u32 burst_limited; /* Holds old cwnd when max.burst is applied */ |
| 946 | 950 | ||
| 947 | /* TSN marking the fast recovery exit point */ | ||
| 948 | __u32 fast_recovery_exit; | ||
| 949 | |||
| 950 | /* Destination */ | 951 | /* Destination */ |
| 951 | struct dst_entry *dst; | 952 | struct dst_entry *dst; |
| 952 | /* Source address. */ | 953 | /* Source address. */ |
| @@ -977,9 +978,6 @@ struct sctp_transport { | |||
| 977 | */ | 978 | */ |
| 978 | __u16 pathmaxrxt; | 979 | __u16 pathmaxrxt; |
| 979 | 980 | ||
| 980 | /* is the Path MTU update pending on this tranport */ | ||
| 981 | __u8 pmtu_pending; | ||
| 982 | |||
| 983 | /* PMTU : The current known path MTU. */ | 981 | /* PMTU : The current known path MTU. */ |
| 984 | __u32 pathmtu; | 982 | __u32 pathmtu; |
| 985 | 983 | ||
| @@ -1023,8 +1021,6 @@ struct sctp_transport { | |||
| 1023 | /* This is the list of transports that have chunks to send. */ | 1021 | /* This is the list of transports that have chunks to send. */ |
| 1024 | struct list_head send_ready; | 1022 | struct list_head send_ready; |
| 1025 | 1023 | ||
| 1026 | int malloced; /* Is this structure kfree()able? */ | ||
| 1027 | |||
| 1028 | /* State information saved for SFR_CACC algorithm. The key | 1024 | /* State information saved for SFR_CACC algorithm. The key |
| 1029 | * idea in SFR_CACC is to maintain state at the sender on a | 1025 | * idea in SFR_CACC is to maintain state at the sender on a |
| 1030 | * per-destination basis when a changeover happens. | 1026 | * per-destination basis when a changeover happens. |
| @@ -1066,7 +1062,7 @@ void sctp_transport_route(struct sctp_transport *, union sctp_addr *, | |||
| 1066 | struct sctp_sock *); | 1062 | struct sctp_sock *); |
| 1067 | void sctp_transport_pmtu(struct sctp_transport *); | 1063 | void sctp_transport_pmtu(struct sctp_transport *); |
| 1068 | void sctp_transport_free(struct sctp_transport *); | 1064 | void sctp_transport_free(struct sctp_transport *); |
| 1069 | void sctp_transport_reset_timers(struct sctp_transport *, int); | 1065 | void sctp_transport_reset_timers(struct sctp_transport *); |
| 1070 | void sctp_transport_hold(struct sctp_transport *); | 1066 | void sctp_transport_hold(struct sctp_transport *); |
| 1071 | void sctp_transport_put(struct sctp_transport *); | 1067 | void sctp_transport_put(struct sctp_transport *); |
| 1072 | void sctp_transport_update_rto(struct sctp_transport *, __u32); | 1068 | void sctp_transport_update_rto(struct sctp_transport *, __u32); |
| @@ -1720,6 +1716,12 @@ struct sctp_association { | |||
| 1720 | /* Highest TSN that is acknowledged by incoming SACKs. */ | 1716 | /* Highest TSN that is acknowledged by incoming SACKs. */ |
| 1721 | __u32 highest_sacked; | 1717 | __u32 highest_sacked; |
| 1722 | 1718 | ||
| 1719 | /* TSN marking the fast recovery exit point */ | ||
| 1720 | __u32 fast_recovery_exit; | ||
| 1721 | |||
| 1722 | /* Flag to track the current fast recovery state */ | ||
| 1723 | __u8 fast_recovery; | ||
| 1724 | |||
| 1723 | /* The number of unacknowledged data chunks. Reported through | 1725 | /* The number of unacknowledged data chunks. Reported through |
| 1724 | * the SCTP_STATUS sockopt. | 1726 | * the SCTP_STATUS sockopt. |
| 1725 | */ | 1727 | */ |
