From 16fa5d13c3a427935b82c5b85130864466c5f287 Mon Sep 17 00:00:00 2001 From: HappyZ Date: Tue, 27 Sep 2016 11:47:14 -0700 Subject: [PATCH] bug fix, add client recv normal tcp splice --- offloading_binaries/Splice_recv/main.c | 177 ------------------ offloading_binaries/Splice_recv/splice_recv | Bin 12824 -> 0 bytes offloading_binaries/Splice_recv_lo/Makefile | 20 -- offloading_binaries/Splice_recv_lo/main.c | 176 ----------------- offloading_binaries/Splice_recv_lo/main.o | Bin 3492 -> 0 bytes .../Splice_recv_lo/splice_recv_lo | Bin 12824 -> 0 bytes .../client_recv_normaltcp | Bin 12776 -> 12776 bytes .../client_recv_normaltcp/main.c | 2 +- .../client_recv_normaltcp/main.o | Bin 3248 -> 3248 bytes .../Makefile | 5 +- .../client_recv_normaltcp_splice | Bin 0 -> 6624 bytes .../client_recv_normaltcp_splice/main.c | 140 ++++++++++++++ .../client_recv_normaltcp_splice/main.o | Bin 0 -> 3116 bytes .../client_recv_normaludp | Bin 12756 -> 12756 bytes .../client_recv_normaludp/main.c | 2 +- .../client_recv_normaludp/main.o | Bin 3372 -> 3372 bytes .../client_send_bypassl3/client_send_bypassl3 | Bin 51784 -> 51784 bytes .../client_send_bypassl3/main.c | 4 +- .../client_send_bypassl3/main.o | Bin 6512 -> 6500 bytes offloading_binaries/makeall.sh | 2 + offloading_binaries/pushBinToDevice.sh | 2 + 21 files changed, 151 insertions(+), 379 deletions(-) delete mode 100644 offloading_binaries/Splice_recv/main.c delete mode 100755 offloading_binaries/Splice_recv/splice_recv delete mode 100644 offloading_binaries/Splice_recv_lo/Makefile delete mode 100644 offloading_binaries/Splice_recv_lo/main.c delete mode 100644 offloading_binaries/Splice_recv_lo/main.o delete mode 100755 offloading_binaries/Splice_recv_lo/splice_recv_lo rename offloading_binaries/{Splice_recv => client_recv_normaltcp_splice}/Makefile (73%) create mode 100755 offloading_binaries/client_recv_normaltcp_splice/client_recv_normaltcp_splice create mode 100644 offloading_binaries/client_recv_normaltcp_splice/main.c create mode 100644 offloading_binaries/client_recv_normaltcp_splice/main.o diff --git a/offloading_binaries/Splice_recv/main.c b/offloading_binaries/Splice_recv/main.c deleted file mode 100644 index 873124f..0000000 --- a/offloading_binaries/Splice_recv/main.c +++ /dev/null @@ -1,177 +0,0 @@ -/* - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#define _GNU_SOURCE /* See feature_test_macros(7) */ -#include -#include -#include - -#define ETH_P_IP 0x0800 /* Internet Protocol packet */ -#define ETH_ALEN 6 /* from */ -#define ETH_P_ALL 0x0003 - -#define MY_DEST_MAC0 0xba -#define MY_DEST_MAC1 0xf6 -#define MY_DEST_MAC2 0xb1 -#define MY_DEST_MAC3 0x71 -#define MY_DEST_MAC4 0x09 -#define MY_DEST_MAC5 0x64 - -#define DEFAULT_IF "wlan0" -#define BUF_SIZ 8192 - -int main(int argc, char *argv[]) -{ - int sockfd, listenfd; - socklen_t clilen; - struct ifreq if_idx; - struct ifreq if_mac; - int tx_len = 0; - char sendbuf[BUF_SIZ]; - struct ether_header *eh = (struct ether_header *) sendbuf; - struct iphdr *iph = (struct iphdr *) (sendbuf + sizeof(struct ether_header)); - struct sockaddr_ll socket_address; - char ifName[IFNAMSIZ]; - int i, j, ret=0, sendsize=1488, packet_num, offset = 0, port = 4445; - int fd; /* file descriptor for file to send */ - int outstanding; - struct timeval t_start,t_end; - ssize_t bytes, bytes_sent, bytes_in_pipe; - size_t total_bytes_sent = 0; - - struct sockaddr_in servaddr,cliaddr; - - - int filedes [2]; - ret = pipe (filedes); - - if (argc > 1) - packet_num = atoi(argv[1]); - else - packet_num = 166666*sendsize; - - if (argc > 2) - port = atoi(argv[2]); - - //sockfd = socket(AF_INET, SOCK_STREAM, 0); - //bzero(&servaddr,sizeof(servaddr)); - //servaddr.sin_family = AF_INET; - //servaddr.sin_addr.s_addr=inet_addr("128.111.68.220"); - //servaddr.sin_port=htons(4444); - - sockfd = socket(AF_INET, SOCK_STREAM, 0); - - bzero(&servaddr,sizeof(servaddr)); - servaddr.sin_family = AF_INET; - servaddr.sin_addr.s_addr=inet_addr("128.111.68.220"); - servaddr.sin_port=htons(port); - - - fd = open("/data/local/tmp/bigfile_w", O_WRONLY | O_CREAT | O_TRUNC); - if (fd == -1) { - fprintf(stderr, "unable to open the file.\n"); - exit(1); - } - - //setsockopt(sockfd, IPPROTO_TCP, TCP_NODELAY, (char *) &ret, sizeof(int)); - //ioctl(sockfd, SIOCOUTQ, &outstanding); - //printf("outstanding:%d\n", outstanding); - - gettimeofday(&t_start, NULL); - if (connect(sockfd, (struct sockaddr *)&servaddr, sizeof(servaddr)) < 0) - { - fprintf(stderr, "unable to connect the server.\n"); - exit(1); - } - while (total_bytes_sent < packet_num) - { - // Splice the data from in_fd into the pipe - if ((bytes_sent = splice(sockfd, NULL, filedes[1], NULL, - 4096, - SPLICE_F_MORE | SPLICE_F_MOVE)) <= 0) { - if (errno == EINTR || errno == EAGAIN) { - // Interrupted system call/try again - // Just skip to the top of the loop and try again - printf("in error: %d\n", bytes_sent); - fflush(stdout); - usleep(100); - continue; - } - perror("splice"); - return -1; - } - - //printf("%d\n", bytes_sent); - //fflush(stdout); - - - // Splice the data from the pipe into out_fd - bytes_in_pipe = bytes_sent; - while (bytes_in_pipe > 0) { - if ((bytes = splice(filedes[0], NULL, fd, NULL, bytes_in_pipe, - SPLICE_F_MORE | SPLICE_F_MOVE)) <= 0) { - if (errno == EINTR || errno == EAGAIN) { - // Interrupted system call/try again - // Just skip to the top of the loop and try again - printf("out error: %d\n", bytes_sent); - fflush(stdout); - continue; - } - perror("splice"); - return -1; - } - bytes_in_pipe -= bytes; - } - - //printf("%d, %d\n", bytes_sent, total_bytes_sent); - //fflush(stdout); - - total_bytes_sent += bytes_sent; - - /* - for(;;) - { - ioctl(sockfd, SIOCOUTQ, &outstanding); - printf("outstanding:%d\n", outstanding); - if (outstanding>0) - { - usleep(100); - } - else - { - break; - } - } - */ - - //ret = splice (fd, (off64_t *)&offset, filedes[1], NULL, sendsize, SPLICE_F_MORE | SPLICE_F_MOVE); - //ret = sendfile(sockfd, fd, (off_t *)&offset, sendsize); - //offset += total_bytes_sent; - //printf("sent:%d, total:%d\n", bytes_sent, total_bytes_sent); - } - close(sockfd); - gettimeofday(&t_end, NULL); - printf("%lf\n", (t_end.tv_sec-t_start.tv_sec)*1000.0+(t_end.tv_usec-t_start.tv_usec)/1000.0); - - close(fd); - - return 0; -} diff --git a/offloading_binaries/Splice_recv/splice_recv b/offloading_binaries/Splice_recv/splice_recv deleted file mode 100755 index a9fa81255124d382dde602488643913256a493fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12824 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 d5wgn-LdP>o&Q;OTcd -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#define _GNU_SOURCE /* See feature_test_macros(7) */ -#include -#include -#include - -#define ETH_P_IP 0x0800 /* Internet Protocol packet */ -#define ETH_ALEN 6 /* from */ -#define ETH_P_ALL 0x0003 - -#define MY_DEST_MAC0 0xba -#define MY_DEST_MAC1 0xf6 -#define MY_DEST_MAC2 0xb1 -#define MY_DEST_MAC3 0x71 -#define MY_DEST_MAC4 0x09 -#define MY_DEST_MAC5 0x64 - -#define DEFAULT_IF "wlan0" -#define BUF_SIZ 8192 - -int main(int argc, char *argv[]) -{ - int sockfd, listenfd; - socklen_t clilen; - struct ifreq if_idx; - struct ifreq if_mac; - int tx_len = 0; - char sendbuf[BUF_SIZ]; - struct ether_header *eh = (struct ether_header *) sendbuf; - struct iphdr *iph = (struct iphdr *) (sendbuf + sizeof(struct ether_header)); - struct sockaddr_ll socket_address; - char ifName[IFNAMSIZ]; - int i, j, ret=0, sendsize=1488, packet_num, offset = 0, port = 4445; - int fd; /* file descriptor for file to send */ - int outstanding; - struct timeval t_start,t_end; - ssize_t bytes, bytes_sent, bytes_in_pipe; - size_t total_bytes_sent = 0; - - struct sockaddr_in servaddr,cliaddr; - - - int filedes [2]; - ret = pipe (filedes); - - if (argc > 1) - packet_num = atoi(argv[1]); - else - packet_num = 166666*sendsize; - - if (argc > 2) - port = atoi(argv[2]); - - //sockfd = socket(AF_INET, SOCK_STREAM, 0); - //bzero(&servaddr,sizeof(servaddr)); - //servaddr.sin_family = AF_INET; - //servaddr.sin_addr.s_addr=inet_addr("128.111.68.220"); - //servaddr.sin_port=htons(4444); - - sockfd = socket(AF_INET, SOCK_STREAM, 0); - - bzero(&servaddr,sizeof(servaddr)); - servaddr.sin_family = AF_INET; - servaddr.sin_addr.s_addr=inet_addr("192.168.1.15"); - servaddr.sin_port=htons(port); - - - fd = open("/data/local/tmp/bigfile_w", O_WRONLY | O_CREAT | O_TRUNC); - if (fd == -1) { - fprintf(stderr, "unable to open the file.\n"); - exit(1); - } - - //setsockopt(sockfd, IPPROTO_TCP, TCP_NODELAY, (char *) &ret, sizeof(int)); - //ioctl(sockfd, SIOCOUTQ, &outstanding); - //printf("outstanding:%d\n", outstanding); - - gettimeofday(&t_start, NULL); - if (connect(sockfd, (struct sockaddr *)&servaddr, sizeof(servaddr)) < 0) - { - fprintf(stderr, "unable to connect the server.\n"); - exit(1); - } - while (total_bytes_sent < packet_num) - { - // Splice the data from in_fd into the pipe - if ((bytes_sent = splice(sockfd, NULL, filedes[1], NULL, - 4096, - SPLICE_F_MORE | SPLICE_F_MOVE)) <= 0) { - if (errno == EINTR || errno == EAGAIN) { - // Interrupted system call/try again - // Just skip to the top of the loop and try again - printf("in error: %d\n", bytes_sent); - fflush(stdout); - usleep(100); - continue; - } - perror("splice"); - return -1; - } - -// printf("%d\n", bytes_sent); -// fflush(stdout); - - // Splice the data from the pipe into out_fd - bytes_in_pipe = bytes_sent; - while (bytes_in_pipe > 0) { - if ((bytes = splice(filedes[0], NULL, fd, NULL, bytes_in_pipe, - SPLICE_F_MORE | SPLICE_F_MOVE)) <= 0) { - if (errno == EINTR || errno == EAGAIN) { - // Interrupted system call/try again - // Just skip to the top of the loop and try again - printf("out error: %d\n", bytes_sent); - fflush(stdout); - continue; - } - perror("splice"); - return -1; - } - bytes_in_pipe -= bytes; - } - -// printf("%d, %d\n", bytes_sent, total_bytes_sent); -// fflush(stdout); - - total_bytes_sent += bytes_sent; - - /* - for(;;) - { - ioctl(sockfd, SIOCOUTQ, &outstanding); - printf("outstanding:%d\n", outstanding); - if (outstanding>0) - { - usleep(100); - } - else - { - break; - } - } - */ - - //ret = splice (fd, (off64_t *)&offset, filedes[1], NULL, sendsize, SPLICE_F_MORE | SPLICE_F_MOVE); - //ret = sendfile(sockfd, fd, (off_t *)&offset, sendsize); - //offset += total_bytes_sent; - //printf("sent:%d, total:%d\n", bytes_sent, total_bytes_sent); - } - close(sockfd); - gettimeofday(&t_end, NULL); - printf("%lf\n", (t_end.tv_sec-t_start.tv_sec)*1000.0+(t_end.tv_usec-t_start.tv_usec)/1000.0); - - close(fd); - - return 0; -} diff --git a/offloading_binaries/Splice_recv_lo/main.o b/offloading_binaries/Splice_recv_lo/main.o deleted file mode 100644 index 9f831b142e40e7836bdd85118e0f135905dc0f85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3492 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 XXOyg~p=0l2ncfLpmg^iLWDfctY6?>+ diff --git a/offloading_binaries/client_recv_normaltcp/client_recv_normaltcp b/offloading_binaries/client_recv_normaltcp/client_recv_normaltcp index e27ac9ef4487f6b03754bf6b2bf1bc47345f11ab..3583e5662862e4fa66d7c8113db62d5425c8e04e 100755 GIT binary patch delta 14 VcmaEn{33aS2M43TW>1d!ngB5u1#|!a delta 14 VcmaEn{33aS2L~g^W>1d!ngB581#AES diff --git a/offloading_binaries/client_recv_normaltcp/main.c b/offloading_binaries/client_recv_normaltcp/main.c index 07d2a39..37e75bc 100644 --- a/offloading_binaries/client_recv_normaltcp/main.c +++ b/offloading_binaries/client_recv_normaltcp/main.c @@ -67,7 +67,7 @@ int main(int argc, char *argv[]) { fd = open(argv[4], O_WRONLY | O_CREAT | O_TRUNC); if (fd == -1) { - fprintf(stderr, "! Unable to open file %s.\n", argv[2]); + fprintf(stderr, "! Unable to open file %s.\n", argv[4]); close(sockfd); exit(1); } diff --git a/offloading_binaries/client_recv_normaltcp/main.o b/offloading_binaries/client_recv_normaltcp/main.o index 843865e05b5008d067811c8bea1e8b830ebff5fa..e22cc65a5e5b9c559e361c99dcaa51d5ae990a1c 100644 GIT binary patch delta 14 VcmdlWxj}M63lpQj=2j+cE&wJv1W5n@ delta 14 VcmdlWxj}M63lk&9=2j+cE&wJ91VI1* diff --git a/offloading_binaries/Splice_recv/Makefile b/offloading_binaries/client_recv_normaltcp_splice/Makefile similarity index 73% rename from offloading_binaries/Splice_recv/Makefile rename to offloading_binaries/client_recv_normaltcp_splice/Makefile index 253d69d..52cf339 100644 --- a/offloading_binaries/Splice_recv/Makefile +++ b/offloading_binaries/client_recv_normaltcp_splice/Makefile @@ -1,6 +1,7 @@ CC = arm-linux-androideabi-gcc +# CC = gcc CFLAGS = -pie -fPIE -TARGET = splice_recv +TARGET = client_recv_normaltcp_splice OBJS = $(patsubst %.c, %.o, $(wildcard *.c)) HEADERS = $(wildcard *.h) @@ -14,7 +15,7 @@ all: $(TARGET) $(TARGET): $(OBJS) $(CC) $(OBJS) -Wall $(CFLAGS) -o $@ - cp $(TARGET) /media/Lucifer/yanzi/projects/offloading/RDMAMobileDemo/app/src/main/assets/ + clean: -rm -f *.o -rm -f $(TARGET) diff --git a/offloading_binaries/client_recv_normaltcp_splice/client_recv_normaltcp_splice b/offloading_binaries/client_recv_normaltcp_splice/client_recv_normaltcp_splice new file mode 100755 index 0000000000000000000000000000000000000000..510a4759ba232934d2a06a36100d9af473c36f05 GIT binary patch literal 6624 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 +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define BUF_SIZ 65536 + +int main(int argc, char *argv[]) +{ + // defaults + uint total_bytes_recv = 0; + uint bytes, bytes_recv, bytes_in_pipe; + // for timing + double elapsedTime; + struct timeval t_start, t_end, t_now; + // for socket + int fd; // file descriptor of file to send + int sockfd; // socket + char recvbuf[BUF_SIZ]; + struct sockaddr_in servaddr; + // for misc + int ret; + int recvsize = 4096; + // create two pipes + int filedes[2]; + ret = pipe(filedes); + + if (argc < 3) + { + printf("Usage: %s <[optional] recvsize (bytes)> <[optional] filepath>\n", argv[0]); + exit(0); + } + + // set sendsize (if larger than 1460 will do packetization (fragmentation)) + if (argc > 3) + recvsize = atoi(argv[3]); + + // bind socket + sockfd = socket(AF_INET, SOCK_STREAM, 0); + bzero(&servaddr, sizeof(servaddr)); + servaddr.sin_family = AF_INET; + servaddr.sin_addr.s_addr = inet_addr(argv[2]); + servaddr.sin_port = htons(atoi(argv[3])); + + // connect socket + if (connect(sockfd, (struct sockaddr *)&servaddr, sizeof(servaddr)) < 0) + { + fprintf(stderr, "! Unable to connect the server.\n"); + exit(1); + } + + // if instrument to write to a file + if (argc > 4) + { + fd = open(argv[4], O_WRONLY | O_CREAT | O_TRUNC); + if (fd == -1) { + fprintf(stderr, "! Unable to open file %s.\n", argv[4]); + close(sockfd); + exit(1); + } + } + else + { + fd = open("/dev/null", O_WRONLY); + if (fd == -1) { + fprintf(stderr, "! Unable to open file %s.\n", argv[2]); + close(sockfd); + exit(1); + } + } + + // start timing + gettimeofday(&t_start, NULL); + + // start to receive + for (;;) + { + // printf("before: total_bytes_recv %d\n", total_bytes_recv); + + // Splice the data from in_fd into the pipe + if ((bytes_recv = splice(sockfd, NULL, filedes[1], NULL, + recvsize, SPLICE_F_MORE | SPLICE_F_MOVE)) <= 0) { + if (errno == EINTR || errno == EAGAIN) { + // Interrupted system call/try again + // Just skip to the top of the loop and try again + continue; + } + fprintf(stderr, "! splice error, errno: %d.\n", errno); + exit(1); + } + + // Splice the data from the pipe into out_fd + bytes_in_pipe = bytes_recv; + while (bytes_in_pipe > 0) { + if ((bytes = splice(filedes[0], NULL, fd, NULL, bytes_in_pipe, + SPLICE_F_MORE | SPLICE_F_MOVE)) <= 0) { + if (errno == EINTR || errno == EAGAIN) { + // Interrupted system call/try again + // Just skip to the top of the loop and try again + continue; + } + fprintf(stderr, "! splice error, errno: %d.\n", errno); + exit(1); + } + bytes_in_pipe -= bytes; + } + + total_bytes_recv += bytes_recv; + // printf("after: total_bytes_recv %d\n", total_bytes_recv); + } + + // end timing + gettimeofday(&t_end, NULL); + elapsedTime = (t_end.tv_sec - t_start.tv_sec) + (t_end.tv_usec - t_start.tv_usec) / 1000000.0; + printf( + "recv(bytes):%d\nduration(s):%lf\nthroughput(bps):%lf\n", + total_bytes_recv, elapsedTime, total_bytes_recv * 8 / elapsedTime); + + close(sockfd); + close(fd); + + return 0; +} diff --git a/offloading_binaries/client_recv_normaltcp_splice/main.o b/offloading_binaries/client_recv_normaltcp_splice/main.o new file mode 100644 index 0000000000000000000000000000000000000000..2ab6da59039f175e15c3d5a9ad61caea22ca8653 GIT binary patch literal 3116 zcmbVOPiz!b82@HxTMKP;Ek%~H;v+0(QCNniXeETOEiEK$1*Jq1Fw1oJ6(($VHZucK zV`3tS;Q+w|OgxZuO*jzbz{wE9!GkAH96S(XOuJ=bL=T#HB(A@2_RV%WY9xNmo8SBX zfA4#LwjYicCp1l?kTlBCGDlQg9ca3S1ISSyt)kSy?LYV2z0%YkPByC#CY##Gp=O^k z);vkNAI?vubpQDNc|W=D>H-;!rIgX@Yr7ju8AfG41s|Oni+{FSzX)2EpETC^2|Buj z)Zd1-rywKan%|S1_Y>mkLIQqzs_jeESmGF=E&J>6e}?G$P{#g!#>FPb2yXqT`k#udzt}(Tvu_&xP8%D1johUi z(O|S+fxWoqXTp4Rv6&9*QG3s|M{9Vpb7j5p9M8pa1bc!U_X0nx2|4bEG5#gTh;b-5 zw}gHKxz%|-BG&jBtc8p#eizPs63F$j9eNtra&Ncc4s2sP^ymfD!!d%M<7{%@l0>Vc zvR=q={RRs}k2`YIoQ%}m7pqxQd%}4JkndIahP|CaoddBt`95)-X~Fd`*J{Am_#d^R z&ns#@Zt%Xe`&$X-I8&;>VXXtm&AAdrd4X#VYQ)+fv|58H=y)wS*9-iXeBNq3oq_m6Rh4zqJF^!L)+TYRW=>b7@N7}GYc*N+gm*>?S32jVlMi0g zsEu8hHNgRpp0ztF^8Ak4xoQT-$8Ixadv;dVpsU%Q%%h;~u4k6d zQoiu^WZv{V$C^Heo*{djqFa-s-&;|=zT#JiNXK84bi&3*NT)99iSSq}^(sCE)WEL; z@;v16-b6?X{4aIFMyuoe_%(@;PTdiX^*w|;7SLV9=to8)V!=6g#rQojz7XRlV*F%` ze<#M5V*E^uKO5ttd&2e2#q=M?_$x8~(-{9njHg-Cs^!a+t&mlF&8$?Ml3APU%&WFt zpXQU2H3LhkTXjiw$EtZVBrjMVnVxNtYnRVT4_?wMaST$|ie}z(EKd^OAevEb<*MyU zIxRiVnw9oU#hjz|9imbxxIR=mP&_Th$;#{P}pEZ{9BC3`-lWVg+)f# z^ZUv6eCF4`h;;+?F4U>;I&g3!(GA5n6y8*LOW_@bXwOs8ORz%AIyZ>_x8yq$QaHsD z@ZToUKBedbvk#8^h_XN1@txnIcq})dM_~ZPvn>x25PGZ3_ffZz9}pV?XYE?HL!eDHy(MO oC<^Tu!!@v~3cKGR?8W?93|Zio$q*0YyaKY5)KL literal 0 HcmV?d00001 diff --git a/offloading_binaries/client_recv_normaludp/client_recv_normaludp b/offloading_binaries/client_recv_normaludp/client_recv_normaludp index 107901def6d3af6645343ced1eb86f937b23e846..8c0b0df75e8befda3f07723c8e2ae4c300519866 100755 GIT binary patch delta 14 VcmcbTd?k6q1$IV(%@^63wE#4=1-}3Q delta 14 VcmcbTd?k6q1$IV`%@^63wE#4Q1-AeI diff --git a/offloading_binaries/client_recv_normaludp/main.c b/offloading_binaries/client_recv_normaludp/main.c index 53255a7..08347fd 100644 --- a/offloading_binaries/client_recv_normaludp/main.c +++ b/offloading_binaries/client_recv_normaludp/main.c @@ -61,7 +61,7 @@ int main(int argc, char *argv[]) { fd = open(argv[4], O_WRONLY | O_CREAT | O_TRUNC); if (fd == -1) { - fprintf(stderr, "! Unable to open file %s.\n", argv[2]); + fprintf(stderr, "! Unable to open file %s.\n", argv[4]); close(sockfd); exit(1); } diff --git a/offloading_binaries/client_recv_normaludp/main.o b/offloading_binaries/client_recv_normaludp/main.o index 234f9db66b5eaa26d2e1cbcfcd776ff361c6fa6c..ecc842afa08338a85e45d817d7b50c5fc765e935 100644 GIT binary patch delta 14 VcmZ1@wMJ@#1rwvdW=p2eTmU1U1aklY delta 14 VcmZ1@wMJ@#1rsC3W=p2eTmU0(1Zw~Q diff --git a/offloading_binaries/client_send_bypassl3/client_send_bypassl3 b/offloading_binaries/client_send_bypassl3/client_send_bypassl3 index 593dace255615c342cfd53534bbdccfd1c2068c9..5862418a280fa77399addcb93134462bcc40c714 100755 GIT binary patch delta 472 zcmX>xh55u3<_RsV8I}wT852A6IWsJP3=rPT$jHydvO(bR!_6YxJGeL(s4y@zwCFi5 z*?d)WzXEG{PGX+H=9y;PjFPGbMio}rh{-3-SJ&IT_+NkE|NnXyAiZJ3hK3Ljy`HJz z1C(#^63Ac4)L`)nB)_6z4w&B1umw!7Y7lt+zkYqurUrvI5d9!}wY^2d87Th&m|oT3 z^A;k12S_utur&OE@ar1_-a!OPfb<&PO${dRfeP1iG{}60XwU)DYwejDdcOUyXJlYt z(D?xoZvoOEgO)(~3qbTb<_3j75b+2g{pH{P`UD{T14x$u=|51K0q9{6pOIm6k>w?p z$qkk~n_cWI7$M=jxzS#|Ku`x5$`HWKAP!_?Oy0TPpRr&w=Z1bpMv2KYH|kGbv0h;E ujg1L{pa=m2CLRV6CQ#&fZVDD*beKH%m^>@U9G%Grk14Z4;_cxh55u3<_RsVC6){fB@;XIIZG^n3=rPT$jHyd!XR+?>1Gk`9bBAiR2UcXy4PN}OKk)y5y#8CqBxK0x^O4KD8>0vSMh4ezD~jrTx>>p2<(K0`Dp0O_^%Obrd+{?{`y zFfb_mfQVNBX^=rPp!_KydL46v$RCKf50L)y?|*#=kp2OrGl29TD9r%$Fo@5{usO~0 z63b>6I}1igcyDgBS1*`+Vxs_K$>g2u{TXXEb8hHoWK@|vbE7_^%jAEW+qBdG0ZJRtun{#pHv>lvyD$_VQRfGXM>m;8Xwr diff --git a/offloading_binaries/client_send_bypassl3/main.c b/offloading_binaries/client_send_bypassl3/main.c index 2d228e8..8ec9fc6 100644 --- a/offloading_binaries/client_send_bypassl3/main.c +++ b/offloading_binaries/client_send_bypassl3/main.c @@ -31,7 +31,7 @@ #define MY_DEST_MAC4 0x86 #define MY_DEST_MAC5 0x52 -#define DEFAULT_IF "eth0" +#define DEFAULT_IF "wlan0" #define BUF_SIZ 4096 char isNumber(char number[]) @@ -169,7 +169,7 @@ int main(int argc, char *argv[]) &my_dest_mac[0], &my_dest_mac[1], &my_dest_mac[2], &my_dest_mac[3], &my_dest_mac[4], &my_dest_mac[5]); - printf("destMAC:0x%02x:0x%02x:0x%02x:0x%02x:0x%02x:0x%02x\n", + printf("destMAC:%02x:%02x:%02x:%02x:%02x:%02x\n", my_dest_mac[0], my_dest_mac[1], my_dest_mac[2], my_dest_mac[3], my_dest_mac[4], my_dest_mac[5]); diff --git a/offloading_binaries/client_send_bypassl3/main.o b/offloading_binaries/client_send_bypassl3/main.o index 9c378b301407b01b44f21c586a2b0057b760adcc..d11178d4954c9f87637b43f3e4fc99a67ed13361 100644 GIT binary patch delta 157 zcmexh^u%a_0%OZY#d;=|4FZQBZeGH)gNv(yg@K`=MbEK^Y4SvI#mViwogC#kiFpPL z3=ESU`NSvd^L><5H885M!bWU%OCRTyT|0L8HGbXD_ssl-1NpS!bO)%yF diff --git a/offloading_binaries/makeall.sh b/offloading_binaries/makeall.sh index f7a96aa..f8d57e3 100644 --- a/offloading_binaries/makeall.sh +++ b/offloading_binaries/makeall.sh @@ -10,6 +10,8 @@ cd client_send_normaltcp && make cd ../ cd client_readfile_only && make cd ../ +cd client_recv_normaltcp_splice && make +cd ../ cd client_recv_normaltcp && make cd ../ cd client_recv_normaludp && make diff --git a/offloading_binaries/pushBinToDevice.sh b/offloading_binaries/pushBinToDevice.sh index 91c369e..975fa02 100755 --- a/offloading_binaries/pushBinToDevice.sh +++ b/offloading_binaries/pushBinToDevice.sh @@ -10,6 +10,8 @@ cd client_send_normaltcp && adb push client_send_normaltcp /data/local/tmp/ cd ../ cd client_readfile_only && adb push client_readfile_only /data/local/tmp/ cd ../ +cd client_recv_normaltcp_splice && adb push client_recv_normaltcp_splice /data/local/tmp/ +cd ../ cd client_recv_normaltcp && adb push client_recv_normaltcp /data/local/tmp/ cd ../ cd client_recv_normaludp && adb push client_recv_normaludp /data/local/tmp/