I have an LXC that is running Samba and I cannot seem to get RSS working. The same Samba configuration in a VM works. I think it is related to multiqueue.
Commands such as ethtool show there is only 1 tx/rx queue on the interface inside the container. Even if I change it and restart Samba, it doesn't change anything. One thing that I also notice is that ethtool -x doesn't work on the containers interface, so you don't see the hashing or anything.
On a windows VM (or Linux VM with OpenMediaVault) hosting a Windows/Samba share, on the client (a linux VM),
when I `cat /proc/fs/cifs/DebugData` I can see
```
1) Speed: 10Gbps
Capabilities: rss
IPv4: <removed>
Weight (cur,total): (1,1)
Allocated channels: 4
[CONNECTED]
```
but if Samba is hosted in LXC I see
```
1) Speed: 10Gbps
Capabilities: None
IPv4: <removed>
Weight (cur,total): (1,1)
Allocated channels: 1
[CONNECTED]
```
Because I'm binding mounting and I don't want to pass the controllers to the VM, I wanted to use the LXC, but it seems I can't do that and have RSS working. The only option I can see where I get the best of both worlds is to look pass thru an adapter to the LXC. (I have a ConnectX-3 so I can look into the SRV-IO stuff) but I didn't want to overly complicate things.
Is there a way to get RSS, queues and hashing working inside the container?
Commands such as ethtool show there is only 1 tx/rx queue on the interface inside the container. Even if I change it and restart Samba, it doesn't change anything. One thing that I also notice is that ethtool -x doesn't work on the containers interface, so you don't see the hashing or anything.
On a windows VM (or Linux VM with OpenMediaVault) hosting a Windows/Samba share, on the client (a linux VM),
when I `cat /proc/fs/cifs/DebugData` I can see
```
1) Speed: 10Gbps
Capabilities: rss
IPv4: <removed>
Weight (cur,total): (1,1)
Allocated channels: 4
[CONNECTED]
```
but if Samba is hosted in LXC I see
```
1) Speed: 10Gbps
Capabilities: None
IPv4: <removed>
Weight (cur,total): (1,1)
Allocated channels: 1
[CONNECTED]
```
Because I'm binding mounting and I don't want to pass the controllers to the VM, I wanted to use the LXC, but it seems I can't do that and have RSS working. The only option I can see where I get the best of both worlds is to look pass thru an adapter to the LXC. (I have a ConnectX-3 so I can look into the SRV-IO stuff) but I didn't want to overly complicate things.
Is there a way to get RSS, queues and hashing working inside the container?