Giriş
ethtool ağ kartını kontrol etmek için kullanılıyor.
-k seçeneği
Tüm ayarların durumunu görmek için kullanılır.
Pause flowcontrol için kullanılır. Şöyle yaparız.
1500 byte'tan daha büyük paketlerin donanımda veya yazılımda bölünmesini kontrol eder. Bu seçenek genelde şöyledir.
ethtool ağ kartını kontrol etmek için kullanılıyor.
-k seçeneği
Tüm ayarların durumunu görmek için kullanılır.
ethtool -k eth0Pause flowcontrol için kullanılır. Şöyle yaparız.
gso - generic segmentation offload ve generic receive offload#pause on
ethtool -A eth0 tx on rx on
#auto-negotiation is on
ethtool -A eth0 autoneg on
#restart auto-negotiation
ethtool -r eth0
1500 byte'tan daha büyük paketlerin donanımda veya yazılımda bölünmesini kontrol eder. Bu seçenek genelde şöyledir.
generic-segmentation-offload: on
generic-receive-offload: onethtool -K eth0 gso off gro off
Şöyle yaparız.
Örnek
ethtool -K <iface> gso off &&
ethtool -K <iface> tso off &&
ethtool -K <iface> gro offstruct ethtool_value eval;
eval.cmd = ETHTOOL_GGSO;
ifr->ifr_data = (caddr_t)&eval;
err = ioctl(fd, SIOCETHTOOL, ifr);
if (err)
        perror("Cannot get device generic segmentation offload settings");
else {
        gso = eval.data;
        allfail = 0;
}Örnek
Şöyle yaparız.
tso - tcp segmentation offload
Örnek ver.
tx ve rx checksum
IP Checksum hesaplamasının donanımda veya yazılımda yapılmasını kontrol eder. Bu seçenek genelde şöyledir.
statistics anlamına gelir. LRO sayacını görmek için şöyle yaparız.
change anlamına gelir. Şöyle yaparız.
Yukarıdak kod örneklerinin açıklaması şöyle. ethtool_value yapısı için şu satırı dahil ederiz.
eval nesnesi ifreq nesnesinin ifr_data alanına atanır.
ethtool -K <interface_name> lro onÖrnek
Şöyle yaparız.
// Turn LRO off
ethtool -K eth2 lro off
echo -e “ethtool -K eth2 lro off” >> /etc/rc.local
// Check the result
cat /etc/rc.local
ethtool -k eth2 | grep large-receive-offloadÖrnek ver.
tx ve rx checksum
IP Checksum hesaplamasının donanımda veya yazılımda yapılmasını kontrol eder. Bu seçenek genelde şöyledir.
rx-checksumming: on
tx-checksumming: on
    tx-checksum-ipv4: off [fixed]
    tx-checksum-ip-generic: on
    tx-checksum-ipv6: off [fixed]
    tx-checksum-fcoe-crc: off [fixed]
    tx-checksum-sctp: off [fixed]$ ethtool --offload eth0 rx off tx offstatistics anlamına gelir. LRO sayacını görmek için şöyle yaparız.
ethtool -S <interface_name> | grep lrochange anlamına gelir. Şöyle yaparız.
# ethtool -s eth1 speed 1000 duplex fullYukarıdak kod örneklerinin açıklaması şöyle. ethtool_value yapısı için şu satırı dahil ederiz.
include <linux/ethtool.h>eval nesnesi ifreq nesnesinin ifr_data alanına atanır.
struct ifreq ifr;
struct ethtool_cmd edata;
strncpy(ifr.ifr_name, "eth0", sizeof(ifr.ifr_name));
ifr.ifr_data = &edata;ifr.ifr_data = (caddr_t)&edata; 
Hiç yorum yok:
Yorum Gönder