From 89d5adef0a737afc86722bf7a87883b3ced536fe Mon Sep 17 00:00:00 2001 From: Sapan Bhatia Date: Tue, 24 Mar 2009 18:28:49 +0000 Subject: [PATCH] Adding a vsys script for large TCP receive buffers --- Makefile | 7 +++++-- fd_bmsocket.c | 20 ++++++++++++++++++++ fdpass.h | 5 +++++ 3 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 fd_bmsocket.c create mode 100644 fdpass.h diff --git a/Makefile b/Makefile index 9bb4e8a..f4390a6 100644 --- a/Makefile +++ b/Makefile @@ -6,8 +6,11 @@ all: dcookie fd_bmsocket dcookie: dcookie.c gcc dcookie.c -o exec/dcookie -fd_bmsocket: fd_bmsocket.c - gcc fd_bmsocket.c -o exec/fd_bmsocket +fd_pass.o: fd_pass.c + gcc -c fd_pass.c -o fd_pass.o + +fd_bmsocket: fd_bmsocket.c fdpass.o + gcc fd_bmsocket.c fd_pass.o -o exec/fd_bmsocket clean: rm -f exec/* diff --git a/fd_bmsocket.c b/fd_bmsocket.c new file mode 100644 index 0000000..c3fae75 --- /dev/null +++ b/fd_bmsocket.c @@ -0,0 +1,20 @@ +#include +#include +#include +#include "fdpass.h" + +#define RCVBUF 16*1024*1024 + +int main(int argc, char *argv[]) { + int control_channel_fd, magic_socket; + if (argc < 3) { + printf("This script is called by vsys.\n"); + exit(1); + } + + sscanf(argv[2],"%d", &control_channel_fd); + + magic_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); + setsockopt(magic_socket, SOL_SOCKET, SO_RCVBUF, RCVBUF, sizeof(unsigned int)); + send_fd(control_channel, magic_socket); +} diff --git a/fdpass.h b/fdpass.h new file mode 100644 index 0000000..f00a6fb --- /dev/null +++ b/fdpass.h @@ -0,0 +1,5 @@ +// Modified version of library functions in FUSE +// +int send_fd(int sock_fd, int fd); +int receive_fd(int fd); + -- 2.43.0