1

My target is to increase the ring buffer ( I have Linux red-hat 7.1 ) , but I get the following:

ethtool -G eth1 rx 8192
Cannot set device ring parameters: Invalid argument

so how to enable this value? , or maybe this is the MAX value?

the current status:

ethtool -g eth1
Ring parameters for eth1:
Pre-set maximums:
RX:             4096
RX Mini:        0
RX Jumbo:       0
TX:             4096
Current hardware settings:
RX:             256
RX Mini:        0
RX Jumbo:       0
TX:             512

Remark - I want to increase the ring buffer because errors - pkts rx OOB - indicate that the network card is out of buffer

# ethtool -i eth1
  driver: vmxnet3
  version: 1.1.30.0-k-NAPI
  firmware-version:
  bus-info: 0000:1b:00.0
  supports-statistics: yes
  supports-test: no
  supports-eeprom-access: no
  supports-register-dump: yes
  supports-priv-flags: no


  more /etc/modprobe.d/blacklist.conf
  blacklist ipv6


  more /etc/sysconfig/network-scripts/ifcfg-eth1

  MTU=9000
  DEVICE=eth1
  HWADDR=70:10:76:9E:02:81
  TYPE=Ethernet
  ONBOOT=yes
  BOOTPROTO=static
  NETMASK=255.255.255.0
  IPADDR=12.160.0.36


  modinfo vmxnet3
  filename:       /lib/modules/3.10.0-    229.14.1.el7.x86_64/kernel/drivers/net/vmxnet3/vmxnet3.ko
  version:        1.1.30.0-k
  license:        GPL v2
  description:    VMware vmxnet3 virtual NIC driver
  author:         VMware, Inc.
  rhelversion:    7.1
  srcversion:     EF80BF71B6F577C3370F410
  alias:          pci:v000015ADd000007B0sv*sd*bc*sc*i*
  depends:
  intree:         Y
  vermagic:       3.10.0-229.14.1.el7.x86_64 SMP mod_unload modversions
  signer:         Red Hat Enterprise Linux kernel signing key
  sig_key:         44:02:00:8F:2B:3F:DA:1F:6C:1C:64:BA:2C:10:BF:0C:FE:EC:AB:B7
  sig_hashalgo:   sha256
yael
  • 43
  • 1
  • 3
  • 9

2 Answers2

3

Increasing Ring Buffers Beyond Driver Default Limits

You are trying to set RX to 8192, but the driver default limits are 4096 as per your output.

To increase the limits imposed by the driver, you will need to first see what driver you are using ethtool -i eth1 and use modinfo vmxnet3 in your case, or the driver documentation to get the options available for that driver.

You would then set the options as desired and as supported by the driver in a custom file /etc/modprobe.d/drivername.conf

You could either unload and reinstall the driver manually, or reboot for the settings to take effect.

Disclaimer: If you choose a setting that the driver does not properly support, you will lose network connectivity and will have to restore the configuration from a console or out-of-band console device such as iLo or iDrac or other remote management interface. I am providing this disclaimer for anyone doing this on bare metal. In this example, they are using VMWare, so they could use the vSphere console to regain access and restore settings.

Aaron
  • 2,809
  • 2
  • 11
  • 29
  • hi Aaron , first thank you for the excellent answer , I update my question with the details about the driver name and the only file that exist under /etc/modprob.d is the blacklist.conf file , so my question is how to update the driver from this point? , ( not know well to use the modprobe command ) and what we can learn from the file - /etc/modprobe.d/blacklist.conf ? ( remark I have Linux VM machine ) – yael Mar 09 '16 at 17:23
  • Ah, vmware. `modinfo vmxnet3` to get the supported options. For sure you would want to read up on the current documentation on vmware.com knowledgebase regarding their vmxnet3 network driver. You can ignore blacklist.conf. That just contains hardware that Redhat know they can't support. – Aaron Mar 09 '16 at 17:35
  • I updated again my question with the output of the command --> modinfo vmxnet3 – yael Mar 09 '16 at 17:46
  • I little get lost with all the info from modinfo .... , not sure how to update the driver in order to support higher value from 4096 (RX) – yael Mar 09 '16 at 17:50
  • Based on your output, there are no confiigurable options. This does not surprise me. You will likely need to make changes in the hypervisor itself. I strongly suggest reading up on vmware docs, or opening a case with them and describing the goals, issues, etc. They will be more than happy to assist. – Aaron Mar 09 '16 at 17:56
  • Ok , I will try to open case to VMware , but what you suggest to focus on regarding the the case that I will open ? , for example wrong driver version? or firmware upgrade , install VMware tools update etc? ( by the way all VM machine are exists in HP blade machine ) – yael Mar 09 '16 at 18:12
  • Best to just tell them what problems you are ultimately trying to solve and let them give you suggestions. If you just ask for ways to increase the ring buffer, they might tell you that isn't supported. I would give them the bigger picture you are trying to solve. – Aaron Mar 09 '16 at 18:18
  • Ok , thank you for all , just for your info , this happens only on Linux version 7.x , other machines with 6.x or less not have this problem , – yael Mar 09 '16 at 18:23
1

Your maximum value is 4096, as per the ethtool output.

Please try that value.

The maximum value varies depending on your hardware. For instance:

[root@LAS ~]# ethtool -g eth1
Ring parameters for eth1:
Pre-set maximums:
RX:     2047
RX Mini:    0
RX Jumbo:   0
TX:     511
Current hardware settings:
RX:     200
RX Mini:    0
RX Jumbo:   0
TX:     511
ewwhite
  • 194,921
  • 91
  • 434
  • 799
  • hi ewwhite , as you see from my discussion with Aaron , I have VM machine ( vsphere version 5.5.0 ) – yael Mar 09 '16 at 18:20
  • You shouldn't need to have to do this. Can you please provide more context on your environment? – ewwhite Mar 09 '16 at 18:29
  • not understand do you mean that you not agree with Aaron conclusion? – yael Mar 09 '16 at 20:01
  • please tell me what of kind of details you need?, please see my question with deep detail about my Linux machine – yael Mar 09 '16 at 20:27