I implemented software TX/RX offload engines for ethernet:
http://www.netbsd.org/~rin/ether_offload_20180916.patch
Using these routines, I wrote a patch where TX offloading is canceled in
bridge_output() when the destination interface is different from the
source interface:
http://www.netbsd.org/~rin/bridge_tx_offload_20180916.patch
With this patch, the guest successfully communicates with the host even
if any TX offloading is enabled on the host side.
Also, I added TX/RX offloading support to shmif(4):
http://www.netbsd.org/~rin/shmif_offload_20180916.patch
Since I'm not familiar with rump, this patch has not been tested
systematically yet. But it seems to work to some extent...