Hi æŽä¹‰,
Thanks for your patch! I can confirm that we have already fixed this in the “master†branch as well as in the next release of XenServer.
Here are the commits:
https://github.com/xenserver/xen-api/commit/b887d640094be035c919bd4a85c66c2dac95ed4c
https://github.com/xapi-project/xcp-networkd/commit/a2a480f9a3f7d8717988319fe48ac11ddf9f908f
Cheers,
Rob
On 10 May 2015, at 02:07, æŽä¹‰ <yilikernel@qq.com<mailto:yilikernel@qq.com>> wrote:
Hi all,
This issue happened on XenServer Creedence.
i have check the xen-api, there have some error to check a interface whether a physical interface.
please check and review. Thanks
Subject: [PATCH] Check vif interface error at kernel 3.x issue
The softlink name of /sys/class/net/vif**/device have not the xen-backend string
on kernel 3.X, should use the softlink /sys/class/net/vif**/device/driver
Signed-off-by: Yi Li <yili@winhong.com<mailto:yili@winhong.com>>
---
ocaml/network/network_utils.ml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ocaml/network/network_utils.ml b/ocaml/network/network_utils.ml
index 281157d..9195f01 100644
--- a/ocaml/network/network_utils.ml
+++ b/ocaml/network/network_utils.ml
@@ -86,7 +86,7 @@ module Sysfs = struct
let is_physical name =
try
- let link = Unix.readlink (getpath name "device") in
+ let link = Unix.readlink (getpath name "device/driver") in
(* filter out device symlinks which look like /../../../devices/xen-backend/vif- *)
not(List.mem "xen-backend" (String.split '/' link))
with _ -> false
--
1.7.12.4
<0001-Check-vif-interface-error-at-kernel-3.x-issue.patch>
Thanks for your patch! I can confirm that we have already fixed this in the “master†branch as well as in the next release of XenServer.
Here are the commits:
https://github.com/xenserver/xen-api/commit/b887d640094be035c919bd4a85c66c2dac95ed4c
https://github.com/xapi-project/xcp-networkd/commit/a2a480f9a3f7d8717988319fe48ac11ddf9f908f
Cheers,
Rob
On 10 May 2015, at 02:07, æŽä¹‰ <yilikernel@qq.com<mailto:yilikernel@qq.com>> wrote:
Hi all,
This issue happened on XenServer Creedence.
i have check the xen-api, there have some error to check a interface whether a physical interface.
please check and review. Thanks
Subject: [PATCH] Check vif interface error at kernel 3.x issue
The softlink name of /sys/class/net/vif**/device have not the xen-backend string
on kernel 3.X, should use the softlink /sys/class/net/vif**/device/driver
Signed-off-by: Yi Li <yili@winhong.com<mailto:yili@winhong.com>>
---
ocaml/network/network_utils.ml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ocaml/network/network_utils.ml b/ocaml/network/network_utils.ml
index 281157d..9195f01 100644
--- a/ocaml/network/network_utils.ml
+++ b/ocaml/network/network_utils.ml
@@ -86,7 +86,7 @@ module Sysfs = struct
let is_physical name =
try
- let link = Unix.readlink (getpath name "device") in
+ let link = Unix.readlink (getpath name "device/driver") in
(* filter out device symlinks which look like /../../../devices/xen-backend/vif- *)
not(List.mem "xen-backend" (String.split '/' link))
with _ -> false
--
1.7.12.4
<0001-Check-vif-interface-error-at-kernel-3.x-issue.patch>