On Sunday, 13.09.2015 at 10:23, Andrew Stuart wrote: > I’ve been poking around the code trying to find how a kernel built with a > hardware target configures its network internally. > > I can see that qemu is invoked with some network related parameters but that > configures the network on the host side, not the guest side, is that right? > If so, where and how does the hardware guest configure its network?
Network configuration is done in the same place for all platforms, namely librumprun_base/rumpconfig.c:handle_net(). For the HW platform, the network interface names are whatever a normal NetBSD kernel would use, and depend on the actual hardware device driver. These interfaces are created by the rump kernel during boot just like a normal kernel would do, i.e. by scanning the PCI bus and attaching drivers to known devices. For the Xen PV platform, an extra call to rump_pub_netconfig_ifcreate() is performed to actually create the interface in the rump kernel. This is triggered by the presence of the 'cloner' parameter in the configuration JSON. Aside: Antti: Why the name 'cloner'?
