20#include "pedigree/kernel/Log.h"
21#include "pedigree/kernel/Service.h"
22#include "pedigree/kernel/ServiceManager.h"
23#include "pedigree/kernel/machine/DeviceHashTree.h"
24#include "pedigree/kernel/processor/Processor.h"
26#include "modules/Module.h"
30#include "modules/system/network-stack/NetworkStack.h"
32static int configureInterfaces() {
34 DeviceHashTree::instance().
fill();
41 for (
size_t i = 0;; ++i) {
48 struct netif* iface = device.interface();
54 ByteSet(&ipaddr, 0,
sizeof(ipaddr));
55 ByteSet(&netmask, 0,
sizeof(netmask));
56 ByteSet(&gateway, 0,
sizeof(gateway));
58 netif_set_addr(iface, &ipaddr, &netmask, &gateway);
59 netif_set_ip6_autoconfig_enabled(iface, 1);
60 netif_create_ip6_linklocal_address(iface, 1);
73 configureInterfaces();
77static void destroy() {}
79MODULE_INFO(
"confignics", &init, &destroy,
"network-stack",
"lwip");
80MODULE_OPTIONAL_DEPENDS(
"nics",
"pcap");
void fill(Device *root=0)
static NetworkStack & instance()
MUST_USE_RESULT bool acquireDevice(size_t n, DeviceLease &lease)
void netif_set_link_up(struct netif *netif)
void netif_set_up(struct netif *netif)