Hello,
TCP checksum is not optional, why this change appeared?
On Fri, 5 Sep 2008, Simon Horman wrote:
> Index: lvs-2.6/net/ipv4/ipvs/ip_vs_proto_tcp.c
> ===================================================================
> --- lvs-2.6.orig/net/ipv4/ipvs/ip_vs_proto_tcp.c 2008-09-03
> 10:56:05.000000000 +1000
> +++ lvs-2.6/net/ipv4/ipvs/ip_vs_proto_tcp.c 2008-09-03 11:24:26.000000000
> +1000
> @@ -166,7 +166,7 @@ tcp_snat_handler(struct sk_buff *skb,
> tcph->source = cp->vport;
>
> /* Adjust TCP checksums */
> - if (!cp->app) {
> + if (!cp->app && (tcph->check != 0)) {
> /* Only port and addr are changed, do fast csum update */
> tcp_fast_csum_update(cp->af, tcph, &cp->daddr, &cp->vaddr,
> cp->dport, cp->vport);
> @@ -235,7 +235,7 @@ tcp_dnat_handler(struct sk_buff *skb,
> /*
> * Adjust TCP checksums
> */
> - if (!cp->app) {
> + if (!cp->app && (tcph->check != 0)) {
> /* Only port and addr are changed, do fast csum update */
> tcp_fast_csum_update(cp->af, tcph, &cp->vaddr, &cp->daddr,
> cp->vport, cp->dport);
> --
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
|