|
@@ -328,26 +328,26 @@ static void do_pmtu_discovery(struct sock *sk, struct iphdr *iph, u32 mtu)
|
|
|
*
|
|
|
*/
|
|
|
|
|
|
-void tcp_v4_err(struct sk_buff *skb, u32 info)
|
|
|
+void tcp_v4_err(struct sk_buff *icmp_skb, u32 info)
|
|
|
{
|
|
|
- struct iphdr *iph = (struct iphdr *)skb->data;
|
|
|
- struct tcphdr *th = (struct tcphdr *)(skb->data + (iph->ihl << 2));
|
|
|
+ struct iphdr *iph = (struct iphdr *)icmp_skb->data;
|
|
|
+ struct tcphdr *th = (struct tcphdr *)(icmp_skb->data + (iph->ihl << 2));
|
|
|
struct tcp_sock *tp;
|
|
|
struct inet_sock *inet;
|
|
|
- const int type = icmp_hdr(skb)->type;
|
|
|
- const int code = icmp_hdr(skb)->code;
|
|
|
+ const int type = icmp_hdr(icmp_skb)->type;
|
|
|
+ const int code = icmp_hdr(icmp_skb)->code;
|
|
|
struct sock *sk;
|
|
|
__u32 seq;
|
|
|
int err;
|
|
|
- struct net *net = dev_net(skb->dev);
|
|
|
+ struct net *net = dev_net(icmp_skb->dev);
|
|
|
|
|
|
- if (skb->len < (iph->ihl << 2) + 8) {
|
|
|
+ if (icmp_skb->len < (iph->ihl << 2) + 8) {
|
|
|
ICMP_INC_STATS_BH(net, ICMP_MIB_INERRORS);
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
sk = inet_lookup(net, &tcp_hashinfo, iph->daddr, th->dest,
|
|
|
- iph->saddr, th->source, inet_iif(skb));
|
|
|
+ iph->saddr, th->source, inet_iif(icmp_skb));
|
|
|
if (!sk) {
|
|
|
ICMP_INC_STATS_BH(net, ICMP_MIB_INERRORS);
|
|
|
return;
|