linux/drivers/net
Mahesh Bandewar eed2a12f1e net: Allow ethtool to set interface in loopback mode.
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 <maheshb@google.com>
Acked-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-05-08 15:59:12 -07:00
..
appletalk
arcnet
arm ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
atl1c ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
atl1e ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
atlx ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
benet ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
bna ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
bnx2x bnx2x: function descriptions format fixed 2011-05-05 10:44:36 -07:00
bonding net: call dev_alloc_name from register_netdevice 2011-05-05 10:57:45 -07:00
caif Fix common misspellings 2011-03-31 11:26:23 -03:00
can can: fix SJA1000 dlc for RTR packets 2011-05-05 11:02:22 -07:00
chelsio ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
cris Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2011-04-11 13:44:25 -07:00
cxgb3 ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
cxgb4 ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
cxgb4vf ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
e1000 e1000: convert to set_phys_id 2011-05-07 03:10:13 -07:00
e1000e net/igb/e1000/e1000e: more robust ethtool duplex/speed configuration 2011-04-29 14:03:03 -07:00
ehea ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
enic ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
fs_enet Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2011-04-26 12:16:46 -07:00
hamradio net: call dev_alloc_name from register_netdevice 2011-05-05 10:57:45 -07:00
ibm_newemac net: ibm_newemac: convert to hw_features 2011-04-17 17:47:36 -07:00
igb igb: convert to ethtool set_phys_id 2011-05-07 03:11:57 -07:00
igbvf igbvf: remove bogus phys_id 2011-05-04 12:12:22 -07:00
irda net: fix section mismatches 2011-04-18 22:59:04 -07:00
ixgb ixgb: convert to set_phys_id 2011-05-04 12:07:41 -07:00
ixgbe ixgbe: add ethtool counters for OS2BMC 2011-05-07 03:15:45 -07:00
ixgbevf ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
ixp2000
mlx4 ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
myri10ge ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
netxen ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
octeon
pch_gbe ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
pcmcia ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
phy ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
qlcnic ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
qlge ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
sfc ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
skfp Fix common misspellings 2011-03-31 11:26:23 -03:00
stmmac stmmac: removed not used definitions 2011-05-05 10:43:03 -07:00
tile net:use help function of skb_checksum_start_offset to calculate offset 2011-04-28 13:28:57 -07:00
tokenring net: fix section mismatches 2011-04-18 22:59:04 -07:00
tulip tulip/de2104x: don't report different speeds depending on port type 2011-04-29 14:03:02 -07:00
usb Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2011-05-05 14:59:02 -07:00
vmxnet3 ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
vxge ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
wan net: call dev_alloc_name from register_netdevice 2011-05-05 10:57:45 -07:00
wimax Fix common misspellings 2011-03-31 11:26:23 -03:00
wireless Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2011-05-05 14:59:02 -07:00
xen-netback net: xen-netback: convert to hw_features 2011-04-20 01:30:45 -07:00
3c59x.c net: fix section mismatches 2011-04-18 22:59:04 -07:00
3c501.c Fix common misspellings 2011-03-31 11:26:23 -03:00
3c501.h
3c503.c
3c503.h
3c505.c
3c505.h
3c507.c
3c509.c ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
3c515.c
3c523.c Fix common misspellings 2011-03-31 11:26:23 -03:00
3c523.h
3c527.c Fix common misspellings 2011-03-31 11:26:23 -03:00
3c527.h
7990.c
7990.h
8139cp.c net: 8139cp: convert to hw_features 2011-04-10 18:55:19 -07:00
8139too.c
8390.c
8390.h
8390p.c
82596.c
a2065.c drivers/net/a2065.c: Convert release_resource to release_region/release_mem_region 2011-03-23 14:10:37 -07:00
a2065.h
ac3200.c
acenic.c acenic: Fix using the specified speed when configuring NIC 2011-04-29 14:03:02 -07:00
acenic.h
amd8111e.c amd8111e: trivial typo spelling: Negotitate -> Negotiate 2011-05-02 14:42:55 -07:00
amd8111e.h
apne.c
ariadne.c drivers/net/ariadne.c: Convert release_resource to release_region/release_mem_region 2011-03-23 14:10:36 -07:00
ariadne.h
at1700.c Fix common misspellings 2011-03-31 11:26:23 -03:00
atarilance.c
atp.c
atp.h
au1000_eth.c
au1000_eth.h
ax88796.c
b44.c ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
b44.h
bcm63xx_enet.c ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
bcm63xx_enet.h
bfin_mac.c netdev: bfin_mac: document TE setting in RMII modes 2011-03-28 22:26:34 -07:00
bfin_mac.h
bmac.c
bmac.h
bnx2_fw.h
bnx2.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2011-05-05 14:59:02 -07:00
bnx2.h net: bnx2: convert to hw_features 2011-04-10 18:55:21 -07:00
bsd_comp.c
cassini.c ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
cassini.h Fix common misspellings 2011-03-31 11:26:23 -03:00
cnic_defs.h
cnic_if.h bnx2x, cnic: Disable iSCSI if DCBX negotiation is successful 2011-03-31 17:04:22 -07:00
cnic.c cnic: Fix rtnl deadlock 2011-04-08 13:03:02 -07:00
cnic.h bnx2x, cnic: Disable iSCSI if DCBX negotiation is successful 2011-03-31 17:04:22 -07:00
cpmac.c
cs89x0.c CS89x0: Add networking support for QQ2440 2011-03-14 16:49:28 -07:00
cs89x0.h
davinci_cpdma.c net: davinci_emac:Fix translation logic for buffer descriptor 2011-03-22 19:25:05 -07:00
davinci_cpdma.h net: davinci_emac:Fix translation logic for buffer descriptor 2011-03-22 19:25:05 -07:00
davinci_emac.c Fix common misspellings 2011-03-31 11:26:23 -03:00
davinci_mdio.c
de600.c
de600.h
de620.c
de620.h
declance.c
defxx.c
defxx.h
depca.c net: fix section mismatches 2011-04-18 22:59:04 -07:00
depca.h
dl2k.c ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
dl2k.h
dm9000.c net: dm9000: Fix build 2011-04-18 14:19:32 -07:00
dm9000.h
dnet.c
dnet.h
dummy.c net: call dev_alloc_name from register_netdevice 2011-05-05 10:57:45 -07:00
e100.c e100: implemenet set_phys_id 2011-05-07 03:08:38 -07:00
e2100.c
eepro.c ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
eexpress.c
eexpress.h
enc28j60_hw.h Fix common misspellings 2011-03-31 11:26:23 -03:00
enc28j60.c ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
epic100.c
eql.c
es3210.c
eth16i.c Fix common misspellings 2011-03-31 11:26:23 -03:00
ethoc.c Fix common misspellings 2011-03-31 11:26:23 -03:00
ewrk3.c ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
ewrk3.h
fealnx.c
fec_mpc52xx_phy.c
fec_mpc52xx.c
fec_mpc52xx.h
fec.c
fec.h Fix common misspellings 2011-03-31 11:26:23 -03:00
forcedeth.c ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
fsl_pq_mdio.c
fsl_pq_mdio.h
ftmac100.c net: ftmac100: fix scheduling while atomic during PHY link status change 2011-04-29 12:41:59 -07:00
ftmac100.h
gianfar_ethtool.c net: gianfar: convert to hw_features 2011-04-15 15:50:41 -07:00
gianfar_sysfs.c
gianfar.c net: gianfar: convert to hw_features 2011-04-15 15:50:41 -07:00
gianfar.h net: gianfar: convert to hw_features 2011-04-15 15:50:41 -07:00
greth.c net: greth: convert to hw_features 2011-04-17 17:47:36 -07:00
greth.h net: greth: convert to hw_features 2011-04-17 17:47:36 -07:00
hamachi.c hamachi: Put back RX_CHECKSUM 2011-05-07 22:31:35 -07:00
hp100.c net: fix section mismatches 2011-04-18 22:59:04 -07:00
hp100.h Fix common misspellings 2011-03-31 11:26:23 -03:00
hp-plus.c
hp.c
hplance.c
hplance.h
hydra.c
ibmlana.c net: fix section mismatches 2011-04-18 22:59:04 -07:00
ibmlana.h Fix common misspellings 2011-03-31 11:26:23 -03:00
ibmveth.c ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
ibmveth.h
ifb.c net: call dev_alloc_name from register_netdevice 2011-05-05 10:57:45 -07:00
ioc3-eth.c net: ioc3: convert to hw_features 2011-04-12 14:50:45 -07:00
ipg.c Fix common misspellings 2011-03-31 11:26:23 -03:00
ipg.h
iseries_veth.c
jazzsonic.c
jme.c ethtool: Use full 32 bit speed range in ethtool's set_settings 2011-04-29 14:03:00 -07:00
jme.h jme: convert offload constraints to ndo_fix_features 2011-04-01 20:56:30 -07:00
Kconfig e1000e: fix kconfig for crc32 dependency 2011-03-16 11:14:38 -07:00
korina.c
ks8842.c Fix common misspellings 2011-03-31 11:26:23 -03:00
ks8851_mll.c Fix common misspellings 2011-03-31 11:26:23 -03:00
ks8851.c Fix common misspellings 2011-03-31 11:26:23 -03:00
ks8851.h
ksz884x.c ethtool: Use full 32 bit speed range in ethtool's set_settings 2011-04-29 14:03:00 -07:00
lance.c
lasi_82596.c
lib8390.c Fix common misspellings 2011-03-31 11:26:23 -03:00
lib82596.c
LICENSE.SRC
ll_temac_main.c
ll_temac_mdio.c
ll_temac.h
lne390.c
loopback.c net: Allow ethtool to set interface in loopback mode. 2011-05-08 15:59:12 -07:00
lp486e.c Fix common misspellings 2011-03-31 11:26:23 -03:00
mac89x0.c
mac8390.c
macb.c macb: Add rx overrun counter 2011-04-13 11:50:08 -07:00
macb.h
mace.c
mace.h
macmace.c
macsonic.c
macvlan.c net: macvlan: convert to hw_features 2011-04-17 17:40:24 -07:00
macvtap.c
Makefile xen network backend driver 2011-03-15 19:38:03 -07:00
mdio.c ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
meth.c
meth.h Fix common misspellings 2011-03-31 11:26:23 -03:00
mii.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2011-05-05 14:59:02 -07:00
mipsnet.c
mv643xx_eth.c ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
mvme147.c
myri_sbus.c Fix common misspellings 2011-03-31 11:26:23 -03:00
myri_sbus.h
natsemi.c ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
ne2.c
ne2k-pci.c
ne3210.c net: fix section mismatches 2011-04-18 22:59:04 -07:00
ne-h8300.c
ne.c
netconsole.c netconsole: fix deadlock when removing net driver that netconsole is using (v2) 2011-04-22 14:33:51 -07:00
netx-eth.c
ni52.c
ni52.h
ni65.c
ni65.h
ni5010.c
ni5010.h
niu.c ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
niu.h niu: convert to new ethtool set_phys_id 2011-04-06 14:35:23 -07:00
ns83820.c ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
pasemi_mac_ethtool.c
pasemi_mac.c
pasemi_mac.h
pci-skeleton.c Fix common misspellings 2011-03-31 11:26:23 -03:00
pcnet32.c ethtool: Call ethtool's get/set_settings callbacks with cleaned data 2011-04-29 14:01:30 -07:00
plip.c
ppp_async.c
ppp_deflate.c zlib: slim down zlib_deflate() workspace when possible 2011-03-22 17:44:17 -07:00
ppp_generic.c Fix common misspellings 2011-03-31 11:26:23 -03:00
ppp_mppe.c
ppp_mppe.h
ppp_synctty.c Fix common misspellings 2011-03-31 11:26:23 -03:00
pppoe.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2011-04-11 07:27:24 -07:00
pppox.c
pptp.c pptp: Use flowi4's daddr/saddr in pptp_xmit(). 2011-05-03 20:41:42 -07:00
ps3_gelic_net.c ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
ps3_gelic_net.h net: ps3_gelic: convert to hw_features 2011-04-12 14:50:43 -07:00
ps3_gelic_wireless.c net: ps3_gelic: convert to hw_features 2011-04-12 14:50:43 -07:00
ps3_gelic_wireless.h
pxa168_eth.c Fix common misspellings 2011-03-31 11:26:23 -03:00
qla3xxx.c ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
qla3xxx.h Fix common misspellings 2011-03-31 11:26:23 -03:00
r6040.c Fix common misspellings 2011-03-31 11:26:23 -03:00
r8169.c ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
rionet.c rapidio: modify subsystem and driver initialization sequence 2011-03-23 19:46:42 -07:00
rrunner.c
rrunner.h
s2io-regs.h
s2io.c ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
s2io.h s2io: Fix warnings due to -Wunused-but-set-variable. 2011-04-12 11:21:30 -07:00
s6gmac.c
sb1000.c
sb1250-mac.c
sc92031.c ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
seeq8005.c
seeq8005.h
sgiseeq.c Fix common misspellings 2011-03-31 11:26:23 -03:00
sgiseeq.h
sh_eth.c Fix common misspellings 2011-03-31 11:26:23 -03:00
sh_eth.h
sis190.c Fix common misspellings 2011-03-31 11:26:23 -03:00
sis900.c net/sis900: store MAC into perm_addr for SiS 900, 630E, 635 and 96x variants 2011-04-12 14:56:00 -07:00
sis900.h
skge.c ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
skge.h Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2011-04-11 13:44:25 -07:00
sky2.c ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
sky2.h net: sky2: convert to hw_features 2011-04-12 14:50:42 -07:00
slhc.c
slip.c
slip.h
smc91x.c ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
smc91x.h Fix common misspellings 2011-03-31 11:26:23 -03:00
smc911x.c ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
smc911x.h
smc9194.c
smc9194.h
smc-mca.c net: fix section mismatches 2011-04-18 22:59:04 -07:00
smc-ultra32.c
smc-ultra.c
smsc911x.c net: allow shifted access in smsc911x V2 2011-04-13 17:13:00 -07:00
smsc911x.h smsc911x: Use pr_fmt, netdev_<level>, and netif_<level> 2011-03-30 21:39:22 -07:00
smsc9420.c Fix common misspellings 2011-03-31 11:26:23 -03:00
smsc9420.h
sni_82596.c
sonic.c
sonic.h
Space.c
spider_net_ethtool.c ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
spider_net.c net: spider_net: convert to hw_features 2011-04-15 15:50:39 -07:00
spider_net.h net: spider_net: convert to hw_features 2011-04-15 15:50:39 -07:00
starfire.c starfire: clean up dma_addr_t size test 2011-04-01 20:10:08 -07:00
stnic.c
sun3_82586.c
sun3_82586.h
sun3lance.c
sunbmac.c
sunbmac.h Fix common misspellings 2011-03-31 11:26:23 -03:00
sundance.c
sungem_phy.c
sungem_phy.h
sungem.c ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
sungem.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-03-18 10:37:40 -07:00
sunhme.c ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
sunhme.h Fix common misspellings 2011-03-31 11:26:23 -03:00
sunlance.c
sunqe.c
sunqe.h
sunvnet.c
sunvnet.h
tc35815.c Fix common misspellings 2011-03-31 11:26:23 -03:00
tehuti.c ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
tehuti.h Fix common misspellings 2011-03-31 11:26:23 -03:00
tg3.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2011-05-05 14:59:02 -07:00
tg3.h tg3: Convert u32 flag,flg2,flg3 uses to bitmap 2011-04-28 13:42:24 -07:00
tlan.c
tlan.h
tsi108_eth.c
tsi108_eth.h Fix common misspellings 2011-03-31 11:26:23 -03:00
tun.c net: call dev_alloc_name from register_netdevice 2011-05-05 10:57:45 -07:00
typhoon.c ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
typhoon.h
ucc_geth_ethtool.c net: Remove invalid offloads 2011-04-10 18:55:17 -07:00
ucc_geth.c
ucc_geth.h Fix common misspellings 2011-03-31 11:26:23 -03:00
veth.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2011-05-05 14:59:02 -07:00
via-rhine.c via-rhine: Assign random MAC address if necessary 2011-04-17 17:56:37 -07:00
via-velocity.c ethtool: cosmetic: Use ethtool ethtool_cmd_speed API 2011-04-29 14:03:01 -07:00
via-velocity.h
virtio_net.c virtio_net: convert to hw_features 2011-04-01 20:53:35 -07:00
wd.c
xen-netfront.c xen: netfront: assume all hw features are available until backend connection setup 2011-04-04 11:07:57 -07:00
xilinx_emaclite.c Fix common misspellings 2011-03-31 11:26:23 -03:00
xtsonic.c
yellowfin.c
znet.c Fix common misspellings 2011-03-31 11:26:23 -03:00
zorro8390.c