|
@@ -176,7 +176,7 @@ static bool ipv6_raw_deliver(struct sk_buff *skb, int nexthdr)
|
|
|
goto out;
|
|
|
|
|
|
net = dev_net(skb->dev);
|
|
|
- sk = __raw_v6_lookup(net, sk, nexthdr, daddr, saddr, IP6CB(skb)->iif);
|
|
|
+ sk = __raw_v6_lookup(net, sk, nexthdr, daddr, saddr, inet6_iif(skb));
|
|
|
|
|
|
while (sk) {
|
|
|
int filtered;
|
|
@@ -220,7 +220,7 @@ static bool ipv6_raw_deliver(struct sk_buff *skb, int nexthdr)
|
|
|
}
|
|
|
}
|
|
|
sk = __raw_v6_lookup(net, sk_next(sk), nexthdr, daddr, saddr,
|
|
|
- IP6CB(skb)->iif);
|
|
|
+ inet6_iif(skb));
|
|
|
}
|
|
|
out:
|
|
|
read_unlock(&raw_v6_hashinfo.lock);
|
|
@@ -375,7 +375,7 @@ void raw6_icmp_error(struct sk_buff *skb, int nexthdr,
|
|
|
net = dev_net(skb->dev);
|
|
|
|
|
|
while ((sk = __raw_v6_lookup(net, sk, nexthdr, saddr, daddr,
|
|
|
- IP6CB(skb)->iif))) {
|
|
|
+ inet6_iif(skb)))) {
|
|
|
rawv6_err(sk, skb, NULL, type, code,
|
|
|
inner_offset, info);
|
|
|
sk = sk_next(sk);
|
|
@@ -506,7 +506,7 @@ static int rawv6_recvmsg(struct kiocb *iocb, struct sock *sk,
|
|
|
sin6->sin6_addr = ipv6_hdr(skb)->saddr;
|
|
|
sin6->sin6_flowinfo = 0;
|
|
|
sin6->sin6_scope_id = ipv6_iface_scope_id(&sin6->sin6_addr,
|
|
|
- IP6CB(skb)->iif);
|
|
|
+ inet6_iif(skb));
|
|
|
*addr_len = sizeof(*sin6);
|
|
|
}
|
|
|
|