From: Jiri Pirko Date: Wed, 1 Aug 2012 23:19:55 +0000 (-0700) Subject: iplink: add support for num[tr]xqueues X-Git-Tag: v3.6.0~33 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d992f3e61151201feb09c599676bd007dc1fd6fb;p=thirdparty%2Fiproute2.git iplink: add support for num[tr]xqueues --- diff --git a/ip/iplink.c b/ip/iplink.c index 679091e68..411187112 100644 --- a/ip/iplink.c +++ b/ip/iplink.c @@ -48,6 +48,8 @@ void iplink_usage(void) fprintf(stderr, " [ address LLADDR ]\n"); fprintf(stderr, " [ broadcast LLADDR ]\n"); fprintf(stderr, " [ mtu MTU ]\n"); + fprintf(stderr, " [ numtxqueues QUEUE_COUNT ]\n"); + fprintf(stderr, " [ numrxqueues QUEUE_COUNT ]\n"); fprintf(stderr, " type TYPE [ ARGS ]\n"); fprintf(stderr, " ip link delete DEV type TYPE [ ARGS ]\n"); fprintf(stderr, "\n"); @@ -279,6 +281,8 @@ int iplink_parse(int argc, char **argv, struct iplink_req *req, int mtu = -1; int netns = -1; int vf = -1; + int numtxqueues = -1; + int numrxqueues = -1; *group = -1; ret = argc; @@ -445,6 +449,22 @@ int iplink_parse(int argc, char **argv, struct iplink_req *req, invarg("Invalid operstate\n", *argv); addattr8(&req->n, sizeof(*req), IFLA_OPERSTATE, state); + } else if (matches(*argv, "numtxqueues") == 0) { + NEXT_ARG(); + if (numtxqueues != -1) + duparg("numtxqueues", *argv); + if (get_integer(&numtxqueues, *argv, 0)) + invarg("Invalid \"numtxqueues\" value\n", *argv); + addattr_l(&req->n, sizeof(*req), IFLA_NUM_TX_QUEUES, + &numtxqueues, 4); + } else if (matches(*argv, "numrxqueues") == 0) { + NEXT_ARG(); + if (numrxqueues != -1) + duparg("numrxqueues", *argv); + if (get_integer(&numrxqueues, *argv, 0)) + invarg("Invalid \"numrxqueues\" value\n", *argv); + addattr_l(&req->n, sizeof(*req), IFLA_NUM_RX_QUEUES, + &numrxqueues, 4); } else { if (strcmp(*argv, "dev") == 0) { NEXT_ARG(); diff --git a/man/man8/ip-link.8.in b/man/man8/ip-link.8.in index 9386cc648..8a24e5109 100644 --- a/man/man8/ip-link.8.in +++ b/man/man8/ip-link.8.in @@ -40,6 +40,11 @@ ip-link \- network device configuration .RB "[ " mtu .IR MTU " ]" .br +.RB "[ " numtxqueues +.IR QUEUE_COUNT " ]" +.RB "[ " numrxqueues +.IR QUEUE_COUNT " ]" +.br .BR type " TYPE" .RI "[ " ARGS " ]" @@ -156,6 +161,14 @@ Link types: - Ethernet Bridge device .in -8 +.TP +.BI numtxqueues " QUEUE_COUNT " +specifies the number of transmit queues for new device. + +.TP +.BI numrxqueues " QUEUE_COUNT " +specifies the number of receive queues for new device. + .SS ip link delete - delete virtual link .I DEVICE specifies the virtual device to act operate on.