Hello, On Sat, 6 Nov 2010, Simon Horman wrote:
This is a first attempt at allowing LVS to transmit skbs of greater than MTU length that have been aggregated by GRO. I have lightly tested the ip_vs_dr_xmit() portion of this patch and although it seems to work I am unsure that netif_needs_gso() is the correct test to use.
ip_forward() uses !skb_is_gso(skb), so may be it is enough to check for GRO instead of using netif_needs_gso?
Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> --- * LRO is still an outstanding issue, but as its deprecated in favour of GRO perhaps it doesn't need to be solved. * v1 - Based on 2.6.35 * v2 - Rebase on current nf-next-2.6 tree (~2.6.37-rc1)
--- lvs-test-2.6.orig/net/netfilter/ipvs/ip_vs_xmit.c 2010-10-30 11:43:37.000000000 +0900 +++ lvs-test-2.6/net/netfilter/ipvs/ip_vs_xmit.c 2010-11-06 08:09:17.000000000 +0900
@@ -1008,7 +1012,8 @@ ip_vs_dr_xmit(struct sk_buff *skb, struc /* MTU checking */ mtu = dst_mtu(&rt->dst); - if ((iph->frag_off & htons(IP_DF)) && skb->len > mtu) { + if ((iph->frag_off & htons(IP_DF)) && skb->len > mtu && + !netif_needs_gso(rt->dst.dev, skb)) { icmp_send(skb, ICMP_DEST_UNREACH,ICMP_FRAG_NEEDED, htonl(mtu)); ip_rt_put(rt); IP_VS_DBG_RL("%s(): frag needed\n", __func__);
Regards -- Julian Anastasov <ja@xxxxxx> -- To unsubscribe from this list: send the line "unsubscribe lvs-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html