diff options
Diffstat (limited to 'net/ipv4/arp.c')
-rw-r--r-- | net/ipv4/arp.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/ipv4/arp.c b/net/ipv4/arp.c index 69e80bd9774a..efe01df8fc0e 100644 --- a/net/ipv4/arp.c +++ b/net/ipv4/arp.c | |||
@@ -475,7 +475,7 @@ int arp_find(unsigned char *haddr, struct sk_buff *skb) | |||
475 | return 1; | 475 | return 1; |
476 | } | 476 | } |
477 | 477 | ||
478 | paddr = ((struct rtable*)skb->dst)->rt_gateway; | 478 | paddr = skb->rtable->rt_gateway; |
479 | 479 | ||
480 | if (arp_set_predefined(inet_addr_type(&init_net, paddr), haddr, paddr, dev)) | 480 | if (arp_set_predefined(inet_addr_type(&init_net, paddr), haddr, paddr, dev)) |
481 | return 0; | 481 | return 0; |
@@ -814,7 +814,7 @@ static int arp_process(struct sk_buff *skb) | |||
814 | if (arp->ar_op == htons(ARPOP_REQUEST) && | 814 | if (arp->ar_op == htons(ARPOP_REQUEST) && |
815 | ip_route_input(skb, tip, sip, 0, dev) == 0) { | 815 | ip_route_input(skb, tip, sip, 0, dev) == 0) { |
816 | 816 | ||
817 | rt = (struct rtable*)skb->dst; | 817 | rt = skb->rtable; |
818 | addr_type = rt->rt_type; | 818 | addr_type = rt->rt_type; |
819 | 819 | ||
820 | if (addr_type == RTN_LOCAL) { | 820 | if (addr_type == RTN_LOCAL) { |