route mtu JumboFrames
От: sts  
Дата: 31.01.12 17:47
Оценка:
Всем привет.
У меня задача настроить комп так, чтобы он на определенный ip в локалке ходил с MTU=9000
Нужно оно для поддержки jumboframes, т.к. "определенный ip" — это NAS с дохленьким процом и использование большого MTU увеличивает скорость прокачки по NFS ровно в 1.5 раза.

Проблема в том, что не удается это дело настроить через
ip route add 192.168.1.2 dev eth0 mtu 9000

А работает только так:
ifconfig eth0 mtu 9000 up
ip route add 192.168.1.2 dev eth0
# ну или так:
# ifconfig eth1 mtu 9000 up
# ip route add 192.168.1.2 dev eth1


Вопрос что я делаю не так ?

В принципе в компе 2 сетевухи и все вроде бы работает если задействовать обе, но лишние провода и непонятки.
Еще не пробовал установить по умолчанию mtu 9000, а роуты в интеренет прописать с mtu 1500, но не уверен, что заработает.
Да и через наоборот это как-то, даже если и получится такое.

kubuntu 11.10, network-manager выключен.

sts@sts-home-desktop:~$ cat /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp
    up ip route add 192.168.1.2 dev eth0 mtu 9000

iface eth1 inet dhcp
  up ip route add 192.168.1.2 dev eth1 mtu 9000

sts@sts-home-desktop:~$ ip route list
default via 192.168.1.1 dev eth0  metric 100 
169.254.0.0/16 dev eth0  scope link  metric 1000 
192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.4 
192.168.1.2 dev eth0  scope link  mtu 9000

sts@sts-home-desktop:~$ route -n
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.1.2     0.0.0.0         255.255.255.255 UH    0      0        0 eth0

sts@sts-home-desktop:~$ ifconfig 
eth0      Link encap:Ethernet  HWaddr 00:22:15:9c:5f:cb  
          inet addr:192.168.1.4  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::222:15ff:fe9c:5fcb/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6137656 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3095212 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:8561502351 (8.5 GB)  TX bytes:213861654 (213.8 MB)
          Interrupt:17 

lo        Link encap:Локальная петля (Loopback)  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:3161 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3161 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:94005 (94.0 KB)  TX bytes:94005 (94.0 KB)

sts@sts-home-desktop:~$ ip link 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:22:15:9c:5f:cb brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:22:15:9c:78:4f brd ff:ff:ff:ff:ff:ff
Re: route mtu JumboFrames
От: pzhy  
Дата: 31.01.12 21:21
Оценка:
Здравствуйте, sts, Вы писали:

sts>Всем привет.

sts>У меня задача настроить комп так, чтобы он на определенный ip в локалке ходил с MTU=9000
sts>Нужно оно для поддержки jumboframes, т.к. "определенный ip" — это NAS с дохленьким процом и использование большого MTU увеличивает скорость прокачки по NFS ровно в 1.5 раза.

Это точно? мту 1500 — стандарт и самой дещевой картой будет обрабатываться без цпу, а вот 900 — вопрос. Да, но причем тут роуты? это параметр 2 уровня оси, а ип — 3.
В первом случае ты не позволяешь ходить пакетам более 9000 /*ты специально всял такой размер )))))*/ по роуту, а во втором говоришь создавать пакеты не более 9000 на этом интерфейсе. Вот и все
Re[2]: route mtu JumboFrames
От: sts  
Дата: 01.02.12 06:42
Оценка:
Здравствуйте, pzhy, Вы писали:

P>Здравствуйте, sts, Вы писали:


sts>>Всем привет.

sts>>У меня задача настроить комп так, чтобы он на определенный ip в локалке ходил с MTU=9000
sts>>Нужно оно для поддержки jumboframes, т.к. "определенный ip" — это NAS с дохленьким процом и использование большого MTU увеличивает скорость прокачки по NFS ровно в 1.5 раза.

P>Это точно? мту 1500 — стандарт и самой дещевой картой будет обрабатываться без цпу, а вот 900 — вопрос. Да, но причем тут роуты? это параметр 2 уровня оси, а ип — 3.


Да, точно, все отлично работает (если что пруфлинк). Все равно чем меньше пакетов, тем меньше нагрузкана цпу и на арм-ах всяких это хорошо заметно — там при перекачке данных проц на 100% загружен.
А вот комп не удается толком настроить. Либо 2 карты задействованы, либо нужно вручную mtu для карты переставлять — для инета 1500, для NAS — 9000.
Проблема black hole (когда path mtu не установить, т.к. отключен icmp-ответ на сервере) вроде решается через установку меньшего mtu для route.
А тут чего-то затык. Не могу понять в чем дело.

P>В первом случае ты не позволяешь ходить пакетам более 9000 /*ты специально всял такой размер )))))*/ по роуту, а во втором говоришь создавать пакеты не более 9000 на этом интерфейсе. Вот и все


Ни то не другое не должно вроде мешать компам договориться о большем размере mtu.
Re: route mtu JumboFrames
От: Cyberax Марс  
Дата: 01.02.12 07:47
Оценка:
Здравствуйте, sts, Вы писали:

sts>Вопрос что я делаю не так ?

Карта или порт на свитче залочилась на 100mbit, а не гигабит.

"ethtool eth0" что говорит?
Sapienti sat!
Re[2]: route mtu JumboFrames
От: sts  
Дата: 01.02.12 08:24
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Здравствуйте, sts, Вы писали:


sts>>Вопрос что я делаю не так ?

C>Карта или порт на свитче залочилась на 100mbit, а не гигабит.

C>"ethtool eth0" что говорит?


вряд ли.
да и диоды на свитче показывают гигабит.

sts@sts-home-desktop:~$ sudo ethtool eth0                              
Settings for eth0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Half 1000baseT/Full 
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Half 1000baseT/Full 
        Advertised pause frame use: No
        Advertised auto-negotiation: No
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        MDI-X: Unknown
        Supports Wake-on: pg
        Wake-on: d
        Current message level: 0x000000ff (255)
                               drv probe link timer ifdown ifup rx_err tx_err
        Link detected: yes
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.