[ovs-dev] [PATCH 10/19] capwap: Bind address should be big endian.

Jesse Gross jesse at nicira.com
Thu Dec 9 06:14:08 UTC 2010


CAPWAP creates a UDP socket that accepts packets from any address using
INADDR_ANY.  IP addresses should be in network byte order but that
constant is in host byte order, so use htonl.  However, this is not a
real bug since the value of INADDR_ANY is 0.

Found with sparse.

Signed-off-by: Jesse Gross <jesse at nicira.com>
---
 datapath/vport-capwap.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/datapath/vport-capwap.c b/datapath/vport-capwap.c
index 3f6f941..e17d85f 100644
--- a/datapath/vport-capwap.c
+++ b/datapath/vport-capwap.c
@@ -237,7 +237,7 @@ static int capwap_init(void)
 		goto error;
 
 	sin.sin_family = AF_INET;
-	sin.sin_addr.s_addr = INADDR_ANY;
+	sin.sin_addr.s_addr = htonl(INADDR_ANY);
 	sin.sin_port = htons(CAPWAP_DST_PORT);
 
 	err = kernel_bind(capwap_rcv_socket, (struct sockaddr *)&sin,
-- 
1.7.1





More information about the dev mailing list