isVifOrTunInterface :: FilePath -> IO (Bool)
isVifOrTunInterface iface = do
    devtype <- strip <$> getFileContents (sysfsnet </> iface </> "device" </> "devtype")
    return ((devtype =~ "vif" :: Bool) || (devtype =~ "vwif" :: Bool) || (iface =~ "tap" :: Bool))
isVifOrTunInterface :: FilePath -> IO (Bool)
isVifOrTunInterface iface = do
    devtype <- strip <$> getFileContents (sysfsnet </> iface </> "device" </> "devtype")
    return ((devtype =~ "vif" :: Bool) || (devtype =~ "vwif" :: Bool) || (iface =~ "tap" :: Bool))
isVifOrTunInterface iface = do
    devtype <- strip <$> getFileContents (sysfsnet </> iface </> "device" </> "devtype")
    return ((devtype =~ "vif" :: Bool) || (devtype =~ "vwif" :: Bool) || (iface =~ "tap" :: Bool))