[IPVS]: More endianness fixed.
authorJulian Anastasov <ja@ssi.bg>
Fri, 10 Nov 2006 22:57:37 +0000 (14:57 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 10 Nov 2006 22:57:37 +0000 (14:57 -0800)
- make sure port in FTP data is in network order (in fact it was looking
buggy for big endian boxes before Viro's changes)
- htonl -> htons for port

Signed-off-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/ipvs/ip_vs_ftp.c
net/ipv4/ipvs/ip_vs_proto_tcp.c
net/ipv4/ipvs/ip_vs_proto_udp.c

index 6d398f10aa9170881b8f383382b2c96286460a7d..687c1de1146fa7a6b510a88e563c8ab6037c48b4 100644 (file)
@@ -200,7 +200,7 @@ static int ip_vs_ftp_out(struct ip_vs_app *app, struct ip_vs_conn *cp,
                from = n_cp->vaddr;
                port = n_cp->vport;
                sprintf(buf,"%d,%d,%d,%d,%d,%d", NIPQUAD(from),
-                       ntohs(port)&255, (ntohs(port)>>8)&255);
+                       (ntohs(port)>>8)&255, ntohs(port)&255);
                buf_len = strlen(buf);
 
                /*
index bfe779e74590e14be21af29fa35c6a54551ec231..6ff05c3a32e67913191c114dc2644dbfafbfe1fd 100644 (file)
@@ -117,7 +117,7 @@ tcp_fast_csum_update(struct tcphdr *tcph, __be32 oldip, __be32 newip,
 {
        tcph->check =
                ip_vs_check_diff(~oldip, newip,
-                                ip_vs_check_diff(oldport ^ htonl(0xFFFF),
+                                ip_vs_check_diff(oldport ^ htons(0xFFFF),
                                                  newport, tcph->check));
 }
 
index 54aa7603591f5c3e9091cb341d6ae4aab4bcd96f..691c8b637b2937bb6ab62574a4bd5dac76d200b6 100644 (file)
@@ -122,10 +122,10 @@ udp_fast_csum_update(struct udphdr *uhdr, __be32 oldip, __be32 newip,
 {
        uhdr->check =
                ip_vs_check_diff(~oldip, newip,
-                                ip_vs_check_diff(oldport ^ htonl(0xFFFF),
+                                ip_vs_check_diff(oldport ^ htons(0xFFFF),
                                                  newport, uhdr->check));
        if (!uhdr->check)
-               uhdr->check = htonl(0xFFFF);
+               uhdr->check = -1;
 }
 
 static int
@@ -173,7 +173,7 @@ udp_snat_handler(struct sk_buff **pskb,
                                                cp->protocol,
                                                (*pskb)->csum);
                if (udph->check == 0)
-                       udph->check = htonl(0xFFFF);
+                       udph->check = -1;
                IP_VS_DBG(11, "O-pkt: %s O-csum=%d (+%zd)\n",
                          pp->name, udph->check,
                          (char*)&(udph->check) - (char*)udph);
@@ -228,7 +228,7 @@ udp_dnat_handler(struct sk_buff **pskb,
                                                cp->protocol,
                                                (*pskb)->csum);
                if (udph->check == 0)
-                       udph->check = 0xFFFF;
+                       udph->check = -1;
                (*pskb)->ip_summed = CHECKSUM_UNNECESSARY;
        }
        return 1;