RSS and SMB Multichannel

Hey all, trying to do some testing with RSS and SMB Multichannel and running into an interface issue. Running 25.04.2.3.

The server has a dedicated nic for production, which is an lacp bond, then a dedicated management interface (in a different vlan).

When I check the SMB Multichannel connection settings from the clients I get the following.

Windows

PS C:\WINDOWS\system32> Get-SmbMultichannelConnection

Server Name Selected Client IP  Server IP    Client Interface Index Server Interface Index Client RSS Capable Client
                                                                                                              RDMA
                                                                                                              Capable
----------- -------- ---------  ---------    ---------------------- ---------------------- ------------------ ---------

server     True     192.168.1.48 192.168.100.32 5                      2                      True               False

Macos

Info: Setup Time: 2025-09-06 10:53:27, Multichannel ON: yes, Reconnect Count: 0
	Total RX Bytes: 77000 (Packets: 146)
	Total TX Bytes: 47246 (Packets: 142)
       id         client IF             server IF   state                     server ip                 port   speed
========================================================================================================================
M      10  en0    (Ethernet)   20             7          [session active       ]   192.168.1.35                445    10.0 Gb
Server NIC:
	name: NA, idx: 7, type:    NA, speed 80.0 Gb, state connected
		ip_addr: 192.168.1.35
Server NIC:
	name: NA, idx: 2, type:    NA, speed 1.0 Gb, state idle
		ip_addr: 192.168.100.32
		capabilities: RSS_CAPABLE

As you can see, both macos and widows report RSS disabled on the production link. I checked the server, verified RSS is active and running on the link.

I have a second server, same setup, same issue.

There are various ways with ethtool to disable rss like ethtool -K <interface_name> rx-all off, but those seem to have no effect.

Is this something that can be addressed in the smb config?

Do those work with SMB multichannel?

With RSS, yes.

https://learn.microsoft.com/en-us/windows-server/storage/storage-spaces/manage-smb-multichannel

here’s the ethtool (the second interface returns the same) output from the server.

ethtool -x enp1        
RX flow hash indirection table for enp1 with 48 RX ring(s):
    0:      0     1     2     3     4     5     6     7
    8:      8     9    10    11    12    13    14    15
   16:     16    17    18    19    20    21    22    23
   24:     24    25    26    27    28    29    30    31
   32:     32    33    34    35    36    37    38    39
   40:     40    41    42    43    44    45    46    47
   48:      0     1     2     3     4     5     6     7
   56:      8     9    10    11    12    13    14    15
   64:     16    17    18    19    20    21    22    23
   72:     24    25    26    27    28    29    30    31
   80:     32    33    34    35    36    37    38    39
   88:     40    41    42    43    44    45    46    47
   96:      0     1     2     3     4     5     6     7
  104:      8     9    10    11    12    13    14    15
  112:     16    17    18    19    20    21    22    23
  120:     24    25    26    27    28    29    30    31
  128:     32    33    34    35    36    37    38    39
  136:     40    41    42    43    44    45    46    47
  144:      0     1     2     3     4     5     6     7
  152:      8     9    10    11    12    13    14    15
  160:     16    17    18    19    20    21    22    23
  168:     24    25    26    27    28    29    30    31
  176:     32    33    34    35    36    37    38    39
  184:     40    41    42    43    44    45    46    47
  192:      0     1     2     3     4     5     6     7
  200:      8     9    10    11    12    13    14    15
  208:     16    17    18    19    20    21    22    23
  216:     24    25    26    27    28    29    30    31
  224:     32    33    34    35    36    37    38    39
  232:     40    41    42    43    44    45    46    47
  240:      0     1     2     3     4     5     6     7
  248:      8     9    10    11    12    13    14    15
RSS hash key:
21:etc
RSS hash function:
    toeplitz: on
    xor: off
    crc32: off
ethtool -i enp1
driver: mlx5_core
version: 6.12.15-production+truenas
firmware-version: 16.34.1002 (MT_0000000012)
expansion-rom-version: 
bus-info: 0000:81:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: yes

I’m still skeptical, while that article does mention Windows NIC teaming server-side (in certain versions) I find it striking that 802.3ad or LACP isn’t mentioned even once.

Have you verified that 802.3ad is indeed enabled and working? The switch on the other end configured correctly?

1 Like

Microsoft calls it “Nic Teaming”. Look at the section “SMB Multichannel, RDMA-capable network adapters, and NIC teaming compatibility”.

The lag is working, been in production for a while. As far as I can tell there’s no special config for the lag.

AFAICT, they only talk about NIC Teaming in the context of there being a Windows Server running said team.

My recommendation would be to try without the LACP bond, to get a data point.

Perhaps someone else can offer further advice.

1 Like

There’s a switch in the smb.conf file to define RSS interfaces, I’ll give that a shot.

Example: interfaces = "eth0;if_index=65,speed=1000000000,capability=RSS"

https://www.samba.org/samba/docs/current/man-html/smb.conf.5.html

Solved it by adding the correct switches to the lacp interface.

service smb update smb_options="interfaces=\"<address>;speed=80000000000,capability=RSS\"\nserver smb encrypt = off"

service smb config
+-----------------+----------------------------------------------------------+
|              id | 1                                                        |
|     netbiosname | SERVER                                                  |
|    netbiosalias | <empty list>                                             |
|       workgroup | GROUP                                                     |
|     description | server                                                  |
|     enable_smb1 | false                                                    |
|     unixcharset | UTF-8                                                    |
|     localmaster | true                                                     |
|          syslog | false                                                    |
| aapl_extensions | false                                                    |
|     admin_group | <null>                                                   |
|           guest | nobody                                                   |
|        filemask | DEFAULT                                                  |
|         dirmask | DEFAULT                                                  |
|     ntlmv1_auth | false                                                    |
|    multichannel | true                                                     |
|      encryption | DEFAULT                                                  |
|          bindip | bond address                                               |
|      server_sid | S-etc               |
|     smb_options | interfaces="192.168.35;speed=80000000000,capability=RSS" |
|                 | server smb encrypt = off                                 |
|           debug | false                                                    |
+-----------------+----------------------------------------------------------+

Info: Setup Time: 2025-09-07 11:21:19, Multichannel ON: yes, Reconnect Count: 0
	Total RX Bytes: 91966 (Packets: 175)
	Total TX Bytes: 57174 (Packets: 171)
       id         client IF             server IF   state                     server ip                 port   speed
========================================================================================================================
M      20  en0    (Ethernet)   20             8 (RSS_0)  [session active       ]   192.168.1.35               445    10.0 Gb
Server NIC:
	name: NA, idx: 8, type:    NA, speed 80.0 Gb, state connected
		ip_addr: 192.168.1.35
		capabilities: RSS_CAPABLE