From: Eric Dumazet <edumazet@google.com>
To: "David S . Miller" <davem@davemloft.net>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>
Cc: Simon Horman <simon.horman@corigine.com>,
netdev@vger.kernel.org, eric.dumazet@gmail.com,
Eric Dumazet <edumazet@google.com>
Subject: [PATCH net-next 1/3] net: do not use skb_mac_header() in qdisc_pkt_len_init()
Date: Tue, 21 Mar 2023 16:45:17 +0000 [thread overview]
Message-ID: <20230321164519.1286357-2-edumazet@google.com> (raw)
In-Reply-To: <20230321164519.1286357-1-edumazet@google.com>
We want to remove our use of skb_mac_header() in tx paths,
eg remove skb_reset_mac_header() from __dev_queue_xmit().
Idea is that ndo_start_xmit() can get the mac header
simply looking at skb->data.
Signed-off-by: Eric Dumazet <edumazet@google.com>
---
net/core/dev.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/net/core/dev.c b/net/core/dev.c
index c7853192563d2ee6cd43293c84b9ae5073346580..c610efc5fcd60247799c6ee7fd1b3fb429cabfb5 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -3733,25 +3733,25 @@ static void qdisc_pkt_len_init(struct sk_buff *skb)
* we add to pkt_len the headers size of all segments
*/
if (shinfo->gso_size && skb_transport_header_was_set(skb)) {
- unsigned int hdr_len;
u16 gso_segs = shinfo->gso_segs;
+ unsigned int hdr_len;
/* mac layer + network layer */
- hdr_len = skb_transport_header(skb) - skb_mac_header(skb);
+ hdr_len = skb_transport_offset(skb);
/* + transport layer */
if (likely(shinfo->gso_type & (SKB_GSO_TCPV4 | SKB_GSO_TCPV6))) {
const struct tcphdr *th;
struct tcphdr _tcphdr;
- th = skb_header_pointer(skb, skb_transport_offset(skb),
+ th = skb_header_pointer(skb, hdr_len,
sizeof(_tcphdr), &_tcphdr);
if (likely(th))
hdr_len += __tcp_hdrlen(th);
} else {
struct udphdr _udphdr;
- if (skb_header_pointer(skb, skb_transport_offset(skb),
+ if (skb_header_pointer(skb, hdr_len,
sizeof(_udphdr), &_udphdr))
hdr_len += sizeof(struct udphdr);
}
--
2.40.0.rc2.332.ga46443480c-goog
next prev parent reply other threads:[~2023-03-21 16:45 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-21 16:45 [PATCH net-next 0/3] net: remove some skb_mac_header assumptions Eric Dumazet
2023-03-21 16:45 ` Eric Dumazet [this message]
2023-03-22 11:25 ` [PATCH net-next 1/3] net: do not use skb_mac_header() in qdisc_pkt_len_init() Simon Horman
2023-03-21 16:45 ` [PATCH net-next 2/3] sch_cake: do not use skb_mac_header() in cake_overhead() Eric Dumazet
2023-03-22 11:26 ` Simon Horman
2023-03-21 16:45 ` [PATCH net-next 3/3] net/sched: remove two skb_mac_header() uses Eric Dumazet
2023-03-22 11:26 ` Simon Horman
2023-03-21 17:13 ` [PATCH net-next 0/3] net: remove some skb_mac_header assumptions Vladimir Oltean
2023-03-21 18:41 ` Eric Dumazet
2023-03-23 5:50 ` patchwork-bot+netdevbpf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230321164519.1286357-2-edumazet@google.com \
--to=edumazet@google.com \
--cc=davem@davemloft.net \
--cc=eric.dumazet@gmail.com \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=simon.horman@corigine.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.