Skip to content

Commit 8d7017f

Browse files
Mahesh Bandewardavem330
authored andcommitted
blackhole_netdev: use blackhole_netdev to invalidate dst entries
Use blackhole_netdev instead of 'lo' device with lower MTU when marking dst "dead". Signed-off-by: Mahesh Bandewar <[email protected]> Tested-by: Michael Chan <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 4de83b8 commit 8d7017f

File tree

3 files changed

+3
-4
lines changed

3 files changed

+3
-4
lines changed

net/core/dst.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ void dst_dev_put(struct dst_entry *dst)
160160
dst->ops->ifdown(dst, dev, true);
161161
dst->input = dst_discard;
162162
dst->output = dst_discard_out;
163-
dst->dev = dev_net(dst->dev)->loopback_dev;
163+
dst->dev = blackhole_netdev;
164164
dev_hold(dst->dev);
165165
dev_put(dev);
166166
}

net/ipv4/route.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1532,7 +1532,6 @@ static void ipv4_dst_destroy(struct dst_entry *dst)
15321532

15331533
void rt_flush_dev(struct net_device *dev)
15341534
{
1535-
struct net *net = dev_net(dev);
15361535
struct rtable *rt;
15371536
int cpu;
15381537

@@ -1543,7 +1542,7 @@ void rt_flush_dev(struct net_device *dev)
15431542
list_for_each_entry(rt, &ul->head, rt_uncached) {
15441543
if (rt->dst.dev != dev)
15451544
continue;
1546-
rt->dst.dev = net->loopback_dev;
1545+
rt->dst.dev = blackhole_netdev;
15471546
dev_hold(rt->dst.dev);
15481547
dev_put(dev);
15491548
}

net/ipv6/route.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ static void rt6_uncached_list_flush_dev(struct net *net, struct net_device *dev)
176176
}
177177

178178
if (rt_dev == dev) {
179-
rt->dst.dev = loopback_dev;
179+
rt->dst.dev = blackhole_netdev;
180180
dev_hold(rt->dst.dev);
181181
dev_put(rt_dev);
182182
}

0 commit comments

Comments
 (0)