bool pim_intfconf_node::fill_defaults() { for (pim_property *p = pim_intf_props; p->name; p++) instantiate_property_u(p->name, p->value, p->description); instantiate_property_b("cisco-old-addrlist", false); return m_properties.size() == 15; }
linux_unicast_router::linux_unicast_router() : rt_bcast_sock("linux netlink routing msgs", this, std::mem_fun(&linux_unicast_router::data_available)) { rt_sock = -1; rt_nlseq = 0; bufferlen = instantiate_property_u("netlink-buffer", 0xffff); buffer = 0; import_methods(linux_methods); filter_protos.insert(RTPROT_KERNEL); rt_dumping = false; }
bool console_module::check_startup() { if (!node::check_startup()) return false; import_methods(console_methods); if (!instantiate_property_u("client-timeout", 5)) return false; int one = 1; #ifndef CONSOLE_NO_TELNET int sock = socket(PF_INET6, SOCK_STREAM, 0); if (sock < 0) return false; setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &one, sizeof(one)); sockaddr_in6 lhaddr; memset(&lhaddr, 0, sizeof(lhaddr)); lhaddr.sin6_family = PF_INET6; lhaddr.sin6_addr = in6addr_any; lhaddr.sin6_port = ntohs(44510); if (bind(sock, (sockaddr *)&lhaddr, sizeof(lhaddr)) < 0) { close(sock); return false; } if (listen(sock, 5) < 0) { close(sock); return false; } srvsock.register_fd(sock); #endif int unixsock = socket(PF_LOCAL, SOCK_STREAM, 0); if (unixsock < 0) { } else { setsockopt(unixsock, SOL_SOCKET, SO_REUSEADDR, &one, sizeof(one)); sockaddr_un unlhaddr; memset(&unlhaddr, 0, sizeof(unlhaddr)); unlhaddr.sun_family = PF_LOCAL; strcpy(unlhaddr.sun_path, socketPath); unlink(socketPath); if (bind(unixsock, (sockaddr *)&unlhaddr, sizeof(unlhaddr)) < 0) { /* empty */ } else { if (listen(unixsock, 5) < 0) { if (should_log(WARNING)) log().writeline("Failed to listen in UNIX socket."); } else { unix_srvsock.register_fd(unixsock); } } } m_mrd->add_child(this); return true; }