]> Pileus Git - ~andy/linux/blobdiff - include/net/sctp/structs.h
Merge tag 'tty-3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
[~andy/linux] / include / net / sctp / structs.h
index fecdf31816f2fc6a834a060cfdd39158dcb30bc2..fc5e60016e37422e9408d9ca0c0b00136aaf2bb6 100644 (file)
@@ -161,6 +161,12 @@ extern struct sctp_globals {
        int max_retrans_path;
        int max_retrans_init;
 
+       /* Potentially-Failed.Max.Retrans sysctl value
+        * taken from:
+        * http://tools.ietf.org/html/draft-nishida-tsvwg-sctp-failover-05
+        */
+       int pf_retrans;
+
        /*
         * Policy for preforming sctp/socket accounting
         * 0   - do socket level accounting, all assocs share sk_sndbuf
@@ -258,6 +264,7 @@ extern struct sctp_globals {
 #define sctp_sndbuf_policy             (sctp_globals.sndbuf_policy)
 #define sctp_rcvbuf_policy             (sctp_globals.rcvbuf_policy)
 #define sctp_max_retrans_path          (sctp_globals.max_retrans_path)
+#define sctp_pf_retrans                        (sctp_globals.pf_retrans)
 #define sctp_max_retrans_init          (sctp_globals.max_retrans_init)
 #define sctp_sack_timeout              (sctp_globals.sack_timeout)
 #define sctp_hb_interval               (sctp_globals.hb_interval)
@@ -990,10 +997,15 @@ struct sctp_transport {
 
        /* This is the max_retrans value for the transport and will
         * be initialized from the assocs value.  This can be changed
-        * using SCTP_SET_PEER_ADDR_PARAMS socket option.
+        * using the SCTP_SET_PEER_ADDR_PARAMS socket option.
         */
        __u16 pathmaxrxt;
 
+       /* This is the partially failed retrans value for the transport
+        * and will be initialized from the assocs value.  This can be changed
+        * using the SCTP_PEER_ADDR_THLDS socket option
+        */
+       int pf_retrans;
        /* PMTU       : The current known path MTU.  */
        __u32 pathmtu;
 
@@ -1091,7 +1103,7 @@ void sctp_transport_burst_limited(struct sctp_transport *);
 void sctp_transport_burst_reset(struct sctp_transport *);
 unsigned long sctp_transport_timeout(struct sctp_transport *);
 void sctp_transport_reset(struct sctp_transport *);
-void sctp_transport_update_pmtu(struct sctp_transport *, u32);
+void sctp_transport_update_pmtu(struct sock *, struct sctp_transport *, u32);
 void sctp_transport_immediate_rtx(struct sctp_transport *);
 
 
@@ -1664,6 +1676,12 @@ struct sctp_association {
         */
        int max_retrans;
 
+       /* This is the partially failed retrans value for the transport
+        * and will be initialized from the assocs value.  This can be
+        * changed using the SCTP_PEER_ADDR_THLDS socket option
+        */
+       int pf_retrans;
+
        /* Maximum number of times the endpoint will retransmit INIT  */
        __u16 max_init_attempts;
 
@@ -2003,7 +2021,7 @@ void sctp_assoc_update(struct sctp_association *old,
 
 __u32 sctp_association_get_next_tsn(struct sctp_association *);
 
-void sctp_assoc_sync_pmtu(struct sctp_association *);
+void sctp_assoc_sync_pmtu(struct sock *, struct sctp_association *);
 void sctp_assoc_rwnd_increase(struct sctp_association *, unsigned int);
 void sctp_assoc_rwnd_decrease(struct sctp_association *, unsigned int);
 void sctp_assoc_set_primary(struct sctp_association *,