diff options
Diffstat (limited to 'net/atm/clip.c')
-rw-r--r-- | net/atm/clip.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/net/atm/clip.c b/net/atm/clip.c index d257da50fcfb..1d4be60e1390 100644 --- a/net/atm/clip.c +++ b/net/atm/clip.c | |||
@@ -502,8 +502,6 @@ static int clip_setentry(struct atm_vcc *vcc, __be32 ip) | |||
502 | struct atmarp_entry *entry; | 502 | struct atmarp_entry *entry; |
503 | int error; | 503 | int error; |
504 | struct clip_vcc *clip_vcc; | 504 | struct clip_vcc *clip_vcc; |
505 | struct flowi fl = { .fl4_dst = ip, | ||
506 | .fl4_tos = 1 }; | ||
507 | struct rtable *rt; | 505 | struct rtable *rt; |
508 | 506 | ||
509 | if (vcc->push != clip_push) { | 507 | if (vcc->push != clip_push) { |
@@ -520,9 +518,9 @@ static int clip_setentry(struct atm_vcc *vcc, __be32 ip) | |||
520 | unlink_clip_vcc(clip_vcc); | 518 | unlink_clip_vcc(clip_vcc); |
521 | return 0; | 519 | return 0; |
522 | } | 520 | } |
523 | error = ip_route_output_key(&init_net, &rt, &fl); | 521 | rt = ip_route_output(&init_net, ip, 0, 1, 0); |
524 | if (error) | 522 | if (IS_ERR(rt)) |
525 | return error; | 523 | return PTR_ERR(rt); |
526 | neigh = __neigh_lookup(&clip_tbl, &ip, rt->dst.dev, 1); | 524 | neigh = __neigh_lookup(&clip_tbl, &ip, rt->dst.dev, 1); |
527 | ip_rt_put(rt); | 525 | ip_rt_put(rt); |
528 | if (!neigh) | 526 | if (!neigh) |