aboutsummaryrefslogtreecommitdiffstats
path: root/net/sctp/ipv6.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/sctp/ipv6.c')
-rw-r--r--net/sctp/ipv6.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/net/sctp/ipv6.c b/net/sctp/ipv6.c
index 7567e6f1a920..0f6259a6a932 100644
--- a/net/sctp/ipv6.c
+++ b/net/sctp/ipv6.c
@@ -21,9 +21,8 @@
21 * See the GNU General Public License for more details. 21 * See the GNU General Public License for more details.
22 * 22 *
23 * You should have received a copy of the GNU General Public License 23 * You should have received a copy of the GNU General Public License
24 * along with GNU CC; see the file COPYING. If not, write to 24 * along with GNU CC; see the file COPYING. If not, see
25 * the Free Software Foundation, 59 Temple Place - Suite 330, 25 * <http://www.gnu.org/licenses/>.
26 * Boston, MA 02111-1307, USA.
27 * 26 *
28 * Please send any bug reports or fixes you make to the 27 * Please send any bug reports or fixes you make to the
29 * email address(es): 28 * email address(es):
@@ -173,7 +172,8 @@ static void sctp_v6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
173 172
174 switch (type) { 173 switch (type) {
175 case ICMPV6_PKT_TOOBIG: 174 case ICMPV6_PKT_TOOBIG:
176 sctp_icmp_frag_needed(sk, asoc, transport, ntohl(info)); 175 if (ip6_sk_accept_pmtu(sk))
176 sctp_icmp_frag_needed(sk, asoc, transport, ntohl(info));
177 goto out_unlock; 177 goto out_unlock;
178 case ICMPV6_PARAMPROB: 178 case ICMPV6_PARAMPROB:
179 if (ICMPV6_UNK_NEXTHDR == code) { 179 if (ICMPV6_UNK_NEXTHDR == code) {
@@ -263,7 +263,7 @@ static void sctp_v6_get_dst(struct sctp_transport *t, union sctp_addr *saddr,
263 } 263 }
264 264
265 final_p = fl6_update_dst(fl6, np->opt, &final); 265 final_p = fl6_update_dst(fl6, np->opt, &final);
266 dst = ip6_dst_lookup_flow(sk, fl6, final_p, false); 266 dst = ip6_dst_lookup_flow(sk, fl6, final_p);
267 if (!asoc || saddr) 267 if (!asoc || saddr)
268 goto out; 268 goto out;
269 269
@@ -322,7 +322,7 @@ static void sctp_v6_get_dst(struct sctp_transport *t, union sctp_addr *saddr,
322 fl6->saddr = baddr->v6.sin6_addr; 322 fl6->saddr = baddr->v6.sin6_addr;
323 fl6->fl6_sport = baddr->v6.sin6_port; 323 fl6->fl6_sport = baddr->v6.sin6_port;
324 final_p = fl6_update_dst(fl6, np->opt, &final); 324 final_p = fl6_update_dst(fl6, np->opt, &final);
325 dst = ip6_dst_lookup_flow(sk, fl6, final_p, false); 325 dst = ip6_dst_lookup_flow(sk, fl6, final_p);
326 } 326 }
327 327
328out: 328out:
@@ -402,7 +402,7 @@ static void sctp_v6_copy_addrlist(struct list_head *addrlist,
402} 402}
403 403
404/* Initialize a sockaddr_storage from in incoming skb. */ 404/* Initialize a sockaddr_storage from in incoming skb. */
405static void sctp_v6_from_skb(union sctp_addr *addr,struct sk_buff *skb, 405static void sctp_v6_from_skb(union sctp_addr *addr, struct sk_buff *skb,
406 int is_saddr) 406 int is_saddr)
407{ 407{
408 __be16 *port; 408 __be16 *port;