summaryrefslogtreecommitdiffstats
path: root/net/switchdev/switchdev.c
diff options
context:
space:
mode:
authorJiri Pirko <jiri@mellanox.com>2016-09-26 06:52:30 -0400
committerDavid S. Miller <davem@davemloft.net>2016-09-28 04:48:00 -0400
commitc98501879b1b1af90c7325574f2672e9efca592c (patch)
treecc6f5e21ae1250962df15dc0e014a85975501c67 /net/switchdev/switchdev.c
parentb90eb754949931b2e4481b1df9a03f84d4be66ba (diff)
fib: introduce FIB info offload flag helpers
These helpers are to be used in case someone offloads the FIB entry. The result is that if the entry is offloaded to at least one device, the offload flag is set. Signed-off-by: Jiri Pirko <jiri@mellanox.com> Reviewed-by: Ido Schimmel <idosch@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/switchdev/switchdev.c')
-rw-r--r--net/switchdev/switchdev.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/switchdev/switchdev.c b/net/switchdev/switchdev.c
index 10b819308439..abd8d2a38a7d 100644
--- a/net/switchdev/switchdev.c
+++ b/net/switchdev/switchdev.c
@@ -1216,7 +1216,7 @@ int switchdev_fib_ipv4_add(u32 dst, int dst_len, struct fib_info *fi,
1216 ipv4_fib.obj.orig_dev = dev; 1216 ipv4_fib.obj.orig_dev = dev;
1217 err = switchdev_port_obj_add(dev, &ipv4_fib.obj); 1217 err = switchdev_port_obj_add(dev, &ipv4_fib.obj);
1218 if (!err) 1218 if (!err)
1219 fi->fib_flags |= RTNH_F_OFFLOAD; 1219 fib_info_offload_inc(fi);
1220 1220
1221 return err == -EOPNOTSUPP ? 0 : err; 1221 return err == -EOPNOTSUPP ? 0 : err;
1222} 1222}
@@ -1260,7 +1260,7 @@ int switchdev_fib_ipv4_del(u32 dst, int dst_len, struct fib_info *fi,
1260 ipv4_fib.obj.orig_dev = dev; 1260 ipv4_fib.obj.orig_dev = dev;
1261 err = switchdev_port_obj_del(dev, &ipv4_fib.obj); 1261 err = switchdev_port_obj_del(dev, &ipv4_fib.obj);
1262 if (!err) 1262 if (!err)
1263 fi->fib_flags &= ~RTNH_F_OFFLOAD; 1263 fib_info_offload_dec(fi);
1264 1264
1265 return err == -EOPNOTSUPP ? 0 : err; 1265 return err == -EOPNOTSUPP ? 0 : err;
1266} 1266}