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 netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to