From 2e4d002cff8f6512f08192252365c51829e571db Mon Sep 17 00:00:00 2001 From: Adrian Bondrescu Date: Thu, 10 May 2012 22:36:10 +0300 Subject: [PATCH] Add support for multiple IP/port pairs in swift_sockaddr. Also add the user space tests for testing this support. --- test/client.c | 30 +++++++++++++++--------------- test/server.c | 16 ++++++++-------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/test/client.c b/test/client.c index 8a1a57d..5e1a0a1 100644 --- a/test/client.c +++ b/test/client.c @@ -1,4 +1,4 @@ -#include "../src/kernel/swift.h" +#include "../src/kernel/mptp.h" #include #include @@ -8,14 +8,14 @@ #include #include -#define ADDR 0x8082A8C0 -#define DADDR 0x8082A8C0 +#define ADDR 0x8182A8C0 +#define DADDR 0x8182A8C0 int gen_port() { int ret; srand(time(NULL)); - ret = (rand() % 255) + 1; + ret = (rand() % 65536) + 1; if (ret == 100 || ret == 101) ret *= 2; printf("Generated source port %d\n", ret); @@ -26,19 +26,19 @@ int main(int argc, const char *argv[]) { int sock; - sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_SWIFT); + sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_MPTP); if (sock < 0) { perror("Failed to create socket"); return -1; } - int size = sizeof(struct sockaddr_swift) + sizeof(struct swift_dest); - struct sockaddr_swift *saddr = malloc(size); + int size = sizeof(struct sockaddr_mptp) + sizeof(struct mptp_dest); + struct sockaddr_mptp *saddr = malloc(size); memset(saddr, 0, size); saddr->count = 1; - saddr->dests[0].addr = ADDR; - saddr->dests[0].port = gen_port(); + inet_aton(ADDR, &(saddr->dests[0].addr)); + saddr->dests[0].port = htons(gen_port()); if (bind(sock, (struct sockaddr *) saddr, size) < 0) { perror("Failed to bind socket"); @@ -50,8 +50,8 @@ int main(int argc, const char *argv[]) char buf2[] = "Buffer2"; struct iovec iov[2]; struct msghdr msg; - int size2 = sizeof(struct sockaddr_swift) + 2 * sizeof(struct swift_dest); - struct sockaddr_swift *to = malloc(size2); + int size2 = sizeof(struct sockaddr_mptp) + 2 * sizeof(struct mptp_dest); + struct sockaddr_mptp *to = malloc(size2); memset(&msg, 0, sizeof(msg)); memset(&iov, 0, sizeof(iov)); @@ -63,10 +63,10 @@ int main(int argc, const char *argv[]) iov[1].iov_len = sizeof(buf2); to->count = 2; - to->dests[0].addr = 0x0100007F; - to->dests[0].port = 100; - to->dests[1].addr = 0x0100007F; - to->dests[1].port = 101; + inet_aton(DADDR, &(to->dests[0].addr)); + to->dests[0].port = htons(100); + inet_aton(DADDR, &(to->dests[1].addr)); + to->dests[1].port = htons(101); msg.msg_iov = iov; msg.msg_iovlen = 2; diff --git a/test/server.c b/test/server.c index 8d62f0b..ee1ac89 100644 --- a/test/server.c +++ b/test/server.c @@ -1,4 +1,4 @@ -#include "../src/kernel/swift.h" +#include "../src/kernel/mptp.h" #include #include @@ -20,19 +20,19 @@ int main(int argc, const char *argv[]) return -1; } - sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_SWIFT); + sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_MPTP); if (sock < 0) { perror("Failed to create socket"); return -1; } - int size = sizeof(struct sockaddr_swift) + sizeof(struct swift_dest); - struct sockaddr_swift *saddr = malloc(size); + int size = sizeof(struct sockaddr_mptp) + sizeof(struct mptp_dest); + struct sockaddr_mptp *saddr = malloc(size); memset(saddr, 0, size); saddr->count = 1; - saddr->dests[0].addr = 0x0100007F; - saddr->dests[0].port = atoi(argv[1]); + inet_aton(ADDR, &(saddr->dests[0].addr)); + saddr->dests[0].port = htons(atoi(argv[1])); if (bind(sock, (struct sockaddr *) saddr, size) < 0) { perror("Failed to bind socket"); @@ -43,8 +43,8 @@ int main(int argc, const char *argv[]) char buf[NUM_BUF][10240]; struct iovec iov[NUM_BUF]; struct msghdr msg; - size += (NUM_BUF - 1) * sizeof(struct swift_dest); - struct sockaddr_swift *from = malloc(size); + size += (NUM_BUF - 1) * sizeof(struct mptp_dest); + struct sockaddr_mptp *from = malloc(size); memset(&msg, 0, sizeof(msg)); memset(&iov, 0, sizeof(iov)); -- 2.20.1