linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC][PATCH 00/50] set addr_assign_type to NET_ADDR_RANDOM if  a random mac address get assigned to a netdevice
@ 2012-02-08 21:10 Danny Kukawka
  2012-02-08 21:10 ` [PATCH 01/50] eth: reset addr_assign_type if eth_mac_addr() called Danny Kukawka
                   ` (51 more replies)
  0 siblings, 52 replies; 77+ messages in thread
From: Danny Kukawka @ 2012-02-08 21:10 UTC (permalink / raw)
  To: David S. Miller; +Cc: Danny Kukawka, netdev, linux-kernel

The information if a device has a random MAC address is exported
to the userspace via /sys/class/net/*/addr_assign_type, which
export net_device->addr_assign_type.

Currently only a few driver really use dev_hw_addr_random() to
set addr_assign_type correctly to NET_ADDR_RANDOM.

This patch change the drivers which set random addresses to
change also addr_assign_type to NET_ADDR_RANDOM.

To reflect if the MAC was changed from userspace via SIOCSIFHWADDR,
which means it's no longer a random address set by the kernel,
this patch remove NET_ADDR_RANDOM from addr_assign_type in this
case.

With this patch tools from userspace can now detect devices with
random MAC addresses and change them to persistent addresses if
needed (as e.g. in case of smsc95xx on PandaBoard).

Maybe it makes sense to introduce a new state for addr_assign_type
to reflect the fact, that the MAC address was changed via a ioctl
from user space, e.g, with NET_ADDR_USERSPACE ?

Danny Kukawka (50):
  eth: reset addr_assign_type if eth_mac_addr() called
  smsc95xx: use dev_hw_addr_random() instead of random_ether_addr()
  smsc75xx: se dev_hw_addr_random() instead of random_ether_addr()
  adi/blackfin: set addr_assign_type correctly if random
  UML net: set addr_assign_type if random_ether_addr() used
  dummy: use dev_hw_addr_random() instead of random_ether_addr()
  au1000_eth: use dev_hw_addr_random() instead of random_ether_addr()
  bnx2x: use dev_hw_addr_random() instead of random_ether_addr()
  Cadence MACB: use dev_hw_addr_random() instead of random_ether_addr()
  Calxeda XGMAC: use dev_hw_addr_random() instead of
    random_ether_addr()
  ep93xx: use dev_hw_addr_random() instead of random_ether_addr()
  dm9000: use dev_hw_addr_random() instead of random_ether_addr()
  dnet: use dev_hw_addr_random() instead of random_ether_addr()
  ethoc: set addr_assign_type if random_ether_addr() used
  lantiq_etop: set addr_assign_type if random_ether_addr() used
  pxa168_eth: use dev_hw_addr_random() instead of random_ether_addr()
  enc28j60: use dev_hw_addr_random() instead of random_ether_addr()
  mipsnet: use dev_hw_addr_random() instead of random_ether_addr()
  macsonic: use dev_hw_addr_random() instead of random_ether_addr()
  smsc911x: use dev_hw_addr_random() instead of random_ether_addr()
  smsc9420: use dev_hw_addr_random() instead of random_ether_addr()
  r6040: use dev_hw_addr_random() instead of random_ether_addr()
  efx: use dev_hw_addr_random() instead of random_ether_addr()
  sis900: use dev_hw_addr_random() instead of random_ether_addr()
  via-rhine: use dev_hw_addr_random() instead of random_ether_addr()
  faraday: use dev_hw_addr_random() instead of random_ether_addr()
  davinci_emac: use dev_hw_addr_random() instead of random_ether_addr()
  forcedeth: use dev_hw_addr_random() instead of random_ether_addr()
  micrel eth: use dev_hw_addr_random() instead of random_ether_addr()
  atheros eth: set addr_assign_type if random_ether_addr() used
  tc35815: use dev_hw_addr_random() instead of random_ether_addr()
  tile_net: use dev_hw_addr_random() instead of random_ether_addr()
  stmmac: use dev_hw_addr_random() instead of random_ether_addr()
  xilinx ll_temac: use dev_hw_addr_random() instead of
    random_ether_addr()
  ifb: use dev_hw_addr_random() instead of random_ether_addr()
  igbvf: reset netdevice addr_assign_type if changed from random
  usbnet: set addr_assign_type if random_ether_addr() used
  g_ether: set addr_assign_type if random_ether_addr() used
  veth: use dev_hw_addr_random() instead of random_ether_addr()
  batman-adv: use dev_hw_addr_random() instead of random_ether_addr()
  l2tp_eth: use dev_hw_addr_random() instead of random_ether_addr()
  virtio_net:  use dev_hw_addr_random() instead of random_ether_addr()
  macvlan: use dev_hw_addr_random() instead of random_ether_addr()
  team: use dev_hw_addr_random() instead of random_ether_addr()
  tun: use dev_hw_addr_random() instead of random_ether_addr()
  wan: use dev_hw_addr_random() instead of random_ether_addr()
  bridge: use dev_hw_addr_random() instead of random_ether_addr()
  ip_gre.c: use dev_hw_addr_random() instead of random_ether_addr()
  openvswitch: use dev_hw_addr_random() instead of random_ether_addr()
  use dev_hw_addr_random() instead of random_ether_addr()

 arch/blackfin/mach-bf518/boards/ezbrd.c           |    3 ++-
 arch/blackfin/mach-bf518/boards/tcm-bf518.c       |    3 ++-
 arch/blackfin/mach-bf527/boards/ad7160eval.c      |    3 ++-
 arch/blackfin/mach-bf527/boards/cm_bf527.c        |    3 ++-
 arch/blackfin/mach-bf527/boards/ezbrd.c           |    3 ++-
 arch/blackfin/mach-bf527/boards/ezkit.c           |    3 ++-
 arch/blackfin/mach-bf527/boards/tll6527m.c        |    3 ++-
 arch/blackfin/mach-bf537/boards/cm_bf537e.c       |    3 ++-
 arch/blackfin/mach-bf537/boards/cm_bf537u.c       |    3 ++-
 arch/blackfin/mach-bf537/boards/dnp5370.c         |    3 ++-
 arch/blackfin/mach-bf537/boards/pnav10.c          |    3 ++-
 arch/blackfin/mach-bf537/boards/stamp.c           |    3 ++-
 arch/blackfin/mach-bf537/boards/tcm_bf537.c       |    3 ++-
 arch/um/drivers/net_kern.c                        |   11 ++++++++---
 drivers/net/dummy.c                               |    4 +++-
 drivers/net/ethernet/adi/bfin_mac.c               |   10 +++++++---
 drivers/net/ethernet/adi/bfin_mac.h               |    2 +-
 drivers/net/ethernet/amd/au1000_eth.c             |    9 +++++----
 drivers/net/ethernet/atheros/atl1c/atl1c_hw.c     |    2 +-
 drivers/net/ethernet/atheros/atl1c/atl1c_main.c   |   11 ++++++-----
 drivers/net/ethernet/atheros/atlx/atl1.c          |   12 +++++++++---
 drivers/net/ethernet/atheros/atlx/atlx.c          |    3 +++
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c   |    2 ++
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c  |    2 +-
 drivers/net/ethernet/cadence/macb.c               |    2 +-
 drivers/net/ethernet/calxeda/xgmac.c              |    4 +++-
 drivers/net/ethernet/cirrus/ep93xx_eth.c          |    2 +-
 drivers/net/ethernet/cisco/enic/enic_main.c       |   13 +++++++++++--
 drivers/net/ethernet/davicom/dm9000.c             |    2 +-
 drivers/net/ethernet/dnet.c                       |    2 +-
 drivers/net/ethernet/ethoc.c                      |   11 ++++++++++-
 drivers/net/ethernet/faraday/ftgmac100.c          |    2 +-
 drivers/net/ethernet/faraday/ftmac100.c           |    2 +-
 drivers/net/ethernet/intel/igbvf/netdev.c         |    2 ++
 drivers/net/ethernet/lantiq_etop.c                |    4 ++++
 drivers/net/ethernet/marvell/pxa168_eth.c         |    4 +++-
 drivers/net/ethernet/micrel/ks8842.c              |    4 +++-
 drivers/net/ethernet/micrel/ks8851.c              |    7 +++++--
 drivers/net/ethernet/micrel/ks8851_mll.c          |    4 +++-
 drivers/net/ethernet/microchip/enc28j60.c         |    5 ++++-
 drivers/net/ethernet/mipsnet.c                    |    2 +-
 drivers/net/ethernet/natsemi/macsonic.c           |    2 +-
 drivers/net/ethernet/nvidia/forcedeth.c           |    4 +++-
 drivers/net/ethernet/rdc/r6040.c                  |    2 +-
 drivers/net/ethernet/sfc/efx.c                    |    4 +++-
 drivers/net/ethernet/sis/sis900.c                 |    2 +-
 drivers/net/ethernet/smsc/smsc911x.c              |    4 +++-
 drivers/net/ethernet/smsc/smsc9420.c              |    2 +-
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c |    2 +-
 drivers/net/ethernet/ti/davinci_emac.c            |    4 +++-
 drivers/net/ethernet/tile/tilepro.c               |    4 +++-
 drivers/net/ethernet/toshiba/tc35815.c            |    2 +-
 drivers/net/ethernet/via/via-rhine.c              |    2 +-
 drivers/net/ethernet/xilinx/ll_temac_main.c       |   11 +++++++++--
 drivers/net/ifb.c                                 |    2 +-
 drivers/net/macvlan.c                             |    4 +++-
 drivers/net/team/team.c                           |    5 ++++-
 drivers/net/tun.c                                 |    2 +-
 drivers/net/usb/smsc75xx.c                        |    2 +-
 drivers/net/usb/smsc95xx.c                        |    2 +-
 drivers/net/usb/usbnet.c                          |    1 +
 drivers/net/veth.c                                |    4 ++--
 drivers/net/virtio_net.c                          |    2 +-
 drivers/net/wan/hdlc_fr.c                         |    2 +-
 drivers/net/wan/hdlc_raw_eth.c                    |    2 +-
 drivers/usb/gadget/u_ether.c                      |    4 +++-
 net/batman-adv/soft-interface.c                   |    7 ++++---
 net/bridge/br_device.c                            |    6 +++++-
 net/ethernet/eth.c                                |    4 ++++
 net/ipv4/ip_gre.c                                 |    2 +-
 net/l2tp/l2tp_eth.c                               |    2 +-
 net/openvswitch/vport-internal_dev.c              |    4 +++-
 72 files changed, 196 insertions(+), 85 deletions(-)

-- 
1.7.7.3


^ permalink raw reply	[flat|nested] 77+ messages in thread

end of thread, other threads:[~2012-02-11 11:18 UTC | newest]

Thread overview: 77+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-02-08 21:10 [RFC][PATCH 00/50] set addr_assign_type to NET_ADDR_RANDOM if a random mac address get assigned to a netdevice Danny Kukawka
2012-02-08 21:10 ` [PATCH 01/50] eth: reset addr_assign_type if eth_mac_addr() called Danny Kukawka
2012-02-08 22:50   ` Stephen Hemminger
2012-02-08 22:57     ` Danny Kukawka
2012-02-08 21:10 ` [PATCH 02/50] smsc95xx: use dev_hw_addr_random() instead of random_ether_addr() Danny Kukawka
2012-02-09 10:51   ` Sergei Shtylyov
2012-02-08 21:10 ` [PATCH 03/50] smsc75xx: se " Danny Kukawka
2012-02-08 21:10 ` [PATCH 04/50] adi/blackfin: set addr_assign_type correctly if random Danny Kukawka
2012-02-09  3:28   ` Bob Liu
2012-02-09  4:05   ` Mike Frysinger
2012-02-08 21:10 ` [PATCH 05/50] UML net: set addr_assign_type if random_ether_addr() used Danny Kukawka
2012-02-08 21:10 ` [PATCH 06/50] dummy: use dev_hw_addr_random() instead of random_ether_addr() Danny Kukawka
2012-02-08 21:10 ` [PATCH 07/50] au1000_eth: " Danny Kukawka
2012-02-08 21:10 ` [PATCH 08/50] bnx2x: " Danny Kukawka
2012-02-09  9:59   ` David Laight
2012-02-08 21:10 ` [PATCH 09/50] Cadence MACB: " Danny Kukawka
2012-02-09  8:24   ` Nicolas Ferre
2012-02-08 21:10 ` [PATCH 10/50] Calxeda XGMAC: " Danny Kukawka
2012-02-08 21:10 ` [PATCH 11/50] ep93xx: " Danny Kukawka
2012-02-08 21:29   ` H Hartley Sweeten
2012-02-08 21:10 ` [PATCH 12/50] dm9000: " Danny Kukawka
2012-02-08 21:10 ` [PATCH 13/50] dnet: " Danny Kukawka
2012-02-08 21:10 ` [PATCH 14/50] ethoc: set addr_assign_type if random_ether_addr() used Danny Kukawka
2012-02-08 21:10 ` [PATCH 15/50] lantiq_etop: " Danny Kukawka
2012-02-08 21:10 ` [PATCH 16/50] pxa168_eth: use dev_hw_addr_random() instead of random_ether_addr() Danny Kukawka
2012-02-08 21:10 ` [PATCH 17/50] enc28j60: " Danny Kukawka
2012-02-08 21:10 ` [PATCH 18/50] mipsnet: " Danny Kukawka
2012-02-08 21:10 ` [PATCH 19/50] macsonic: " Danny Kukawka
2012-02-08 21:10 ` [PATCH 20/50] smsc911x: " Danny Kukawka
2012-02-09 11:28   ` Mark Brown
2012-02-08 21:10 ` [PATCH 21/50] smsc9420: " Danny Kukawka
2012-02-08 21:10 ` [PATCH 22/50] r6040: " Danny Kukawka
2012-02-08 21:10 ` [PATCH 23/50] efx: " Danny Kukawka
2012-02-08 21:29   ` Ben Hutchings
2012-02-08 21:10 ` [PATCH 24/50] sis900: " Danny Kukawka
2012-02-11  9:05   ` Daniele Venzano
2012-02-08 21:10 ` [PATCH 25/50] via-rhine: " Danny Kukawka
2012-02-08 21:10 ` [PATCH 26/50] faraday: " Danny Kukawka
2012-02-08 21:10 ` [PATCH 27/50] davinci_emac: " Danny Kukawka
2012-02-08 21:10 ` [PATCH 28/50] forcedeth: " Danny Kukawka
2012-02-08 21:10 ` [PATCH 29/50] micrel eth: " Danny Kukawka
2012-02-08 21:10 ` [PATCH 30/50] atheros eth: set addr_assign_type if random_ether_addr() used Danny Kukawka
2012-02-08 21:10 ` [PATCH 31/50] tc35815: use dev_hw_addr_random() instead of random_ether_addr() Danny Kukawka
2012-02-08 21:10 ` [PATCH 32/50] tile_net: " Danny Kukawka
2012-02-08 21:10 ` [PATCH 33/50] stmmac: " Danny Kukawka
2012-02-08 21:10 ` [PATCH 34/50] xilinx ll_temac: " Danny Kukawka
2012-02-08 21:10 ` [PATCH 35/50] ifb: " Danny Kukawka
2012-02-08 21:10 ` [PATCH 36/50] igbvf: reset netdevice addr_assign_type if changed from random Danny Kukawka
2012-02-08 21:10 ` [PATCH 37/50] usbnet: set addr_assign_type if random_ether_addr() used Danny Kukawka
2012-02-08 21:30   ` Oliver Neukum
2012-02-08 21:41     ` Danny Kukawka
2012-02-09  6:57     ` Bjørn Mork
2012-02-09 14:55       ` Oliver Neukum
2012-02-08 21:10 ` [PATCH 38/50] g_ether: " Danny Kukawka
2012-02-08 21:10 ` [PATCH 39/50] veth: use dev_hw_addr_random() instead of random_ether_addr() Danny Kukawka
2012-02-08 21:10 ` [PATCH 40/50] batman-adv: " Danny Kukawka
2012-02-09  8:44   ` [B.A.T.M.A.N.] " Sven Eckelmann
2012-02-11 11:12   ` Marek Lindner
2012-02-08 21:10 ` [PATCH 41/50] l2tp_eth: " Danny Kukawka
2012-02-08 21:10 ` [PATCH 42/50] virtio_net: " Danny Kukawka
2012-02-09  9:35   ` Michael S. Tsirkin
2012-02-08 21:10 ` [PATCH 43/50] macvlan: " Danny Kukawka
2012-02-08 21:10 ` [PATCH 44/50] team: " Danny Kukawka
2012-02-08 21:10 ` [PATCH 45/50] tun: " Danny Kukawka
2012-02-08 21:10 ` [PATCH 46/50] wan: " Danny Kukawka
2012-02-09 14:12   ` Krzysztof Halasa
2012-02-08 21:10 ` [PATCH 47/50] bridge: " Danny Kukawka
2012-02-08 22:52   ` Stephen Hemminger
2012-02-08 21:10 ` [PATCH 48/50] ip_gre.c: " Danny Kukawka
2012-02-08 21:10 ` [PATCH 49/50] openvswitch: " Danny Kukawka
2012-02-08 21:10 ` [PATCH 50/50] " Danny Kukawka
2012-02-08 22:58 ` [RFC][PATCH 00/50] set addr_assign_type to NET_ADDR_RANDOM if a random mac address get assigned to a netdevice Stephen Hemminger
2012-02-09 14:59   ` Danny Kukawka
2012-02-09 16:06     ` Stephen Hemminger
2012-02-08 23:29 ` David Miller
2012-02-09 12:18   ` Danny Kukawka
2012-02-09 18:37     ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).