82599 receiving packets with vlan tag=0 (vlan strip problem)?

Jack Vogel jfvogel at gmail.com
Sat Nov 27 04:24:55 UTC 2010


Will you please test with the code I just checked in and
see if it also eliminates the problem, if not I can change
it to your method.

Just for the record, I was not aware of a hardware bug, and
for right now no one is around :) I will ask around next week
to see if something was known that I missed.

Thanks,

Jack


2010/11/26 beezarliu <beezarliu at yahoo.com.cn>

> On 2010-11-27 05:01:11, Ryan Stone wrote:
> >On Fri, Nov 26, 2010 at 3:46 PM, Jack Vogel <jfvogel at gmail.com> wrote:
> >> Ahh, OK, so how would this solution work:
> >>
> >> In rxeof, in addition to requiring VP to be set, also check that
> >> adapter->num_vlans is non-zero, in order to store the tag.
> >>
> >> Jack
> >
> >Yes, I believe that will work.
> >
> >Ryan Stone
> >_______________________________________________
> >freebsd-net at freebsd.org mailing list
> >http://lists.freebsd.org/mailman/listinfo/freebsd-net
> >To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
>
> From ixgbe_init -> ixgbe_init_lock -> ixgbe_setup_vlan_hw_support,
> I'm sure the VME bit is set for all rx queues.
> But in my testing, the vlan tag is not stripped but VP bit is set.
> It's very strange, and I'm not sure it's hardware bug.
>
> I currently fix it by checking vlan tag is not zero before add M_VLANTAG,
> because vlan tag id 0 is not used.
>
>                                if ((staterr & IXGBE_RXD_STAT_VP) && vtag) {
>                                        sendmp->m_pkthdr.ether_vtag = vtag;
>                                        sendmp->m_flags |= M_VLANTAG;
>                                }
>
>
> Thanks
> Beezar
>
>
> __________________________________________________
> 赶快注册雅虎超大容量免费邮箱?
> http://cn.mail.yahoo.com
>


More information about the freebsd-net mailing list