&network.activeConnection{path:"/org/freedesktop/NetworkManager/ActiveConnection/26", typ:"", Devices:[]dbus.ObjectP Aug 30 18:22:05 zhangzi-PC daemon/network[1239]: manager_device.go:96: ignore invalid device type 16
if !isDeviceTypeValid(devType) err = fmt.Errorf("ignore invalid device type %d", devType)
enum NMDeviceType NMDeviceType values indicate the type of hardware represented by a device object. Values NM_DEVICE_TYPE_UNKNOWN = 0 unknown device NM_DEVICE_TYPE_GENERIC = 14 generic support for unrecognized device types NM_DEVICE_TYPE_ETHERNET = 1 a wired ethernet device NM_DEVICE_TYPE_WIFI = 2 an 802.11 WiFi device NM_DEVICE_TYPE_UNUSED1 = 3 not used NM_DEVICE_TYPE_UNUSED2 = 4 not used NM_DEVICE_TYPE_BT = 5 a Bluetooth device supporting PAN or DUN access protocols NM_DEVICE_TYPE_OLPC_MESH = 6 an OLPC XO mesh networking device NM_DEVICE_TYPE_WIMAX = 7 an 802.16e Mobile WiMAX broadband device NM_DEVICE_TYPE_MODEM = 8 a modem supporting analog telephone, CDMA/EVDO, GSM/UMTS, or LTE network access protocols NM_DEVICE_TYPE_INFINIBAND = 9 an IP-over-InfiniBand device NM_DEVICE_TYPE_BOND = 10 a bond master interface NM_DEVICE_TYPE_VLAN = 11 an 802.1Q VLAN interface NM_DEVICE_TYPE_ADSL = 12 ADSL modem NM_DEVICE_TYPE_BRIDGE = 13 a bridge master interface NM_DEVICE_TYPE_TEAM = 15 a team master interface NM_DEVICE_TYPE_TUN = 16 a TUN or TAP interface NM_DEVICE_TYPE_IP_TUNNEL = 17 a IP tunnel interface NM_DEVICE_TYPE_MACVLAN = 18 a MACVLAN interface NM_DEVICE_TYPE_VXLAN = 19 a VXLAN interface NM_DEVICE_TYPE_VETH = 20 a VETH interface
func isDeviceTypeValid(devType uint32) bool { switch devType { case nm.NM_DEVICE_TYPE_GENERIC, nm.NM_DEVICE_TYPE_UNKNOWN, nm.NM_DEVICE_TYPE_BT, nm.NM_DEVICE_TYPE_TEAM, nm.NM_DEVICE_TYPE_TUN, nm.NM_DEVICE_TYPE_IP_TUNNEL, nm.NM_DEVICE_TYPE_MACVLAN, nm.NM_DEVICE_TYPE_VXLAN, nm.NM_DEVICE_TYPE_VETH: return false } return true }
https://bbs.deepin.org/post/144865 @wangyong
Featured Collection
Popular Events
首先开始连接,然后
"journalctl -n100" 看日志,发现了这么个东西:
注意第二行,报了一个非法设备的log。
于是我去github上跟了一下这个 manager_device.go 的代码。
https://github.com/linuxdeepin/dde-daemon/blob/master/network/manager_device.go
https://people.freedesktop.org/~lkundrak/nm-docs/nm-dbus-types.html
发现16这个枚举,正好是TUN/TAP类型····
再反过来查刚才的合法性验证方法isDeviceTypeValid,找到对应的代码:
https://github.com/linuxdeepin/dde-daemon/blob/master/network/utils_dbus_nm.go
这么看来,应该是deepin直接不支持tun了···
这是为啥呢···有这个必要吗···现在蛮多公司都是通过vpn来支持员工在家访问公司内网的,毕竟线上出问题的时候,随时随地都得上线修bug···,deepin的同学能帮忙支持下这个吗···