]> rtime.felk.cvut.cz Git - lisovros/iproute2_canprio.git/blobdiff - ip/ip.c
iproute uses too small of a receive buffer
[lisovros/iproute2_canprio.git] / ip / ip.c
diff --git a/ip/ip.c b/ip/ip.c
index 2bd54b2aa9058699a3bc4af68398f04c69084690..b4c076aa43570b3e3f8334f5219200fa532086b9 100644 (file)
--- a/ip/ip.c
+++ b/ip/ip.c
@@ -50,7 +50,8 @@ static void usage(void)
 "                   tunnel | maddr | mroute | monitor | xfrm }\n"
 "       OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |\n"
 "                    -f[amily] { inet | inet6 | ipx | dnet | link } |\n"
-"                    -o[neline] | -t[imestamp] | -b[atch] [filename] }\n");
+"                    -o[neline] | -t[imestamp] | -b[atch] [filename] |\n"
+"                    -rc[vbuf] [size]}\n");
        exit(-1);
 }
 
@@ -213,6 +214,19 @@ int main(int argc, char **argv)
                        if (argc <= 1)
                                usage();
                        batch_file = argv[1];
+               } else if (matches(opt, "-rcvbuf") == 0) {
+                       unsigned int size;
+
+                       argc--;
+                       argv++;
+                       if (argc <= 1)
+                               usage();
+                       if (get_unsigned(&size, argv[1], 0)) {
+                               fprintf(stderr, "Invalid rcvbuf size '%s'\n",
+                                       argv[1]);
+                               exit(-1);
+                       }
+                       rcvbuf = size;
                } else if (matches(opt, "-help") == 0) {
                        usage();
                } else {