Currently, bhyve does not use the VIRTIO header, which makes a test with bhyve impossible. It does not need much.To test the changes, I will add this in a follow-upI enabled `txcsum` and `txcsum6` on the epair interface with this patch.
To test the changes now, I enabled `txcsum` and `txcsum6` on the epair interface with this patch.
Create an epair interface and set IP address.
```
ifconfig epair0 create
ifconfig epair0a inet 192.168.0.1/24 up
```
Move epair0b into a VNET and set IP address.
```
jail -c name=jvnet host.hostname=jvnet persist vnet vnet.interface=epair0b
jexec jvnet ifconfig epair0b inet 192.168.0.2/24 up
```
Test TCP with nc
```
jexec jvnet nc -l 1234
nc 192.168.0.2 1234
```
Result: Data transfer works even though TCP segments are sent with an incorrect checksum (observable with tcpdump).
More advanced test would include routing to cover the code changes in ip_fastfwd.c, ip6_forward.c, and ip6_fastfwd.c.