long total_in;
 FILE *reference;
 long mtu = 0;
+long bufsize;
 
 char *reorder_data;
 size_t reorder_len;
        (void)port;
        utcp_accept(nc, do_recv, NULL);
        c = nc;
+
+       if(bufsize) {
+               utcp_set_sndbuf(c, bufsize);
+               utcp_set_rcvbuf(c, bufsize);
+       }
+
        utcp_set_accept_cb(c->utcp, NULL, NULL);
 }
 
                mtu = atoi(getenv("MTU"));
        }
 
+       if(getenv("BUFSIZE")) {
+               bufsize = atoi(getenv("BUFSIZE"));
+       }
+
        char *reference_filename = getenv("REFERENCE");
 
        if(reference_filename) {
        if(!server) {
                set_mtu(u, s);
                c = utcp_connect_ex(u, 1, do_recv, NULL, flags);
+
+               if(bufsize) {
+                       utcp_set_sndbuf(c, bufsize);
+                       utcp_set_rcvbuf(c, bufsize);
+               }
        }
 
        struct pollfd fds[2] = {