Hi there,
I’m running lxd 3.0.1 installed via packages on Ubuntu 18.04
$ lxc info
[...]
driver_version: 3.0.1
kernel: Linux
kernel_architecture: x86_64
kernel_version: 4.15.0-32-generic
I’d to couple a FreeBSD application running in VirtualBox with LXD containers. For example:
|-------------| |--------| |-----------------| |-------------------|
| FreeBSD em0 |---| lxdbr2 |---| vethO54XQB@if13 |---| eth0 Ubuntu 18.04 |
| 172.27.35.1 | | no IP | | | | 172.27.35.10 |
|-------------| |--------| |-----------------| |-------------------|
The VirtualBox network interface is configured as “Bridged Adapter” using lxdbr2.
$ lxc network show lxdbr2
config:
dns.domain: my.lxd
ipv4.address: none
ipv4.firewall: "no"
ipv4.nat: "false"
ipv6.address: none
ipv6.firewall: "no"
ipv6.nat: "false"
description: Test network
name: lxdbr2
type: bridge
used_by:
- /1.0/containers/ubuntu
managed: true
status: Created
locations:
- none
While overall communication seems to work, it is impossible to create TCP connection between the LXD containers and the VirtualBox appliance. I’ve tracked this down to incorrect TCP checksums.
root@freebsd# tcpdump -i em0 -n port 22 -vv -XX
[...]
12:25:41.286051 IP (tos 0x0, tl 64, id 12400, offset 0, flags [DF], proto 6), length 60)
172.27.35.10.51740 > 172.27.35.1.22: Flags [S], cksum 0x9e70 (incorrect 0xc715), seq 3047848567, win 29200, options [mss 1460,sackOK,TS val 56867747 0,nop,wscale 7], length 0
0x0000: 0800 2766 8716 0016 3e45 28b9 0800 4500 ..'f....>E(...E.
0x0010: 003c 3070 4000 4006 6c0a ac1b 230a ac1b .<0p@.@.l...#...
0x0020: 2301 ca1c 0016 b5aa 7a77 0000 0000 a002 #.......zw......
0x0030: 7210 9e70 0000 0204 05b4 0402 080a 21e5 r..p..........!.
0x0040: 545e 0000 0000 0103 0307 T^........
A workaround has been suggested here:
https://patchwork.ozlabs.org/patch/261822/
root@ubuntu# ethtool -K eth0 tx off
Where’s the right place to fix this issue?