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