azazel1024
Very Senior Member
So a thread either on here or over on Anandtech got me thinking about flow control a bit. I've never bothered playing with it on a network. Just leaving the defaults, and oh hey, things seem to work okay.
Well in testing my network config, I delved in to testing flow control too and I am glad I did. What happens next will shock you
My network setup consists of a semi star layout.
I have a core network switch of a TP-Link SG-2216 with all ports filled. Branched off is a Trendnet TEG160sw with only 3 ports currently filled, plus a dual port uplink to the SG-2216. I also have a 5 port DLink DGS1100-05, plus 3 routers (2 in AP mode) off the SG2216 as well, feed either themselves, or multiple devices (well, only the DGS1100 feed multiple, the APs have nothing hung off them currently, other than WLAN clients and the router is only to WAN).
I wanted to test my uplink between switches to see if SMB Multichannel would work cross switches. I couldn't think of a reason why not, but I've seen that SMB Multichannel does not work with adapters teamed (its an either or, though I guess if you had ENOUGH NICs, you could have two seperate teams of adapters and each team could combine for SMB Multichannel, but since I don't have 4 extra ports laying around to combine on my server and desktop, I can't test that theory, unless someone wants to donate some Intel adapters to the cause...)
Pulled the cables on my desktop at the switches and plugged it in to the TEG160sw, so that it had to go across the 2 port uplink to the SG-2216 and then to the server. No dice, I got 20-30MB/sec of performance. This is compared to ~230MB/sec of performance intraswitch with the two NICs on both machines.
I thought, dag nabit, SMB Multichannel is bunk across switch...wait a second...hmmm, the switch ports say flow control is disabled on the switch, I wonder if I...oh, look, 117MB/sec now. Hmm, so SMB Multichannel doesn't work across switches, but with flow control on, it'll work at single port speed. Okay, that is something. Wait, upload from server to desktop is 20-30MB/sec. WTF?
More playing, if I connected one port to each switch I could get 230MB/sec. Screwy. I checked my other switch, oh, flow control is off on that one, lets turn it on. Screwy results. Okay, lets DISABLE flow control on my Intel NICs...oh, 230MB/sec ACROSS switches, lets enable it on the NICs, 117MB/sec on both switchs? WTF? Checked again a few minutes later, 236MB/sec on both switches.
I played with a few other NICs I had in other machines, they are all working better (and with flow control enabled on them).
Moral of the story, sometimes things need to settle (I guess windows wasn't kicking in SMB Multichannel with the NIC settings changed, at least not for a minute or two). Also Flow control is VITAL for the proper functioning of things.
With flow control disabled, if I had both Intel NICs enabled, but only ONE of them connected, I'd get 20-30MB/sec. If I had both enabled, I'd get 230MB/sec, but that is the only time things seemed to work great. I'd be hit or miss on other adapters working properly. Sometimes I could get 114-116MB/sec, and sometimes I'd get odd 20-50MB/sec performance. With flow control enabled on EVERYTHING, EVERYTHING seems to work better.
Also single port speeds are higher too. Previously my max was with the Intel NICs and I'd hit 117.5MB/sec ultimate max. I am now hitting 119-120MB/sec with a single NIC and teamed I hit 238MB/sec (this is with 9k jumbo frames). Most of my other adapters now work consistently at full speed and also seem to have picked up a good 1-2MB/sec of performance also.
Which makes me wonder, why the heck is flow control being disabled on the switches the default behavior? This was the case with all 3 semi-managed switches I had.
As a test, I tried disabling flow control on EVERYTHING (as all NICs default behavior has been to have it on, and all switchs was off, I set them all to off), things behaved a little better than with the NICs having it on and the switchs off, but with everything set for flow control to be one, everything performs MUCH better.
So, the morality tale ends with, flow control is rather vital for the proper functioning of things apparently.
Well in testing my network config, I delved in to testing flow control too and I am glad I did. What happens next will shock you

My network setup consists of a semi star layout.
I have a core network switch of a TP-Link SG-2216 with all ports filled. Branched off is a Trendnet TEG160sw with only 3 ports currently filled, plus a dual port uplink to the SG-2216. I also have a 5 port DLink DGS1100-05, plus 3 routers (2 in AP mode) off the SG2216 as well, feed either themselves, or multiple devices (well, only the DGS1100 feed multiple, the APs have nothing hung off them currently, other than WLAN clients and the router is only to WAN).
I wanted to test my uplink between switches to see if SMB Multichannel would work cross switches. I couldn't think of a reason why not, but I've seen that SMB Multichannel does not work with adapters teamed (its an either or, though I guess if you had ENOUGH NICs, you could have two seperate teams of adapters and each team could combine for SMB Multichannel, but since I don't have 4 extra ports laying around to combine on my server and desktop, I can't test that theory, unless someone wants to donate some Intel adapters to the cause...)
Pulled the cables on my desktop at the switches and plugged it in to the TEG160sw, so that it had to go across the 2 port uplink to the SG-2216 and then to the server. No dice, I got 20-30MB/sec of performance. This is compared to ~230MB/sec of performance intraswitch with the two NICs on both machines.
I thought, dag nabit, SMB Multichannel is bunk across switch...wait a second...hmmm, the switch ports say flow control is disabled on the switch, I wonder if I...oh, look, 117MB/sec now. Hmm, so SMB Multichannel doesn't work across switches, but with flow control on, it'll work at single port speed. Okay, that is something. Wait, upload from server to desktop is 20-30MB/sec. WTF?
More playing, if I connected one port to each switch I could get 230MB/sec. Screwy. I checked my other switch, oh, flow control is off on that one, lets turn it on. Screwy results. Okay, lets DISABLE flow control on my Intel NICs...oh, 230MB/sec ACROSS switches, lets enable it on the NICs, 117MB/sec on both switchs? WTF? Checked again a few minutes later, 236MB/sec on both switches.
I played with a few other NICs I had in other machines, they are all working better (and with flow control enabled on them).
Moral of the story, sometimes things need to settle (I guess windows wasn't kicking in SMB Multichannel with the NIC settings changed, at least not for a minute or two). Also Flow control is VITAL for the proper functioning of things.
With flow control disabled, if I had both Intel NICs enabled, but only ONE of them connected, I'd get 20-30MB/sec. If I had both enabled, I'd get 230MB/sec, but that is the only time things seemed to work great. I'd be hit or miss on other adapters working properly. Sometimes I could get 114-116MB/sec, and sometimes I'd get odd 20-50MB/sec performance. With flow control enabled on EVERYTHING, EVERYTHING seems to work better.
Also single port speeds are higher too. Previously my max was with the Intel NICs and I'd hit 117.5MB/sec ultimate max. I am now hitting 119-120MB/sec with a single NIC and teamed I hit 238MB/sec (this is with 9k jumbo frames). Most of my other adapters now work consistently at full speed and also seem to have picked up a good 1-2MB/sec of performance also.
Which makes me wonder, why the heck is flow control being disabled on the switches the default behavior? This was the case with all 3 semi-managed switches I had.
As a test, I tried disabling flow control on EVERYTHING (as all NICs default behavior has been to have it on, and all switchs was off, I set them all to off), things behaved a little better than with the NICs having it on and the switchs off, but with everything set for flow control to be one, everything performs MUCH better.
So, the morality tale ends with, flow control is rather vital for the proper functioning of things apparently.