isPhyInterface :: String -> IO Bool
isPhyInterface iface = do 
    devExists <- doesDirectoryExist(sysfsnet </> iface </> "device")
    isVif <- isVifOrTunInterface iface

    case (devExists, isVif) of
         (True, False) -> return True
         otherwise -> return False
isPhyInterface :: String -> IO Bool
isPhyInterface iface = do 
    devExists <- doesDirectoryExist(sysfsnet </> iface </> "device")
    isVif <- isVifOrTunInterface iface

    case (devExists, isVif) of
         (True, False) -> return True
         otherwise -> return False
isPhyInterface iface = do 
    devExists <- doesDirectoryExist(sysfsnet </> iface </> "device")
    isVif <- isVifOrTunInterface iface

    case (devExists, isVif) of
         (True, False) -> return True
         otherwise -> return False