mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-03 17:40:04 +00:00
[IPV6]: Improve IPv6 tunnel error reporting
Log an error if the remote tunnel endpoint is unable to handle tunneled packets. Signed-off-by: Ville Nuorvala <vnuorval@tcs.hut.fi> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
6fb32ddeb2
commit
107a5fe619
1 changed files with 7 additions and 6 deletions
|
@ -424,12 +424,9 @@ ip6ip6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ICMPV6_PARAMPROB:
|
case ICMPV6_PARAMPROB:
|
||||||
/* ignore if parameter problem not caused by a tunnel
|
teli = 0;
|
||||||
encapsulation limit sub-option */
|
if (code == ICMPV6_HDR_FIELD)
|
||||||
if (code != ICMPV6_HDR_FIELD) {
|
teli = parse_tlv_tnl_enc_lim(skb, skb->data);
|
||||||
break;
|
|
||||||
}
|
|
||||||
teli = parse_tlv_tnl_enc_lim(skb, skb->data);
|
|
||||||
|
|
||||||
if (teli && teli == ntohl(info) - 2) {
|
if (teli && teli == ntohl(info) - 2) {
|
||||||
tel = (struct ipv6_tlv_tnl_enc_lim *) &skb->data[teli];
|
tel = (struct ipv6_tlv_tnl_enc_lim *) &skb->data[teli];
|
||||||
|
@ -441,6 +438,10 @@ ip6ip6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
||||||
"tunnel!\n", t->parms.name);
|
"tunnel!\n", t->parms.name);
|
||||||
rel_msg = 1;
|
rel_msg = 1;
|
||||||
}
|
}
|
||||||
|
} else if (net_ratelimit()) {
|
||||||
|
printk(KERN_WARNING
|
||||||
|
"%s: Recipient unable to parse tunneled "
|
||||||
|
"packet!\n ", t->parms.name);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ICMPV6_PKT_TOOBIG:
|
case ICMPV6_PKT_TOOBIG:
|
||||||
|
|
Loading…
Reference in a new issue