/* brings interface up and runs a user-supplied script */ static int if_create() { tap_fd = tap_open(tap_dev); if (tap_fd < 0) { wmlog_msg(0, "failed to allocate tap interface"); wmlog_msg(0, "You should have TUN/TAP driver compiled in the kernel or as a kernel module.\n" "If 'modprobe tun' doesn't help then recompile your kernel."); exit_release_resources(1); } tap_set_hwaddr(tap_fd, tap_dev, wd_status.mac); tap_set_mtu(tap_fd, tap_dev, 1386); set_coe(tap_fd); wmlog_msg(0, "Allocated tap interface: %s", tap_dev); wmlog_msg(2, "Starting if-create script..."); raise_event("if-create"); return 0; }
/* brings interface up and runs a user-supplied script */ static int if_create() { tap_fd = tap_open(tap_dev); if (tap_fd < 0) { wmlog_msg(0, "failed to allocate tap interface"); wmlog_msg(0, "You should have TUN/TAP driver compiled in the kernel or as a kernel module.\n" "If 'modprobe tun' doesn't help then recompile your kernel."); exit_release_resources(1); } tap_set_hwaddr(tap_fd, tap_dev, wd_status.mac); tap_set_mtu(tap_fd, tap_dev, 1386); set_coe(tap_fd); //tap_dev pointed now to correct interface so we are free to update stistics paths sprintf(stat_rx_total_path, "/sys/class/net/%s/statistics/rx_bytes", tap_dev); sprintf(stat_tx_total_path, "/sys/class/net/%s/statistics/tx_bytes", tap_dev); wmlog_msg(0, "Allocated tap interface: %s", tap_dev); wmlog_msg(2, "Starting if-create script..."); raise_event("if-create"); return 0; }