+
+ /* Set default MAC address for ethertap devices */
+
+ taptype = TAP_TYPE_ETHERTAP;
+ mymac.type = SUBNET_MAC;
+ mymac.net.mac.address.x[0] = 0xfe;
+ mymac.net.mac.address.x[1] = 0xfd;
+ mymac.net.mac.address.x[2] = 0x00;
+ mymac.net.mac.address.x[3] = 0x00;
+ mymac.net.mac.address.x[4] = 0x00;
+ mymac.net.mac.address.x[5] = 0x00;
+
+#ifdef HAVE_TUNTAP
+ /* Ok now check if this is an old ethertap or a new tun/tap thingie */
+ memset(&ifr, 0, sizeof(ifr));
+cp
+ ifr.ifr_flags = IFF_TAP | IFF_NO_PI;
+ if (netname)
+ strncpy(ifr.ifr_name, netname, IFNAMSIZ);
+cp
+ if (!ioctl(tap_fd, TUNSETIFF, (void *) &ifr))
+ {
+ syslog(LOG_INFO, _("%s is a new style tun/tap device"), tapfname);
+ taptype = TAP_TYPE_TUNTAP;
+ }
+#endif
+
+ /* Add name of network interface to environment (for scripts) */
+
+ ioctl(tap_fd, SIOCGIFNAME, (void *) &ifr);
+ asprintf(&envvar, "IFNAME=%s", ifr.ifr_name);
+ putenv(envvar);
+ free(envvar);
+