On 10/26/2015 06:03 AM, Toshiaki Makita wrote: > On 2015/10/26 5:02, Emmanuel Grumbach wrote: >> Adding IPv6 for the TSO helper API is trivial: >> * Don't play with the id (which doesn't exist in IPv6) >> * Correctly update the payload_len (don't include the >> length of the IP header itself) > ... >> memcpy(hdr, skb->data, hdr_len); >> - iph = (struct iphdr *)(hdr + mac_hdr_len); >> - iph->id = htons(tso->ip_id); >> - iph->tot_len = htons(size + hdr_len - mac_hdr_len); >> + if (skb->protocol == htons(ETH_P_IP)) { > > I guess this should be vlan_get_protocol(skb). I truly don't know. I guess we could have VLANs, but I'd need to check how the packet would look like after it exits mac80211. If we need that, I'll likely do this check once in tso_start() and add a variable to struct tso_t. > >> + struct iphdr *iph = (void *)(hdr + mac_hdr_len); >> + >> + iph->id = htons(tso->ip_id); >> + iph->tot_len = htons(size + hdr_len - mac_hdr_len); >> + tso->ip_id++; >> + } else if (skb->protocol == htons(ETH_P_IPV6)) { > > Likewise. > > Toshiaki Makita > > -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html