diff options
author | chandrasekar marimuthu - Sun Microsystems - Bangalore India <Chandrasekar.Marimuthu@Sun.COM> | 2010-08-03 22:50:37 -0700 |
---|---|---|
committer | chandrasekar marimuthu - Sun Microsystems - Bangalore India <Chandrasekar.Marimuthu@Sun.COM> | 2010-08-03 22:50:37 -0700 |
commit | 6be61d4ea129a94bdfe33533b2bc265d4447f05c (patch) | |
tree | d8c613a1dbca052164f956ff107c8d5ee3e44bf6 /usr/src/uts/common/inet/sctp/sctp.c | |
parent | 32c3e7eeacbc9a513544d1b4f631fd628cec7da3 (diff) | |
download | illumos-gate-6be61d4ea129a94bdfe33533b2bc265d4447f05c.tar.gz |
6912476 SCTP Observability issues with sctp_faddr_s & sctp_reass_s
6912478 SCTP_COMM_LOST notification is generated even if sctp association is not established
Diffstat (limited to 'usr/src/uts/common/inet/sctp/sctp.c')
-rw-r--r-- | usr/src/uts/common/inet/sctp/sctp.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/usr/src/uts/common/inet/sctp/sctp.c b/usr/src/uts/common/inet/sctp/sctp.c index 1966fb3f1c..6bed139c2f 100644 --- a/usr/src/uts/common/inet/sctp/sctp.c +++ b/usr/src/uts/common/inet/sctp/sctp.c @@ -965,7 +965,7 @@ sctp_update_pmtu(sctp_t *sctp, sctp_faddr_t *fp, boolean_t decrease_only) { uint32_t pmtu; int32_t mss; - ip_xmit_attr_t *ixa = fp->ixa; + ip_xmit_attr_t *ixa = fp->sf_ixa; if (sctp->sctp_state < SCTPS_ESTABLISHED) return; @@ -990,20 +990,20 @@ sctp_update_pmtu(sctp_t *sctp, sctp_faddr_t *fp, boolean_t decrease_only) /* * Nothing to change, so just return. */ - if (mss == fp->sfa_pmss) + if (mss == fp->sf_pmss) return; /* * Currently, for ICMP errors, only PMTU decrease is handled. */ - if (mss > fp->sfa_pmss && decrease_only) + if (mss > fp->sf_pmss && decrease_only) return; #ifdef DEBUG (void) printf("sctp_update_pmtu mss from %d to %d\n", - fp->sfa_pmss, mss); + fp->sf_pmss, mss); #endif - DTRACE_PROBE2(sctp_update_pmtu, int32_t, fp->sfa_pmss, uint32_t, mss); + DTRACE_PROBE2(sctp_update_pmtu, int32_t, fp->sf_pmss, uint32_t, mss); /* * Update ixa_fragsize and ixa_pmtu. @@ -1014,8 +1014,8 @@ sctp_update_pmtu(sctp_t *sctp, sctp_faddr_t *fp, boolean_t decrease_only) * Make sure that sfa_pmss is a multiple of * SCTP_ALIGN. */ - fp->sfa_pmss = mss & ~(SCTP_ALIGN - 1); - fp->pmtu_discovered = 1; + fp->sf_pmss = mss & ~(SCTP_ALIGN - 1); + fp->sf_pmtu_discovered = 1; #ifdef notyet if (mss < sctp->sctp_sctps->sctps_mss_min) @@ -1031,7 +1031,7 @@ sctp_update_pmtu(sctp_t *sctp, sctp_faddr_t *fp, boolean_t decrease_only) */ if (ixa->ixa_flags & IXAF_IS_IPV4) { if (!(ixa->ixa_flags & IXAF_PMTU_IPV4_DF)) { - fp->df = B_FALSE; + fp->sf_df = B_FALSE; if (fp == sctp->sctp_current) { sctp->sctp_ipha-> ipha_fragment_offset_and_flags = 0; @@ -1056,8 +1056,8 @@ sctp_notify(void *arg, ip_xmit_attr_t *ixa, ixa_notify_type_t ntype, switch (ntype) { case IXAN_PMTU: /* Find the faddr based on the ip_xmit_attr_t pointer */ - for (fp = sctp->sctp_faddrs; fp != NULL; fp = fp->next) { - if (fp->ixa == ixa) + for (fp = sctp->sctp_faddrs; fp != NULL; fp = fp->sf_next) { + if (fp->sf_ixa == ixa) break; } if (fp != NULL) |