vmm: net: use the MAC to signal the networking style
authorBarret Rhoden <brho@cs.berkeley.edu>
Wed, 12 Jun 2019 21:07:33 +0000 (17:07 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Thu, 11 Jul 2019 18:29:21 +0000 (14:29 -0400)
commit5858ff1f3474a0e01941d299766bb095ced2d2b6
treeae1b1d6b7f759ba323f271ef8d97e8e6970a4f92
parenta543d3a249d96bff25fb54ee9392177e23ee6dbf
vmm: net: use the MAC to signal the networking style

Our NAT has the ability to emulate the 10.0.2.x network, where the guest
is .15 and the host/router is .2.  It can also use 'real addresses',
where the guest thinks it has the host's IP.

It's hard for the guest to know which type of network it is on until it
gets a DHCP response.  Those can be slow (relatively), and VM appliances
that use networking at all want to use a static config.

This commit uses the lowest byte of our synthetic virtio-net MAC address
to tell the guest which style of networking is present.  Suitably
coupled guest startup scripts can check the MAC address, detect the
10.0.2.x network, and statically configure themselves.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
user/vmm/nat.c