Kea 2.2.0 bad UDP checksum in virtual with virtio NIC
Describe the bug
Hi, I have a problem with Kea v2.2.0 from Debian Bookworm.
Requests from clients are delivered to the server, but reply is not delivered to the client because bad UDP checksum.
I have installed Kea in KVM virtual. NIC is virtio.
Same problem was with ISC-DHCP-SERVER ... but after while it was corrected. Like https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=717217 or https://lists.isc.org/pipermail/dhcp-workers/2021-October/000296.html .
To Reproduce
Steps to reproduce the behavior:
- Run Kea dhcpv4 in virtual host Debian Bookworm, hosted on KVM, NIC driver virtio, listening on vlan interface
- Client send request over DHCP Relay, relay is set to forward requests to the server
- Server receive request 2023-06-19T21:53:55.033537+02:00 kea-server kea-dhcp4[1006] 2023-06-19 21:53:55.033 INFO [kea-dhcp4.leases/1006.140669572348352] DHCP4_LEASE_ADVERT [hwtype=1 11:22:33:44:55:66], cid=[01:11:22:33:44:55:66], tid=0x4fb1ce6c: lease 10.11.12.13 will be advertised
- Client not get any reply.
Expected behavior
Client get advertised IP address from Kea server.
Environment:
- Kea version: 2.2.0 from distro Debian Bookworm
- OS: Debian Bookworm amd64
Additional Information
Request:
21:31:30.293127 99:88:77:66:55:44 > 52:54:00:00:00:00, ethertype IPv4 (0x0800), length 342: (tos 0x0, ttl 64, id 14533, offset 0, flags [DF], proto UDP (17), length 328)
10.12.13.14.67 > 10.12.13.15.67: [udp sum ok] BOOTP/DHCP, Request from 11:22:33:44:55:66, length 300, hops 1, xid 0x7edf76f, secs 20667, Flags [none] (0x0000)
Gateway-IP 10.11.12.254
Client-Ethernet-Address 11:22:33:44:55:66
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message (53), length 1: Discover
Parameter-Request (55), length 8:
Subnet-Mask (1), Default-Gateway (3), Domain-Name-Server (6), Hostname (12)
Domain-Name (15), BR (28), NTP (42), Vendor-Option (43)
MSZ (57), length 2: 576
Vendor-Class (60), length 4: "abcd"
Client-ID (61), length 7: ether 11:22:33:44:55:66
Agent-Information (82), length 16:
Circuit-ID SubOption 1, length 6: ^XM-}ttM-/(
Remote-ID SubOption 2, length 6: vlan10
Reply:
21:31:30.293740 52:54:00:00:00:00 > 99:88:77:66:55:44, ethertype IPv4 (0x0800), length 365: (tos 0x0, ttl 64, id 45947, offset 0, flags [DF], proto UDP (17), length 351)
10.12.13.15.67 > 10.12.13.14.67: [**bad udp cksum 0x247b -> 0x7b5a!**] BOOTP/DHCP, Reply, length 323, hops 1, xid 0x7edf76f, Flags [none] (0x0000)
Your-IP 10.11.12.13
Gateway-IP 10.11.12.254
Client-Ethernet-Address 11:22:33:44:55:66
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message (53), length 1: Offer
Subnet-Mask (1), length 4: 255.255.255.0
Default-Gateway (3), length 4: 10.11.12.254
Domain-Name-Server (6), length 8: 10.11.12.254
Hostname (12), length 4: "abcde"
Lease-Time (51), length 4: 31680
Server-ID (54), length 4: 10.12.13.15
RN (58), length 4: 15840
RB (59), length 4: 27720
Client-ID (61), length 7: ether 11:22:33:44:55:66
Agent-Information (82), length 16:
Circuit-ID SubOption 1, length 6: ^XM-}ttM-/(
Remote-ID SubOption 2, length 6: vlan10
Contact
You can contact me on my mail daemoncze@gmail.com or on jabber daemoncze@jabbim.cz .