- 09 Jun, 2014 8 commits
-
-
Sucheta Chakraborty authored
o "min_tx_rate" option has been added for minimum Tx rate. Hence, for consistent naming, "max_tx_rate" option has been introduced for maximum Tx rate. o Change in v2: "rate" can be used along with "max_tx_rate". When both are specified, "max_tx_rate" should override. o Change in v3: * IFLA_VF_RATE: When IFLA_VF_RATE is used, and user has given only one of min_tx_rate or max_tx_rate, reading of previous rate limits is done in userspace instead of in kernel space before ndo_set_vf_rate. * IFLA_VF_TX_RATE: When IFLA_VF_TX_RATE is used, min_tx_rate is always read in kernel space. This takes care of below scenarios: (1) when old tool sends "rate" but kernel is new (expects min and max) (2) when new tool sends only "rate" but kernel is old (expects only "rate") o Change in v4 as suggested by Stephen Hemminger: * As per iproute policy, input and output formats should match. Changing display of max_tx_rate and min_tx_rate options accordingly. ./ip/ip link show p3p1 8: p3p1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 1000 link/ether 00:0e:1e:16:ce:40 brd ff:ff:ff:ff:ff:ff vf 0 MAC 2a:18:8f:4d:3d:d4, tx rate 700 (Mbps), max_tx_rate 700Mbps, min_tx_rate 200Mbps vf 1 MAC 72:dc:ba:f9:df:fd Signed-off-by: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>
-
Stephen Hemminger authored
Update sanitized headers
-
Jiri Pirko authored
Signed-off-by: Jiri Pirko <jiri@resnulli.us>
-
Jiri Pirko authored
Signed-off-by: Jiri Pirko <jiri@resnulli.us>
-
Yang Yingliang authored
Some options of fair queue cannot be (~0U). It leads to maxrate cannot be reset to unlimited because it cannot be (~0U). Allow the options being ~0U. Tested by the following command: # tc qdisc add dev eth4 root handle 1: fq limit 2000 flow_limit 200 maxrate 100mbit quantum 2000 initial_quantum 1600 # tc -s -d qdisc show qdisc fq 1: dev eth4 root refcnt 2 limit 2000p flow_limit 200p buckets 1024 quantum 2000 initial_quantum 1600 maxrate 100Mbit Sent 1492 bytes 10 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 1 flows (0 inactive, 0 throttled) 0 gc, 0 highprio, 0 throttled # tc qdisc change dev eth4 root handle 1: fq limit 4294967295 flow_limit 4294967295 maxrate 34359738360 quantum 4294967295 initial_quantum 4294967295 # tc -s -d qdisc show qdisc fq 1: dev eth4 root refcnt 2 limit 4294967295p flow_limit 4294967295p buckets 1024 quantum 4294967295 initial_quantum 4294967295 Sent 38372 bytes 216 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 2 flows (1 inactive, 0 throttled) 0 gc, 2 highprio, 7 throttled Suggested-by: Eric Dumazet <edumazet@google.com> Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
-
Andreas Henriksson authored
Michael Tautschnig wrote: During a rebuild [...]. Please note that we use our research compiler tool-chain (using tools from the cbmc package), which permits extended reporting on type inconsistencies at link time. [...] gcc bridge.o fdb.o monitor.o link.o mdb.o vlan.o ../lib/libnetlink.a ../lib/libutil.a ../lib/libnetlink.a ../lib/libutil.a -o bridge file link.c line 18: error: conflicting types for variable "filter_index" old definition in module fdb file fdb.c line 29 signed int new definition in module link file link.c line 18 unsigned int <builtin>: recipe for target 'bridge' failed make[3]: *** [bridge] Error 64 make[3]: Leaving directory '/srv/jenkins-slave/workspace/sid-goto-cc-iproute2/iproute2-3.14.0/bridge' Makefile:45: recipe for target 'all' failed While practical constraints may limit the value of filter_index to remain within the bounds of a positive signed int, there is certainly no such guarantee here. Also, a plain majority vote suggests that this really just a wrong declaration in link.c as several declarations of filter_index as signed int exist. [...] My followup on this was: I think the majority is wrong. filter_index is assigned exclusively from if_nametoindex or ll_name_to_index which both return unsigned int. Changing it to unsigned everywhere seems better. This has been minimally tested by using the bridge tool to add vids and showing available vids on different devices. Reported-by: Michael Tautschnig <mt@debian.org> Signed-off-by: Andreas Henriksson <andreas@fatal.se>
-
Cong Wang authored
When we create a tunnel on top of a link and the link specified in cmdline doesn't exist, an error message should be shown. Cc: Stephen Hemminger <stephen@networkplumber.org> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
-
Eric Dumazet authored
Since linux-3.15, kernel exports tcpi_pacing_rate and tcpi_max_pacing_rate in tcp_info Add TCP pacing_rate information on ss -i output : lpaa23:~# ./ss -ti dst 10.246.7.151 State Recv-Q Send-Q Local Address:Port Peer Address:Port ESTAB 0 325800 10.246.7.151:57614 10.246.7.152:46811 cubic wscale:7,7 rto:201 rtt:0.081/0.006 mss:1448 cwnd:90 ssthresh:63 send 12871.1Mbps pacing_rate 15397.8Mbps unacked:90 retrans:0/305 rcv_space:29200 If SO_MAX_PACING_RATE is set on the socket, we add /max_pacing_rate as in : ... pacing_rate 1570.5Mbps/2.0Gbps ... Signed-off-by: Eric Dumazet <edumazet@google.com>
-
- 29 May, 2014 4 commits
-
-
Stephen Hemminger authored
The lnstat program was building a format string, then using it. This was safe, but simpler to just use format character * to get width.
-
Stephen Hemminger authored
Enable format security, and fix the warning caused by printing with string for format.
-
Vlad Yasevich authored
Add ability to control learning and flood flags on bridge ports. Signed-off-by: Vlad Yasevich <vyasevic@redhat.com>
-
Sergey V. Lobanov authored
When limit<burst latency becomes <0, for example: # tc qdisc add dev eth0 root handle 1: tbf limit 100K burst 256K rate 256kbit # tc qdisc show qdisc tbf 1: dev eth0 root refcnt 2 rate 256Kbit burst 256Kb lat 4290.0s If latency<0 there is no reason to show it. Limit will be printed instead of latency when latency<0: # tc qdisc show qdisc tbf 1: dev eth0 root refcnt 2 rate 256Kbit burst 256Kb limit 100Kb Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
-
- 28 May, 2014 6 commits
-
-
Oliver Hartkopp authored
Controller Area Network (CAN) interfaces are physical network interfaces. They can't be 'created' like software devices by 'ip link add type can'. Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
-
Jiri Pirko authored
Signed-off-by: Jiri Pirko <jiri@resnulli.us>
-
Jamal Hadi Salim authored
This also fixes a long standing bug of not sanely reporting the action chain ordering Sample scenario test on window 1(event window): run "tc monitor" and observe events on window 2: sudo tc actions add action drop index 10 sudo tc actions add action ok index 12 sudo tc actions ls action gact sudo tc actions flush action gact See the event window reporting two entries (doing another listing should show empty generic actions) Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com>
-
Jamal Hadi Salim authored
scenario testcase: TC="sudo ./tc/tc" DEV="dev eth0" $TC qdisc del $DEV ingress $TC qdisc add $DEV ingress $TC filter add $DEV parent ffff: protocol ip u32 match ip src 10.0.0.0/24 action police rate 6Mbit burst 6Mbit drop flowid :1 $TC filter add $DEV parent ffff: protocol ip u32 match ip dst 10.0.0.0/24 action police rate 1Gbit burst 1Gbit pass flowid :1 $TC -s filter ls $DEV parent ffff: protocol ip $TC qdisc del $DEV ingress $TC qdisc add $DEV ingress $TC filter add $DEV parent ffff: protocol ip u32 match ip src 10.0.0.0/24 flowid 1:1 action police rate 6Mbit burst 6Mbit drop $TC filter add $DEV parent ffff: protocol ip u32 match ip dst 10.0.0.0/24 flowid 1:2 action police rate 1Gbit burst 1Gbit pass $TC -s filter ls $DEV parent ffff: protocol ip $TC qdisc del $DEV ingress $TC qdisc add $DEV ingress $TC filter add $DEV parent ffff: protocol ip pref 10 \ u32 match ip protocol 1 0xff \ flowid 1:10 \ action skbedit mark 11 \ action police rate 10kbit burst 10k pipe index 1 \ action skbedit mark 12 \ action police rate 20kbit burst 20k pipe index 2 \ action mirred egress mirror dev dummy0 $TC -s filter ls $DEV parent ffff: protocol ip $TC qdisc del $DEV ingress $TC qdisc add $DEV ingress $TC filter add $DEV parent ffff: protocol ip pref 10 \ u32 match ip protocol 1 0xff \ action skbedit mark 11 \ action police rate 10kbit burst 10k pipe index 1 \ action skbedit mark 12 \ action police rate 20kbit burst 20k pipe index 2 \ action mirred egress mirror dev dummy0 \ flowid 1:10 $TC -s filter ls $DEV parent ffff: protocol ip Reported-by: Seann Herdejurgen <seann@herdejurgen.com> Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com>
-
Jamal Hadi Salim authored
Reported-by: Seann Herdejurgen <seann@herdejurgen.com> Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com>
-
Natanael Copa authored
We need limits.h for LONG_MIN and LONG_MAX, sys/param.h for MIN and sys/select for struct timeval. This fixes the following compile errors with musl libc: f_bpf.c: In function 'bpf_parse_opt': f_bpf.c:181:12: error: 'LONG_MIN' undeclared (first use in this function) if (h == LONG_MIN || h == LONG_MAX) { ^ ... tc_util.o: In function `print_tcstats2_attr': tc_util.c:(.text+0x13fe): undefined reference to `MIN' tc_util.c:(.text+0x1465): undefined reference to `MIN' tc_util.c:(.text+0x14ce): undefined reference to `MIN' tc_util.c:(.text+0x154c): undefined reference to `MIN' tc_util.c:(.text+0x160a): undefined reference to `MIN' tc_util.o:tc_util.c:(.text+0x174e): more undefined references to `MIN' follow ... tc_stab.o: In function `print_size_table': tc_stab.c:(.text+0x40f): undefined reference to `MIN' ... fdb.c:247:30: error: 'ULONG_MAX' undeclared (first use in this function) (vni >> 24) || vni == ULONG_MAX) ^ lnstat.h:28:17: error: field 'last_read' has incomplete type struct timeval last_read; /* last time of read */ ^ Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
-
- 13 May, 2014 3 commits
-
-
Andreas Greve authored
BUG: tc filter show ... produce a segmentation fault if more than one filter rule with action -j MARK exists. Reason: In print_ipt(...) xtables will be initialzed with a pointer to the static struct tcipt_globals at xtables_init_all(). Later on the fields .opts and .options_offset of tcipt_globals are modified. The call of xtables_free_opts(1) at the end of print(...) does not restore the original values of tcipt_globals for the modified fields. It only frees some allocated memory and sets .opts to NULL. This leads to a segmentation fault when print_ipt() is called for the next filter rule with action -j MARK. Fix: Cloneing tcipt_globals on the stack as tmp_tcipt_globals and use it instead of tcipt_globals, so tcipt_globals will be not modified. Signed-off-by: Andreas Greve <andreas.greve@a-greve.de>
-
Or Gerlitz authored
Document the support added by commit 07fa9c15 "Add VF link state control" in the ip-link man page. Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
-
Mike Rapoport authored
Signed-off-by: Mike Rapoport <mike.rapoport@ravellosystems.com>
-
- 09 May, 2014 8 commits
-
-
Sergey V. Lobanov authored
TBF is not classless qdisc. man page corrected, added example describing the use of inner qdisc Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
-
Sergey V. Lobanov authored
Due to commit 4a2b9c3(in Linux kernel) Linux priority(skb->priority) changed for TOS==0x2 Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
-
Stephen Hemminger authored
Need to go over whole source and scrub..
-
david decotigny authored
This patch allows to display the current counter of carrier on<->off transitions (IFLA_CARRIER_CHANGES, see kernel commit "expose number of carrier on/off changes"): ip -s -s link show dev eth0 32: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 ... link/ether ................. brd ff:ff:ff:ff:ff:ff RX: bytes packets errors dropped overrun mcast 125552461 258881 0 0 0 10150 RX errors: length crc frame fifo missed 0 0 0 0 0 TX: bytes packets errors dropped carrier collsns 40426119 224444 0 0 0 0 TX errors: aborted fifo window heartbeat transns 0 0 0 0 3 Tested: - kernel with patch "net-sysfs: expose number of carrier on/off changes": see "transns" column above - kernel wthout the patch: "transns" not displayed (as expected) Signed-off-by: David Decotigny <decot@googlers.com>
-
Terry Lam authored
$tc qdisc add dev eth0 hhf help Usage: ... hhf [ limit PACKETS ] [ quantum BYTES] [ hh_limit NUMBER ] [ reset_timeout TIME ] [ admit_bytes BYTES ] [ evict_timeout TIME ] [ non_hh_weight NUMBER ] $tc -s -d qdisc show dev eth0 qdisc hhf 8005: root refcnt 32 limit 1000p quantum 1514 hh_limit 2048 reset_timeout 40.0ms admit_bytes 131072 evict_timeout 1.0s non_hh_weight 2 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 drop_overlimit 0 hh_overlimit 0 tot_hh 0 cur_hh 0 HHF qdisc parameters: - limit: max number of packets in qdisc (default 1000) - quantum: max deficit per RR round (default 1 MTU) - hh_limit: max number of HHs to keep states (default 2048) - reset_timeout: time to reset HHF counters (default 40ms) - admit_bytes: counter thresh to classify as HH (default 128KB) - evict_timeout: threshold to evict idle HHs (default 1s) - non_hh_weight: DRR weight for mice (default 2) Signed-off-by: Terry Lam <vtlam@google.com>
-
Jay Vosburgh authored
The display of the entire netem loss state is shown as if it were gemodel state, as the loss state information is assigned to the wrong pointer. Correct this by assigning the loss state to the correct pointer. Additionally, attempting to set netem loss state will result in random values in the p14 state probability because the option value passed to the kernel by tc netem is not parsed or initialized. Fix this by supplying a default value of 0 for p14 and parsing the p14 value if one is supplied. Signed-off-by: Jay Vosburgh <jay.vosburgh@canonical.com>
-
Oliver Hartkopp authored
For CAN FD a new set of bittiming configuration and enabling functions for the data section is provided by the CAN driver infrastructure. This patch allows to configure the newly introduced CAN FD properties. Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
-
Oliver Hartkopp authored
When preparing a patch for CAN FD support these white space issues showed up. Fix it in the current code to be able to provide a proper follow up patch. Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
-
- 21 Apr, 2014 1 commit
-
-
Stephen Hemminger authored
-
- 12 Apr, 2014 5 commits
-
-
Stephen Hemminger authored
-
Stephen Hemminger authored
-
Heiner Kallweit authored
Kernel is being extended to support flag IFA_F_MANAGETEMPADDR also for deletion of addresses. This will allow a userspace application to indicate that for a global address the kernel should delete all related temporary addresses as well. "ip addr del" internally calls ipaddr_modify which silently accepts any flag provided on the command line already, independent of the actual command. Therefore only the usage documentation needs to be extended. Signed-off-by: Heiner Kallweit <heiner.kallweit@web.de>
-
WANG Cong authored
commit 37c9b94e (add support for extended ifa_flags) introduced a regression: # ./ip/ip addr add 192.168.0.1/24 dev eth0 RTNETLINK answers: Invalid argument This is due to old kernels don't support IFA_FLAGS flag, we should not use it if we don't use the flags beyond old .ifa_flags. Cc: Jiri Pirko <jiri@resnulli.us> Cc: Stephen Hemminger <stephen@networkplumber.org> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
-
Kusanagi Kouichi authored
Flags for a peer override flags for the other and not used for the peer. before: # ip link add up type veth peer down multicast off # ip link 1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: veth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether 2e:5c:cd:f5:63:d2 brd ff:ff:ff:ff:ff:ff 3: veth1: <BROADCAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether 72:b0:fa:1e:76:7a brd ff:ff:ff:ff:ff:ff after: # ip link add up type veth peer down multicast off # ip link 1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: veth0: <BROADCAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether 6e:db:03:b3:bd:ff brd ff:ff:ff:ff:ff:ff 3: veth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000 link/ether a6:62:d9:84:f0:73 brd ff:ff:ff:ff:ff:ff Signed-off-by: Kusanagi Kouichi <slash@ac.auone-net.jp>
-
- 01 Apr, 2014 1 commit
-
-
Stephen Hemminger authored
Formatting was awful and unclear on ip neighbour
-
- 21 Mar, 2014 4 commits
-
-
Nicolas Dichtel authored
It's now possible to filter SA directly into the kernel by specifying XFRMA_PROTO and/or XFRMA_ADDRESS_FILTER. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
-
Stephen Hemminger authored
-
Mike Rapoport authored
Signed-off-by: Mike Rapoport <mike.rapoport@ravellosystems.com>
-
Masatake YAMATO authored
In "ip route show" output unicast type, main table, boot protocol and universe scope are hidden as default labels. Sometimes it is helpful to show the hidden label for people not enough familiar with routing subsystem to map the output of "ip route show" and kernel source code. With this patch "ip route show" with -d option shows the default labels. Example of difference of output with -d option: $ ./ip/ip -4 route show table all dev virbr1 ... 192.168.121.0/28 proto kernel scope link src 192.168.121.1 ... $ ./ip/ip -4 -d route show table all dev virbr1 ... unicast 192.168.121.0/28 table main proto kernel scope link src 192.168.121.1 ... Signed-off-by: Masatake YAMATO <yamato@redhat.com>
-