aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/icmp.c
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2007-03-13 13:43:18 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2007-04-26 01:25:23 -0400
commit88c7664f13bd1a36acb8566b93892a4c58759ac6 (patch)
tree18ead610bf54ef87f3832c61d64a4bad30d4f78e /net/ipv4/icmp.c
parent4bedb45203eab92a87b4c863fe2d0cded633427f (diff)
[SK_BUFF]: Introduce icmp_hdr(), remove skb->h.icmph
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/icmp.c')
-rw-r--r--net/ipv4/icmp.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/net/ipv4/icmp.c b/net/ipv4/icmp.c
index 4d70c21c50aa..8372f8b8f0cd 100644
--- a/net/ipv4/icmp.c
+++ b/net/ipv4/icmp.c
@@ -355,7 +355,7 @@ static void icmp_push_reply(struct icmp_bxm *icmp_param,
355 ipc, rt, MSG_DONTWAIT) < 0) 355 ipc, rt, MSG_DONTWAIT) < 0)
356 ip_flush_pending_frames(icmp_socket->sk); 356 ip_flush_pending_frames(icmp_socket->sk);
357 else if ((skb = skb_peek(&icmp_socket->sk->sk_write_queue)) != NULL) { 357 else if ((skb = skb_peek(&icmp_socket->sk->sk_write_queue)) != NULL) {
358 struct icmphdr *icmph = skb->h.icmph; 358 struct icmphdr *icmph = icmp_hdr(skb);
359 __wsum csum = 0; 359 __wsum csum = 0;
360 struct sk_buff *skb1; 360 struct sk_buff *skb1;
361 361
@@ -613,7 +613,7 @@ static void icmp_unreach(struct sk_buff *skb)
613 if (!pskb_may_pull(skb, sizeof(struct iphdr))) 613 if (!pskb_may_pull(skb, sizeof(struct iphdr)))
614 goto out_err; 614 goto out_err;
615 615
616 icmph = skb->h.icmph; 616 icmph = icmp_hdr(skb);
617 iph = (struct iphdr *)skb->data; 617 iph = (struct iphdr *)skb->data;
618 618
619 if (iph->ihl < 5) /* Mangled header, drop. */ 619 if (iph->ihl < 5) /* Mangled header, drop. */
@@ -743,7 +743,7 @@ static void icmp_redirect(struct sk_buff *skb)
743 743
744 iph = (struct iphdr *)skb->data; 744 iph = (struct iphdr *)skb->data;
745 745
746 switch (skb->h.icmph->code & 7) { 746 switch (icmp_hdr(skb)->code & 7) {
747 case ICMP_REDIR_NET: 747 case ICMP_REDIR_NET:
748 case ICMP_REDIR_NETTOS: 748 case ICMP_REDIR_NETTOS:
749 /* 749 /*
@@ -752,7 +752,7 @@ static void icmp_redirect(struct sk_buff *skb)
752 case ICMP_REDIR_HOST: 752 case ICMP_REDIR_HOST:
753 case ICMP_REDIR_HOSTTOS: 753 case ICMP_REDIR_HOSTTOS:
754 ip_rt_redirect(ip_hdr(skb)->saddr, iph->daddr, 754 ip_rt_redirect(ip_hdr(skb)->saddr, iph->daddr,
755 skb->h.icmph->un.gateway, 755 icmp_hdr(skb)->un.gateway,
756 iph->saddr, skb->dev); 756 iph->saddr, skb->dev);
757 break; 757 break;
758 } 758 }
@@ -780,7 +780,7 @@ static void icmp_echo(struct sk_buff *skb)
780 if (!sysctl_icmp_echo_ignore_all) { 780 if (!sysctl_icmp_echo_ignore_all) {
781 struct icmp_bxm icmp_param; 781 struct icmp_bxm icmp_param;
782 782
783 icmp_param.data.icmph = *skb->h.icmph; 783 icmp_param.data.icmph = *icmp_hdr(skb);
784 icmp_param.data.icmph.type = ICMP_ECHOREPLY; 784 icmp_param.data.icmph.type = ICMP_ECHOREPLY;
785 icmp_param.skb = skb; 785 icmp_param.skb = skb;
786 icmp_param.offset = 0; 786 icmp_param.offset = 0;
@@ -816,7 +816,7 @@ static void icmp_timestamp(struct sk_buff *skb)
816 icmp_param.data.times[2] = icmp_param.data.times[1]; 816 icmp_param.data.times[2] = icmp_param.data.times[1];
817 if (skb_copy_bits(skb, 0, &icmp_param.data.times[0], 4)) 817 if (skb_copy_bits(skb, 0, &icmp_param.data.times[0], 4))
818 BUG(); 818 BUG();
819 icmp_param.data.icmph = *skb->h.icmph; 819 icmp_param.data.icmph = *icmp_hdr(skb);
820 icmp_param.data.icmph.type = ICMP_TIMESTAMPREPLY; 820 icmp_param.data.icmph.type = ICMP_TIMESTAMPREPLY;
821 icmp_param.data.icmph.code = 0; 821 icmp_param.data.icmph.code = 0;
822 icmp_param.skb = skb; 822 icmp_param.skb = skb;
@@ -943,7 +943,7 @@ int icmp_rcv(struct sk_buff *skb)
943 if (!pskb_pull(skb, sizeof(struct icmphdr))) 943 if (!pskb_pull(skb, sizeof(struct icmphdr)))
944 goto error; 944 goto error;
945 945
946 icmph = skb->h.icmph; 946 icmph = icmp_hdr(skb);
947 947
948 /* 948 /*
949 * 18 is the highest 'known' ICMP type. Anything else is a mystery 949 * 18 is the highest 'known' ICMP type. Anything else is a mystery