netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/1 2.6.28] cxgb3 - remove duplicate tests in lro
@ 2008-09-05  5:34 Divy Le Ray
  2008-09-13 19:35 ` Jeff Garzik
  0 siblings, 1 reply; 2+ messages in thread
From: Divy Le Ray @ 2008-09-05  5:34 UTC (permalink / raw)
  To: jeff; +Cc: netdev, linux-kernel, swise

From: Divy Le Ray <divy@chelsio.com>

The generic lro code checks TCP flags/options.
Remove duplicate tests done in the driver.

Signed-off-by: Divy Le Ray <divy@chelsio.com>
---

 drivers/net/cxgb3/sge.c |   35 -----------------------------------
 1 files changed, 0 insertions(+), 35 deletions(-)

diff --git a/drivers/net/cxgb3/sge.c b/drivers/net/cxgb3/sge.c
index 1b0861d..f78a42c 100644
--- a/drivers/net/cxgb3/sge.c
+++ b/drivers/net/cxgb3/sge.c
@@ -1937,38 +1937,6 @@ static inline int lro_frame_ok(const struct cpl_rx_pkt *p)
 		eh->h_proto == htons(ETH_P_IP) && ih->ihl == (sizeof(*ih) >> 2);
 }
 
-#define TCP_FLAG_MASK (TCP_FLAG_CWR | TCP_FLAG_ECE | TCP_FLAG_URG |\
-                       TCP_FLAG_ACK | TCP_FLAG_PSH | TCP_FLAG_RST |\
-		                       TCP_FLAG_SYN | TCP_FLAG_FIN)
-#define TSTAMP_WORD ((TCPOPT_NOP << 24) | (TCPOPT_NOP << 16) |\
-                     (TCPOPT_TIMESTAMP << 8) | TCPOLEN_TIMESTAMP)
-
-/**
- *	lro_segment_ok - check if a TCP segment is eligible for LRO
- *	@tcph: the TCP header of the packet
- *
- *	Returns true if a TCP packet is eligible for LRO.  This requires that
- *	the packet have only the ACK flag set and no TCP options besides
- *	time stamps.
- */
-static inline int lro_segment_ok(const struct tcphdr *tcph)
-{
-	int optlen;
-
-	if (unlikely((tcp_flag_word(tcph) & TCP_FLAG_MASK) != TCP_FLAG_ACK))
-		return 0;
-
-	optlen = (tcph->doff << 2) - sizeof(*tcph);
-	if (optlen) {
-		const u32 *opt = (const u32 *)(tcph + 1);
-
-		if (optlen != TCPOLEN_TSTAMP_ALIGNED ||
-		    *opt != htonl(TSTAMP_WORD) || !opt[2])
-			return 0;
-	}
-	return 1;
-}
-
 static int t3_get_lro_header(void **eh,  void **iph, void **tcph,
 			     u64 *hdr_flags, void *priv)
 {
@@ -1981,9 +1949,6 @@ static int t3_get_lro_header(void **eh,  void **iph, void **tcph,
 	*iph = (struct iphdr *)((struct ethhdr *)*eh + 1);
 	*tcph = (struct tcphdr *)((struct iphdr *)*iph + 1);
 
-	 if (!lro_segment_ok(*tcph))
-		return -1;
-
 	*hdr_flags = LRO_IPV4 | LRO_TCP;
 	return 0;
 }


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH 1/1 2.6.28] cxgb3 - remove duplicate tests in lro
  2008-09-05  5:34 [PATCH 1/1 2.6.28] cxgb3 - remove duplicate tests in lro Divy Le Ray
@ 2008-09-13 19:35 ` Jeff Garzik
  0 siblings, 0 replies; 2+ messages in thread
From: Jeff Garzik @ 2008-09-13 19:35 UTC (permalink / raw)
  To: Divy Le Ray; +Cc: netdev, linux-kernel, swise

Divy Le Ray wrote:
> From: Divy Le Ray <divy@chelsio.com>
> 
> The generic lro code checks TCP flags/options.
> Remove duplicate tests done in the driver.
> 
> Signed-off-by: Divy Le Ray <divy@chelsio.com>
> ---
> 
>  drivers/net/cxgb3/sge.c |   35 -----------------------------------
>  1 files changed, 0 insertions(+), 35 deletions(-)
> 
> diff --git a/drivers/net/cxgb3/sge.c b/drivers/net/cxgb3/sge.c
> index 1b0861d..f78a42c 100644
> --- a/drivers/net/cxgb3/sge.c
> +++ b/drivers/net/cxgb3/sge.c
> @@ -1937,38 +1937,6 @@ static inline int lro_frame_ok(const struct cpl_rx_pkt *p)
>  		eh->h_proto == htons(ETH_P_IP) && ih->ihl == (sizeof(*ih) >> 2);
>  }
>  
> -#define TCP_FLAG_MASK (TCP_FLAG_CWR | TCP_FLAG_ECE | TCP_FLAG_URG |\
> -                       TCP_FLAG_ACK | TCP_FLAG_PSH | TCP_FLAG_RST |\
> -		                       TCP_FLAG_SYN | TCP_FLAG_FIN)
> -#define TSTAMP_WORD ((TCPOPT_NOP << 24) | (TCPOPT_NOP << 16) |\
> -                     (TCPOPT_TIMESTAMP << 8) | TCPOLEN_TIMESTAMP)
> -
> -/**
> - *	lro_segment_ok - check if a TCP segment is eligible for LRO
> - *	@tcph: the TCP header of the packet
> - *
> - *	Returns true if a TCP packet is eligible for LRO.  This requires that
> - *	the packet have only the ACK flag set and no TCP options besides
> - *	time stamps.
> - */
> -static inline int lro_segment_ok(const struct tcphdr *tcph)
> -{
> -	int optlen;
> -
> -	if (unlikely((tcp_flag_word(tcph) & TCP_FLAG_MASK) != TCP_FLAG_ACK))
> -		return 0;
> -
> -	optlen = (tcph->doff << 2) - sizeof(*tcph);
> -	if (optlen) {
> -		const u32 *opt = (const u32 *)(tcph + 1);
> -
> -		if (optlen != TCPOLEN_TSTAMP_ALIGNED ||
> -		    *opt != htonl(TSTAMP_WORD) || !opt[2])
> -			return 0;
> -	}
> -	return 1;
> -}
> -
>  static int t3_get_lro_header(void **eh,  void **iph, void **tcph,
>  			     u64 *hdr_flags, void *priv)

applied



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-09-13 19:35 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-05  5:34 [PATCH 1/1 2.6.28] cxgb3 - remove duplicate tests in lro Divy Le Ray
2008-09-13 19:35 ` Jeff Garzik

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).