# disabling NIC features with ifconfig



## chrcol (Nov 19, 2008)

Ok I am currently diagnosing poor network performance on a remote server, I have one server performing very well and another badly on the same network.  I have been trying to configure the poor one as like for like as the good one as possible and so far have had a little improvement.

Both servers are running 7.1 PRERELEASE code that is about 2-4 weeks old.

The difference I am looking at, at the moment is the good server is using a MSK card that has no hardware features like checksum offloading, no TSO but does have hardware VLAN.

The bad server is using a NFE card which currently has RXCSUM,TXCSUM,VLAN_MTU,TSO4 enabled, its also sharing a irq with a usb port.  I then enabled polling which seemed to also help a bit.  The usb port is idle tho.

What I want to do is disable RXCSUM and TXCSUM and the TSO4.  I dont have console access.  So would the following command work and the server stays online?

ifconfig nfe0 -txcsum -rxcsum -tso4

Also if this gives no benefit the machine has a BGE nic which I am considering to try using although will be a pain to swap it round as need datacentre staff to coordinate.

Thanks


----------



## SirDice (Nov 19, 2008)

Bad performance is usually due to duplex settings. Make sure the switch and the NIC is set to full duplex. Do not use auto/auto for duplex/speed settings.


----------



## Alt (Nov 19, 2008)

ifconfig nfe0 -txcsum -rxcsum
I think this will slow down network. Really, better check your duplex settings, also check for errors with
netstat -wI 1 nfe0


----------



## chrcol (Nov 21, 2008)

Hi guys, it is using auto duplex but its auto negotiated at full duplex to match the switch, last time I tried to manual negitiate it the server disconnected of the internet and I had to reboot it. 

No errors in netstat.

Reason I want to remove checksum is that the nvidia cards dont have a good reputation and I am reading so many scenarios where people disable checksum offloading to fix issues albeit on windows machines so it is something I wish to try to rule that out as the problem.  I will try on monday and report back to you guys if any improvement or not.


----------



## phoenix (Nov 24, 2008)

SirDice said:
			
		

> Bad performance is usually due to duplex settings. Make sure the switch and the NIC is set to full duplex. Do not use auto/auto for duplex/speed settings.



Auto-negotiation is required for gigabit and faster connections.  The only time one should not use auto-neg is on hubs, old 10/100 switches, or when locking in half-duplex operation.


----------



## chrcol (Nov 25, 2008)

ok rxcsum and txcsum disabled now with no downtime, will run it like this for a while and watch performance, thanks.


----------



## SirDice (Nov 25, 2008)

phoenix_rizzen said:
			
		

> The only time one should not use auto-neg is on hubs, old 10/100 switches, or when locking in half-duplex operation.


In theory, yes. In practice (about 10 years being a network admin) I know most performance problems are solved by fixating the speed/duplex settings. Auto-negotiation seems to fail on implementation differences between different brands of equipment (nic brand vs. switch brand). I've seen many times where the auto/auto resulted in 100/half instead of 100/full. Even on brand spanking new Cisco 6500s.


----------



## chrcol (Dec 4, 2008)

I can confirm disabling the hardware checksum has given a noticeable boost in performance, still not at the same level as the other server but a boost nevertherless.


----------

