lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 9 Mar 2022 20:44:05 -0800 From: Jakub Kicinski <kuba@...nel.org> To: Eric Dumazet <eric.dumazet@...il.com> Cc: "David S . Miller" <davem@...emloft.net>, netdev <netdev@...r.kernel.org>, Alexander Duyck <alexanderduyck@...com>, Coco Li <lixiaoyan@...gle.com>, Eric Dumazet <edumazet@...gle.com>, Tariq Toukan <tariqt@...dia.com>, Saeed Mahameed <saeedm@...dia.com>, Leon Romanovsky <leon@...nel.org> Subject: Re: [PATCH v3 net-next 14/14] mlx5: support BIG TCP packets On Wed, 9 Mar 2022 16:28:46 -0800 Eric Dumazet wrote: > @@ -918,12 +953,27 @@ void mlx5i_sq_xmit(struct mlx5e_txqsq *sq, struct sk_buff *skb, > eseg->mss = attr.mss; > > if (attr.ihs) { > - memcpy(eseg->inline_hdr.start, skb->data, attr.ihs); > + if (unlikely(attr.hopbyhop)) { > + /* remove the HBH header. > + * Layout: [Ethernet header][IPv6 header][HBH][TCP header] > + */ > + memcpy(eseg->inline_hdr.start, skb->data, ETH_HLEN + sizeof(*h6)); > + h6 = (struct ipv6hdr *)((char *)eseg->inline_hdr.start + ETH_HLEN); > + h6->nexthdr = IPPROTO_TCP; > + /* Copy the TCP header after the IPv6 one */ > + memcpy(h6 + 1, > + skb->data + ETH_HLEN + sizeof(*h6) + > + sizeof(struct hop_jumbo_hdr), > + tcp_hdrlen(skb)); > + /* Leave ipv6 payload_len set to 0, as LSO v2 specs request. */ > + } else { > + memcpy(eseg->inline_hdr.start, skb->data, attr.ihs); > + } Compiler says there's no h6 in mlx5i_sq_xmit().
Powered by blists - more mailing lists