diff options
Diffstat (limited to 'net/ipv4/arp.c')
-rw-r--r-- | net/ipv4/arp.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/ipv4/arp.c b/net/ipv4/arp.c index fd36eebbd90a..01d0e8dd17d8 100644 --- a/net/ipv4/arp.c +++ b/net/ipv4/arp.c | |||
@@ -342,13 +342,13 @@ static void arp_solicit(struct neighbour *neigh, struct sk_buff *skb) | |||
342 | switch (IN_DEV_ARP_ANNOUNCE(in_dev)) { | 342 | switch (IN_DEV_ARP_ANNOUNCE(in_dev)) { |
343 | default: | 343 | default: |
344 | case 0: /* By default announce any local IP */ | 344 | case 0: /* By default announce any local IP */ |
345 | if (skb && inet_addr_type(skb->nh.iph->saddr) == RTN_LOCAL) | 345 | if (skb && inet_addr_type(ip_hdr(skb)->saddr) == RTN_LOCAL) |
346 | saddr = skb->nh.iph->saddr; | 346 | saddr = ip_hdr(skb)->saddr; |
347 | break; | 347 | break; |
348 | case 1: /* Restrict announcements of saddr in same subnet */ | 348 | case 1: /* Restrict announcements of saddr in same subnet */ |
349 | if (!skb) | 349 | if (!skb) |
350 | break; | 350 | break; |
351 | saddr = skb->nh.iph->saddr; | 351 | saddr = ip_hdr(skb)->saddr; |
352 | if (inet_addr_type(saddr) == RTN_LOCAL) { | 352 | if (inet_addr_type(saddr) == RTN_LOCAL) { |
353 | /* saddr should be known to target */ | 353 | /* saddr should be known to target */ |
354 | if (inet_addr_onlink(in_dev, target, saddr)) | 354 | if (inet_addr_onlink(in_dev, target, saddr)) |