Re: [PATCHv2] vhost-net: add dhclient work-around from userspace

xming
2010-09-21T08:27:46Z

> Newer versions of dhclient should also be OK: they detect
> that checksum is missing in the packet. Try it e.g. with
> a recent fedora guest as a client.

I don't have fedora, but with the latest release (4.1.1-P1) on isc.org
it still behaves the same (see output at the bottom).

> To solve the problem for old clients, recent kernels and iptables have
> support for CHECKSUM target.
>
> You can use this target to compute and fill in the checksum in
> a packet that lacks a checksum.
>
> Typical expected use:
> iptables -A POSTROUTING -t mangle -p udp --dport bootpc \
> -j CHECKSUM --checksum-fill

Nice trick :D

> libvirt will program these for you if it sets up the server,
> maybe there needs a flag to tell it that server is local.

I don't use libvirt.

My point is, there doesn't seem to be much working client and the only
working client is a ver very old one (pump), newer client do not work,
as opposite to what you have explained.

To repeat myself, here is the situation:

- DHCP server with vhost_net, all client w/o vhost_net work, clients
with vhost_net do not work except pump
- DHCP server w/o vhost_net, all clients work
- physical DHCP server, client with vhost *do* work.

--- output of the lates DHCP client ---

Internet Systems Consortium DHCP Client 4.1.1-P1
Copyright 2004-2010 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth0/00:16:3e:00:07:01
Sending on LPF/eth0/00:16:3e:00:07:01
Sending on Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 6
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 13
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 14
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 10
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 18
5 bad udp checksums in 5 packets
No DHCPOFFERS received.
No working leases in persistent database - sleeping.