On 2022/04/02 18:14, Kevin Lo wrote:
> On Fri, Apr 01, 2022 at 06:09:26PM +0100, Stuart Henderson wrote:
> > 
> > On 2022/04/01 17:13, Stuart Henderson wrote:
> > > On 2022/04/01 10:26, Gerhard Roth wrote:
> > > > On 4/1/22 07:41, Kevin Lo wrote:
> > > > > 
> > > > > ure0: RTL8153 (0x5c10), address 00:e0:4c:xx:xx:xx
> > > > > rgephy1 at ure0 phy 0: RTL8251 PHY, rev. 0
> > > > > 
> > > > > ure0: RTL8153B (0x6010), address f4:28:53:xx:xx:xx
> > > > > rgephy1 at ure0 phy 0: RTL8251 PHY, rev. 0
> > > > > 
> > > > > ure0 at uhub0 port 4 configuration 1 interface 0 "Planex USB 
> > > > > 10/100/1G/2.5G LAN" rev 2.10/30.00 addr 5
> > > > > ure0: RTL8156 (0x7030), address 1c:c0:35:xx:xx:xx
> > > > > 
> > > > 
> > > > 
> > > > You can add another one to the list that works just fine with your
> > > > patch:
> > > > 
> > > > ure0 at uhub1 port 1 configuration 1 interface 0 "Realtek USB 
> > > > 10/100/1000 LAN" rev 3.00/30.00 addr 2
> > > > ure0: RTL8153 (0x5c30), address 00:13:3b:xx:xx:xx
> > > > rgephy0 at ure0 phy 0: RTL8251 PHY, rev. 0
> > > 
> > > No new issues seen on RTL8153B:
> > > 
> > > ure0 at uhub0 port 15 configuration 1 interface 0 "Realtek USB 
> > > 10/100/1000 LAN" rev 3.00/31.00 addr 10
> > > ure0: RTL8153B (0x6010), address 00:e0:4c:38:2b:0f
> > > rgephy0 at ure0 phy 0: RTL8251 PHY, rev. 0
> > > 
> > > I have also tested with vlan and discovered an existing issue,
> > > it seems that vlan transmission is not working correctly: no tag
> > > is sent on the outgoing packet. Reception appears to be ok.
> > > This occurs with the previous code too so it is not a regression.
> > > 
> > 
> > Tx works ok if I disable hw tagging.
> 
> Thanks for the findings.  Does it help if you replace the line [1] with
> "reg |= URE_CPCR_RX_VLAN | 0x80;" ?
> 
> [1] https://github.com/openbsd/src/blob/master/sys/dev/usb/if_ure.c#L724
> 

It doesn't, but this fixes it:

Index: if_ure.c
===================================================================
RCS file: /cvs/src/sys/dev/usb/if_ure.c,v
retrieving revision 1.29
diff -u -p -r1.29 if_ure.c
--- if_ure.c    2 Apr 2022 12:22:56 -0000       1.29
+++ if_ure.c    2 Apr 2022 14:46:50 -0000
@@ -2142,7 +2142,7 @@ ure_encap_txpkt(struct mbuf *m, char *bu
 
 #if NVLAN > 0
        if (m->m_flags & M_VLANTAG)
-               cflags |= swap16(m->m_pkthdr.ether_vtag | URE_TXPKT_VLAN_TAG);
+               cflags |= URE_TXPKT_VLAN_TAG | swap16(m->m_pkthdr.ether_vtag);
 #endif
 
        txhdr.ure_pktlen = htole32(m->m_pkthdr.len | URE_TXPKT_TX_FS |

Reply via email to