Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 May 2018 05:53:59 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 228556] igb link status is not updating properly when configured as VF driver in guest OS
Message-ID:  <bug-228556-227@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D228556

            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@FreeBSD.org
          Reporter: gokuljnpr@gmail.com

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

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


Following patch should resolve the issue .

gokulcg@/$ cat igb_link.patch
Index: sys/dev/e1000/e1000_vf.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- 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 =3D TRUE;
-
+        }
        if (!mac->get_link_status)
                goto out;

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-228556-227>