aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/cnic.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/cnic.c')
-rw-r--r--drivers/net/cnic.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/drivers/net/cnic.c b/drivers/net/cnic.c
index 271a1f00c224..65832951fe07 100644
--- a/drivers/net/cnic.c
+++ b/drivers/net/cnic.c
@@ -3407,20 +3407,14 @@ static int cnic_get_v4_route(struct sockaddr_in *dst_addr,
3407 struct dst_entry **dst) 3407 struct dst_entry **dst)
3408{ 3408{
3409#if defined(CONFIG_INET) 3409#if defined(CONFIG_INET)
3410 struct flowi fl;
3411 int err;
3412 struct rtable *rt; 3410 struct rtable *rt;
3413 3411
3414 memset(&fl, 0, sizeof(fl)); 3412 rt = ip_route_output(&init_net, dst_addr->sin_addr.s_addr, 0, 0, 0);
3415 fl.nl_u.ip4_u.daddr = dst_addr->sin_addr.s_addr; 3413 if (!IS_ERR(rt)) {
3416
3417 rt = ip_route_output_key(&init_net, &fl);
3418 err = 0;
3419 if (!IS_ERR(rt))
3420 *dst = &rt->dst; 3414 *dst = &rt->dst;
3421 else 3415 return 0;
3422 err = PTR_ERR(rt); 3416 }
3423 return err; 3417 return PTR_ERR(rt);
3424#else 3418#else
3425 return -ENETUNREACH; 3419 return -ENETUNREACH;
3426#endif 3420#endif