|
@@ -344,6 +344,7 @@ static int ipvlan_process_v4_outbound(struct sk_buff *skb)
|
|
|
{
|
|
|
const struct iphdr *ip4h = ip_hdr(skb);
|
|
|
struct net_device *dev = skb->dev;
|
|
|
+ struct net *net = dev_net(dev);
|
|
|
struct rtable *rt;
|
|
|
int err, ret = NET_XMIT_DROP;
|
|
|
struct flowi4 fl4 = {
|
|
@@ -354,7 +355,7 @@ static int ipvlan_process_v4_outbound(struct sk_buff *skb)
|
|
|
.saddr = ip4h->saddr,
|
|
|
};
|
|
|
|
|
|
- rt = ip_route_output_flow(dev_net(dev), &fl4, NULL);
|
|
|
+ rt = ip_route_output_flow(net, &fl4, NULL);
|
|
|
if (IS_ERR(rt))
|
|
|
goto err;
|
|
|
|
|
@@ -381,6 +382,7 @@ static int ipvlan_process_v6_outbound(struct sk_buff *skb)
|
|
|
{
|
|
|
const struct ipv6hdr *ip6h = ipv6_hdr(skb);
|
|
|
struct net_device *dev = skb->dev;
|
|
|
+ struct net *net = dev_net(dev);
|
|
|
struct dst_entry *dst;
|
|
|
int err, ret = NET_XMIT_DROP;
|
|
|
struct flowi6 fl6 = {
|
|
@@ -393,7 +395,7 @@ static int ipvlan_process_v6_outbound(struct sk_buff *skb)
|
|
|
.flowi6_proto = ip6h->nexthdr,
|
|
|
};
|
|
|
|
|
|
- dst = ip6_route_output(dev_net(dev), NULL, &fl6);
|
|
|
+ dst = ip6_route_output(net, NULL, &fl6);
|
|
|
if (dst->error) {
|
|
|
ret = dst->error;
|
|
|
dst_release(dst);
|