Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: re hardware offload broken



> on amd64 -current compiled from sources checked out a few minutes ago,
> re hardware offload is broken. On an older 5.99.7 (a week or two ago),
> it worked flawlessly.
> 
> As far as I could see, nothing worked: no packet was sent succesfully.
> I didn't investigate which was the cause, but I had ip4csum, tcp4csum
> and udp4csum activated.
> 
> In addition to this, my re had tso4 option available previously, but
> it is no longer listed.
> 
> The card attaches (now) as:
> 
> re0 at pci2 dev 0 function 0: RealTek 8168B/8111B PCIe Gigabit Ethernet 
> (rev. 0x01)
> re0: interrupting at ioapic0 pin 17
> re0: Ethernet address 00:13:8f:eb:63:36
> re0: using 256 tx descriptors
> rgephy0 at re0 phy 7: RTL8169S/8110S/8211 1000BASE-T media interface, rev. 2
> rgephy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 
> 1000baseT-FDX, auto

Could you try this patch?

---

Index: rtl8169.c
===================================================================
RCS file: /cvsroot/src/sys/dev/ic/rtl8169.c,v
retrieving revision 1.112
diff -u -r1.112 rtl8169.c
--- rtl8169.c   27 Mar 2009 12:19:17 -0000      1.112
+++ rtl8169.c   27 Mar 2009 19:56:20 -0000
@@ -593,7 +593,17 @@
                        break;
                case RTK_HWREV_8168_SPIN1:
                        sc->sc_rev = 21;
-                       sc->sc_quirk |= RTKQ_DESCV2;
+                       break;
+               case RTK_HWREV_8168_SPIN2:
+                       sc->sc_rev = 22;
+                       break;
+               case RTK_HWREV_8168_SPIN3:
+                       sc->sc_rev = 23;
+                       break;
+               case RTK_HWREV_8168C:
+               case RTK_HWREV_8168C_SPIN2:
+                       sc->sc_rev = 24;
+                       sc->sc_quirk |= RTKQ_DESCV2 | RTKQ_NOEECMD;
                        /*
                         * From FreeBSD driver:
                         * 
@@ -609,22 +619,6 @@
                         */
                        sc->sc_quirk |= RTKQ_NOJUMBO;
                        break;
-               case RTK_HWREV_8168_SPIN2:
-                       sc->sc_rev = 22;
-                       sc->sc_quirk |= RTKQ_DESCV2;
-                       sc->sc_quirk |= RTKQ_NOJUMBO;   /* see above */
-                       break;
-               case RTK_HWREV_8168_SPIN3:
-                       sc->sc_rev = 23;
-                       sc->sc_quirk |= RTKQ_DESCV2;
-                       sc->sc_quirk |= RTKQ_NOJUMBO;   /* see above */
-                       break;
-               case RTK_HWREV_8168C:
-               case RTK_HWREV_8168C_SPIN2:
-                       sc->sc_rev = 24;
-                       sc->sc_quirk |= RTKQ_DESCV2 | RTKQ_NOEECMD;
-                       sc->sc_quirk |= RTKQ_NOJUMBO;   /* see above */
-                       break;
                case RTK_HWREV_8102E:
                case RTK_HWREV_8102EL:
                        sc->sc_rev = 25;

---
Izumi Tsutsui


Home | Main Index | Thread Index | Old Index