netdev
[Top] [All Lists]

[PATCH] dummy -- support hardware address

To: "David S. Miller" <davem@xxxxxxxxxx>
Subject: [PATCH] dummy -- support hardware address
From: Stephen Hemminger <shemminger@xxxxxxxx>
Date: Thu, 8 Apr 2004 11:08:34 -0700
Cc: netdev@xxxxxxxxxxx
Organization: Open Source Development Lab
Sender: netdev-bounce@xxxxxxxxxxx
Dummy device comes in handy for testing, but it always has address
of all zero's which isn't a valid ethernet address.  This generates
a simple fake address and allows changing the address.

diff -Nru a/drivers/net/dummy.c b/drivers/net/dummy.c
--- a/drivers/net/dummy.c       Thu Apr  8 11:03:02 2004
+++ b/drivers/net/dummy.c       Thu Apr  8 11:03:02 2004
@@ -86,6 +86,15 @@
        return dev->priv;
 }
 
+
+static int dummy_set_address(struct net_device *dev, void *p)
+{
+       struct sockaddr *sa = p;
+
+       memcpy(dev->dev_addr, sa->sa_data, dev->addr_len);
+       return 0;
+}
+
 static struct net_device **dummies;
 
 /* Number of dummy devices to be set up by this module. */
@@ -101,6 +110,16 @@
 
        if (!dev_dummy)
                return -ENOMEM;
+
+       /* Generate intial fake hardware address */
+       dev_dummy->dev_addr[0] = 0x00;
+       dev_dummy->dev_addr[1] = 0xdd;
+       dev_dummy->dev_addr[2] = 0xdd;
+       dev_dummy->dev_addr[3] = index >> 16;
+       dev_dummy->dev_addr[4] = index >> 8;
+       dev_dummy->dev_addr[5] = index;
+
+       dev_dummy->set_mac_address = dummy_set_address;
 
        if ((err = register_netdev(dev_dummy))) {
                free_netdev(dev_dummy);

<Prev in Thread] Current Thread [Next in Thread>