On Wed, Feb 06, 2013 at 07:20:37PM -0800, Eric Dumazet wrote: > On Thu, 2013-02-07 at 01:02 +0200, Michael S. Tsirkin wrote: > > qlcnic set gso_size but not gso type. This leads to crashes > > in macvtap. > > > > Signed-off-by: Michael S. Tsirkin <[email protected]> > > --- > > This one I only compiled - don't have qlogic hardware. > > > > drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c | 7 ++++++- > > 1 file changed, 6 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c > > b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c > > index bb4311e..370049c 100644 > > --- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c > > +++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c > > @@ -1043,8 +1043,13 @@ qlcnic_process_lro(struct qlcnic_adapter *adapter, > > th->seq = htonl(seq_number); > > length = skb->len; > > > > - if (adapter->flags & QLCNIC_FW_LRO_MSS_CAP) > > + if (adapter->flags & QLCNIC_FW_LRO_MSS_CAP) { > > skb_shinfo(skb)->gso_size = qlcnic_get_lro_sts_mss(sts_data1); > > + if (skb->protocol == ETH_P_IPV6) > > Are you sure its not skb->protocol == htons(ETH_P_IPV6) ?
Um, so it is. It just happens to work correctly for ipv4 :) I'll respin. > > + skb_shinfo(skb)->gso_type = SKB_GSO_TCPV6; > > + else > > + skb_shinfo(skb)->gso_type = SKB_GSO_TCPV4; > > + } > > > > if (vid != 0xffff) > > __vlan_hwaccel_put_tag(skb, vid); > ------------------------------------------------------------------------------ Free Next-Gen Firewall Hardware Offer Buy your Sophos next-gen firewall before the end March 2013 and get the hardware for free! Learn more. http://p.sf.net/sfu/sophos-d2d-feb _______________________________________________ E1000-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/e1000-devel To learn more about Intel® Ethernet, visit http://communities.intel.com/community/wired
