diff options
Diffstat (limited to 'lib/netdev-vport.c')
-rw-r--r-- | lib/netdev-vport.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/netdev-vport.c b/lib/netdev-vport.c index d11c5ccdd..64a3ba3c4 100644 --- a/lib/netdev-vport.c +++ b/lib/netdev-vport.c @@ -857,7 +857,7 @@ get_pt_mode(const struct netdev *netdev) #ifdef __linux__ static int -netdev_vport_get_ifindex(const struct netdev *netdev_) +netdev_vport_get_ifindex__(const struct netdev *netdev_) { char buf[NETDEV_VPORT_NAME_BUFSIZE]; const char *name = netdev_vport_get_dpif_port(netdev_, buf, sizeof(buf)); @@ -865,6 +865,15 @@ netdev_vport_get_ifindex(const struct netdev *netdev_) return linux_get_ifindex(name); } +static int +netdev_vport_get_ifindex(const struct netdev *netdev_) +{ + if (netdev_is_flow_api_enabled()) + return netdev_vport_get_ifindex__(netdev_); + else + return -EOPNOTSUPP; +} + #define NETDEV_VPORT_GET_IFINDEX netdev_vport_get_ifindex #define NETDEV_FLOW_OFFLOAD_API LINUX_FLOW_OFFLOAD_API #else /* !__linux__ */ |