From: Xin Long <lucien.xin@gmail.com> To: network dev <netdev@vger.kernel.org>, linux-sctp@vger.kernel.org Cc: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>, Neil Horman <nhorman@tuxdriver.com>, davem@davemloft.net, Jakub Kicinski <kuba@kernel.org>, Alexander Duyck <alexander.duyck@gmail.com>, Jesse Brandeburg <jesse.brandeburg@intel.com>, Tony Nguyen <anthony.l.nguyen@intel.com>, intel-wired-lan@lists.osuosl.org Subject: [PATCH net-next 2/6] net: igb: use skb_csum_is_sctp instead of protocol check Date: Sat, 16 Jan 2021 14:13:38 +0800 [thread overview] Message-ID: <aa69157e286b0178bf115124f4b2da254e07a291.1610777159.git.lucien.xin@gmail.com> (raw) In-Reply-To: <34c9f5b8c31610687925d9db1f151d5bc87deba7.1610777159.git.lucien.xin@gmail.com> In-Reply-To: <cover.1610777159.git.lucien.xin@gmail.com> Using skb_csum_is_sctp is a easier way to validate it's a SCTP CRC checksum offload packet, and there is no need to parse the packet to check its proto field, especially when it's a UDP or GRE encapped packet. So this patch also makes igb support SCTP CRC checksum offload for UDP and GRE encapped packets. Signed-off-by: Xin Long <lucien.xin@gmail.com> --- drivers/net/ethernet/intel/igb/igb_main.c | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c index 03f78fd..8757ad0 100644 --- a/drivers/net/ethernet/intel/igb/igb_main.c +++ b/drivers/net/ethernet/intel/igb/igb_main.c @@ -5959,15 +5959,6 @@ static int igb_tso(struct igb_ring *tx_ring, return 1; } -static inline bool igb_ipv6_csum_is_sctp(struct sk_buff *skb) -{ - unsigned int offset = 0; - - ipv6_find_hdr(skb, &offset, IPPROTO_SCTP, NULL, NULL); - - return offset == skb_checksum_start_offset(skb); -} - static void igb_tx_csum(struct igb_ring *tx_ring, struct igb_tx_buffer *first) { struct sk_buff *skb = first->skb; @@ -5990,10 +5981,7 @@ static void igb_tx_csum(struct igb_ring *tx_ring, struct igb_tx_buffer *first) break; case offsetof(struct sctphdr, checksum): /* validate that this is actually an SCTP request */ - if (((first->protocol == htons(ETH_P_IP)) && - (ip_hdr(skb)->protocol == IPPROTO_SCTP)) || - ((first->protocol == htons(ETH_P_IPV6)) && - igb_ipv6_csum_is_sctp(skb))) { + if (skb_csum_is_sctp(skb)) { type_tucmd = E1000_ADVTXD_TUCMD_L4T_SCTP; break; } -- 2.1.0
next prev parent reply other threads:[~2021-01-16 6:15 UTC|newest] Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-01-16 6:13 [PATCH net-next 0/6] net: support SCTP CRC csum offload for tunneling packets in some drivers Xin Long 2021-01-16 6:13 ` [PATCH net-next 1/6] net: add inline function skb_csum_is_sctp Xin Long 2021-01-16 6:13 ` Xin Long [this message] 2021-01-16 6:13 ` [PATCH net-next 3/6] net: igbvf: use skb_csum_is_sctp instead of protocol check Xin Long 2021-01-16 6:13 ` [PATCH net-next 4/6] net: igc: " Xin Long 2021-01-16 6:13 ` [PATCH net-next 5/6] net: ixgbe: " Xin Long 2021-01-16 6:13 ` [PATCH net-next 6/6] net: ixgbevf: " Xin Long 2021-01-19 22:25 ` Alexander Duyck 2021-01-19 22:25 ` [PATCH net-next 5/6] net: ixgbe: " Alexander Duyck 2021-01-19 22:24 ` [PATCH net-next 4/6] net: igc: " Alexander Duyck 2021-01-19 22:24 ` [PATCH net-next 3/6] net: igbvf: " Alexander Duyck 2021-01-19 22:24 ` [PATCH net-next 2/6] net: igb: " Alexander Duyck 2021-01-19 22:23 ` [PATCH net-next 1/6] net: add inline function skb_csum_is_sctp Alexander Duyck 2021-01-19 23:35 ` Shannon Nelson 2021-01-19 23:40 ` [PATCH net-next 0/6] net: support SCTP CRC csum offload for tunneling packets in some drivers 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=aa69157e286b0178bf115124f4b2da254e07a291.1610777159.git.lucien.xin@gmail.com \ --to=lucien.xin@gmail.com \ --cc=alexander.duyck@gmail.com \ --cc=anthony.l.nguyen@intel.com \ --cc=davem@davemloft.net \ --cc=intel-wired-lan@lists.osuosl.org \ --cc=jesse.brandeburg@intel.com \ --cc=kuba@kernel.org \ --cc=linux-sctp@vger.kernel.org \ --cc=marcelo.leitner@gmail.com \ --cc=netdev@vger.kernel.org \ --cc=nhorman@tuxdriver.com \ --subject='Re: [PATCH net-next 2/6] net: igb: use skb_csum_is_sctp instead of protocol check' \ /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
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).