Thread (29 messages) 29 messages, 8 authors, 2011-01-23

Re: [PATCH v2] net: Allow ethtool to set interface in loopback mode.

From: Mahesh Bandewar <hidden>
Date: 2011-01-05 01:39:26

On Tue, Jan 4, 2011 at 5:29 PM, Stephen Hemminger [off-list ref] wrote:
On Wed, 05 Jan 2011 01:21:44 +0000
Ben Hutchings [off-list ref] wrote:
quoted
On Tue, 2011-01-04 at 16:36 -0800, Stephen Hemminger wrote:
quoted
On Tue,  4 Jan 2011 16:30:01 -0800
Mahesh Bandewar [off-list ref] wrote:
quoted
This patch enables ethtool to set the loopback mode on a given interface.
By configuring the interface in loopback mode in conjunction with a policy
route / rule, a userland application can stress the egress / ingress path
exposing the flows of the change in progress and potentially help developer(s)
understand the impact of those changes without even sending a packet out
on the network.

Following set of commands illustrates one such example -
  a) ip -4 addr add 192.168.1.1/24 dev eth1
  b) ip -4 rule add from all iif eth1 lookup 250
  c) ip -4 route add local 0/0 dev lo proto kernel scope host table 250
  d) arp -Ds 192.168.1.100 eth1
  e) arp -Ds 192.168.1.200 eth1
  f) sysctl -w net.ipv4.ip_nonlocal_bind=1
  g) sysctl -w net.ipv4.conf.all.accept_local=1
  # Assuming that the machine has 8 cores
  h) taskset 000f netserver -L 192.168.1.200
  i) taskset 00f0 netperf -t TCP_CRR -L 192.168.1.100 -H 192.168.1.200 -l 30

Signed-off-by: Mahesh Bandewar <redacted>
Reviewed-by: Ben Hutchings <redacted>
Since this is a boolean it SHOULD go into ethtool_flags rather than
being a high level operation.
It could do, but I though ETHTOOL_{G,S}FLAGS were intended for
controlling offload features.
It just seems the number of hooks keeps growing which takes more space
and increases complexity.

There was some talk about changing GRO/TSO/UFO .. to be bits in FLAGS
but not sure how far along that is.
--
This is not merely getting / setting flags but involves invoking a
method from the driver(s). If done this way; the code in
ethtool_op_set_flags() will have to be special-cased to handle this
flag which (I think) would not be clean.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help