X-Git-Url: http://git.cascardo.eti.br/?p=cascardo%2Fkernel%2Fsamples%2Fnetdev%2F.git;a=blobdiff_plain;f=ndeth.c;h=613ef64a53b8e353510a56328949009925b4f331;hp=c9402c432e10f05e8af26ba9136eb4a62d5a24ff;hb=HEAD;hpb=4582c6dc1f10642ebecbe9fdebc241a265ad4516 diff --git a/ndeth.c b/ndeth.c index c9402c4..613ef64 100644 --- a/ndeth.c +++ b/ndeth.c @@ -55,6 +55,7 @@ static const struct net_device_ops ndeth_ops = { .ndo_open = ndeth_open, .ndo_stop = ndeth_stop, .ndo_start_xmit = ndeth_tx, + .ndo_set_mac_address = eth_mac_addr, }; struct net_device *ndeth; @@ -62,10 +63,13 @@ struct net_device *ndeth; static __init int ndeth_init(void) { int r = -ENOMEM; + char addr[ETH_ALEN]; ndeth = alloc_etherdev(0); if (!ndeth) goto out; ndeth->netdev_ops = &ndeth_ops; + random_ether_addr(addr); + memcpy(ndeth->dev_addr, addr, ETH_ALEN); r = register_netdev(ndeth); if (r) goto reg_out;