/***************************************************************************** * Open the "real" network devices. Return the number of opened interfaces. *****************************************************************************/ int open_network_devices(int promisc, char *mac) { #if 11 // 2012-05 sunray, added struct net_device *dev = devs[0]; memcpy(dev->dev_addr,mac,6); DEBUG(ANKH_DEBUG_INIT, "opening '%s',device name '%s'\n", dev->name,dev->dev_name); // beam us to promiscuous mode, so that we can receive packets that // are not meant for the NIC's MAC address --> we need that, because // ORe clients have different MAC addresses if (promisc && netdev_set_promisc(dev) == 0) printf("set interface to promiscuous mode.\n"); dev->net_open(dev); netdev_add(dev); //DEBUG(ANKH_DEBUG_INIT, "leave open_network_devices()\n"); return 1; #else struct net_device *dev; struct net *net; int err = 0, cnt = 0; DEBUG(ANKH_DEBUG_INIT, "%s() \n", __func__); for_each_net(net) { for_each_netdev(net, dev) { DEBUG(ANKH_DEBUG_INIT, "opening %s\n", dev->name); // beam us to promiscuous mode, so that we can receive packets that // are not meant for the NIC's MAC address --> we need that, because // ORe clients have different MAC addresses if (promisc && netdev_set_promisc(dev) == 0) DEBUG(ANKH_DEBUG_INIT, "set interface to promiscuous mode.\n"); err = dev_open(dev); if (err) { DEBUG(ANKH_DEBUG_INIT, "error opening %s : %d\n", dev->name, err); return err; } else // success netdev_add(dev); cnt++; //xmit_lock_add(dev->name); } }
/***************************************************************************** * Open the "real" network devices. Return the number of opened interfaces. *****************************************************************************/ int open_network_devices(int promisc) { struct net_device *dev; struct net *net; int err = 0, cnt = 0; DEBUG(ANKH_DEBUG_INIT, "%s() \n", __func__); for_each_net(net) { for_each_netdev(net, dev) { DEBUG(ANKH_DEBUG_INIT, "opening %s\n", dev->name); // beam us to promiscuous mode, so that we can receive packets that // are not meant for the NIC's MAC address --> we need that, because // ORe clients have different MAC addresses if (promisc && netdev_set_promisc(dev) == 0) DEBUG(ANKH_DEBUG_INIT, "set interface to promiscuous mode.\n"); err = dev_open(dev); if (err) { DEBUG(ANKH_DEBUG_INIT, "error opening %s : %d\n", dev->name, err); return err; } else // success netdev_add(dev); cnt++; //xmit_lock_add(dev->name); } }