[Bug 228556] igb link status is not updating properly when configured as VF driver in guest OS

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Mon May 28 05:54:02 UTC 2018


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=228556

            Bug ID: 228556
           Summary: igb link status is not updating properly when
                    configured as VF driver in guest OS
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: kern
          Assignee: bugs at FreeBSD.org
          Reporter: gokuljnpr at gmail.com

Created attachment 193773
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=193773&action=edit
patch file to fix igb vf driver link issue

When we use igb driver as Virtual function driver , link status is not updating
once after link is up. Because of the same , if physical link went down , the
status will not be updated at freebsd VF interface if its present state is link
UP.  


Following patch should resolve the issue .

gokulcg@/$ cat igb_link.patch
Index: sys/dev/e1000/e1000_vf.c
===================================================================
--- sys/dev/e1000/e1000_vf.c    (revision 334275)
+++ sys/dev/e1000/e1000_vf.c    (working copy)
@@ -546,10 +546,11 @@
         * or a virtual function reset
         */

-       /* If we were hit with a reset or timeout drop the link */
-       if (!mbx->ops.check_for_rst(hw, 0) || !mbx->timeout)
+       /* If we were hit with a reset or timeout or physical link is down drop
the link */
+       if (!mbx->ops.check_for_rst(hw, 0) || !mbx->timeout || \
+            !(E1000_READ_REG(hw, E1000_STATUS) & E1000_STATUS_LU)) {
                mac->get_link_status = TRUE;
-
+        }
        if (!mac->get_link_status)
                goto out;

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list