jumbo frames
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
- zingel
- beastie
- Сообщения: 6204
- Зарегистрирован: 2007-10-30 3:56:49
- Откуда: Moscow
- Контактная информация:
jumbo frames
Давно хотел испытать свой lagg0 на предмет поддержки jumbo frames, но тут встал у меня вопрос, какое лучше mtu назначить ему, ну и соответственно на коммутаторе куда это всё добро идёт... (гигабит там есть, коммутатор жирные фреймы поддерживает)
Z301171463546 - можно пожертвовать мне денег
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
-
paradox
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: jumbo frames
9000
- zingel
- beastie
- Сообщения: 6204
- Зарегистрирован: 2007-10-30 3:56:49
- Откуда: Moscow
- Контактная информация:
Re: jumbo frames
прям 9000.....ну х з...х з, попробую...просто там две гигабитные сетевухи сдвоены, em && nfe, не разные у них ли...проверю
Z301171463546 - можно пожертвовать мне денег
- zingel
- beastie
- Сообщения: 6204
- Зарегистрирован: 2007-10-30 3:56:49
- Откуда: Moscow
- Контактная информация:
Re: jumbo frames
Код: Выделить всё
[root@zingel /usr/src/sys/dev/nfe]# ifconfig nfe0 media 1000baseTX mediaopt full-duplex mtu 9000
ifconfig: ioctl (set mtu): Invalid argumentКод: Выделить всё
hw.nfe.jumbo_disable=0Код: Выделить всё
45414: socket(PF_INET,SOCK_DGRAM,0) = 4 (0x4)
45414: ioctl(4,SIOCGIFINDEX,0xbfbfe458) = 0 (0x0)
45414: close(4) = 0 (0x0)
45414: __sysctl(0xbfbfe460,0x6,0x0,0xbfbfe478,0x0,0x0) = 0 (0x0)
45414: __sysctl(0xbfbfe460,0x6,0x28202800,0xbfbfe478,0x0,0x0) = 0 (0x0)
45414: socket(PF_INET,SOCK_DGRAM,0) = 4 (0x4)
45414: ioctl(4,SIOCGIFMEDIA,0x2820a040) = 0 (0x0)
45414: ioctl(4,SIOCGIFMEDIA,0x2820a040) = 0 (0x0)
45414: ioctl(4,SIOCSIFMTU,0x8060bc0) ERR#22 'Invalid argument'
45414: write(2,"ifconfig: ",10) = 10 (0xa)
45414: write(2,"ioctl (set mtu)",15) = 15 (0xf)
45414: write(2,": ",2) = 2 (0x2)
45414: write(2,"Invalid argument\n",17) = 17 (0x11)
45414: ioctl(4,SIOCSIFMEDIA,0x8060bc0) = 0 (0x0)
45414: close(4) = 0 (0x0)Код: Выделить всё
static int
ifconfig(int argc, char *const *argv, int iscreate, const struct afswtch *afp)
{
const struct afswtch *nafp;
struct callback *cb;
int s;
strncpy(ifr.ifr_name, name, sizeof ifr.ifr_name);
top:
if (afp == NULL)
afp = af_getbyname("inet");
ifr.ifr_addr.sa_family =
afp->af_af == AF_LINK || afp->af_af == AF_UNSPEC ?
AF_INET : afp->af_af;
if ((s = socket(ifr.ifr_addr.sa_family, SOCK_DGRAM, 0)) < 0)
err(1, "socket(family %u,SOCK_DGRAM", ifr.ifr_addr.sa_family);
while (argc > 0) {
const struct cmd *p;
p = cmd_lookup(*argv);
if (p == NULL) {
/*
* Not a recognized command, choose between setting
* the interface address and the dst address.
*/
p = (setaddr ? &setifdstaddr_cmd : &setifaddr_cmd);
}
if (p->c_u.c_func || p->c_u.c_func2) {
if (iscreate && !p->c_iscloneop) {
судя по-всему, я так думаю оно не врубится, пока на порту не будет active....а зря
Z301171463546 - можно пожертвовать мне денег
-
paradox
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: jumbo frames
хм
Код: Выделить всё
switch (cmd) {
case SIOCSIFMTU:
if (ifr->ifr_mtu < ETHERMIN || ifr->ifr_mtu > NFE_JUMBO_MTU)
error = EINVAL;
else if (ifp->if_mtu != ifr->ifr_mtu) {
if ((((sc->nfe_flags & NFE_JUMBO_SUP) == 0) ||
(sc->nfe_jumbo_disable != 0)) &&
ifr->ifr_mtu > ETHERMTU)
error = EINVAL;
else {
NFE_LOCK(sc);
ifp->if_mtu = ifr->ifr_mtu;
if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0)
nfe_init_locked(sc);
NFE_UNLOCK(sc);
}
}
break;
case SIOCSIFFLAGS:- zingel
- beastie
- Сообщения: 6204
- Зарегистрирован: 2007-10-30 3:56:49
- Откуда: Moscow
- Контактная информация:
Re: jumbo frames
ну я бы не рискнул удалённо патчить, хотя там из двух собран Lagg0, на 1 может вытянуть
Z301171463546 - можно пожертвовать мне денег
-
paradox
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: jumbo frames
та не
я к тому что
а с какой радости оно то непроходит...
поидеи должно проходить
я к тому что
а с какой радости оно то непроходит...
поидеи должно проходить
- zingel
- beastie
- Сообщения: 6204
- Зарегистрирован: 2007-10-30 3:56:49
- Откуда: Moscow
- Контактная информация:
Re: jumbo frames
ну вот по-этому, скорее всего:
Код: Выделить всё
/usr/src/sys/dev/nfe/if_nfe.cКод: Выделить всё
static void
nfe_alloc_jrx_ring(struct nfe_softc *sc, struct nfe_jrx_ring *ring)
{
struct nfe_dmamap_arg ctx;
struct nfe_rx_data *data;
void *desc;
int i, error, descsize;
if ((sc->nfe_flags & NFE_JUMBO_SUP) == 0)
return;
if (jumbo_disable != 0) {
device_printf(sc->nfe_dev, "disabling jumbo frame support\n");
sc->nfe_jumbo_disable = 1;
return;
}
Z301171463546 - можно пожертвовать мне денег
-
paradox
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: jumbo frames
не ну то уже данные не будут передаваться
но мту то должно стать
но мту то должно стать
- zingel
- beastie
- Сообщения: 6204
- Зарегистрирован: 2007-10-30 3:56:49
- Откуда: Moscow
- Контактная информация:
Re: jumbo frames
они не залочится там а сдропается если статус не будет active, а active будет только тогда когда будет гигабит, тоесть когда я переткну в другой порт, но мне это не совсем чтобы нравится, потому что у меня lagg0 а там vlan_mtu будет браться с первого по id девайса, тоесть с моей nfe0, тоесть задача мне убрать проверку на active
Z301171463546 - можно пожертвовать мне денег
-
paradox
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: jumbo frames
незалочаться
но мту должно стать
попробуй мту без других опций айпи итд
или тот интерфейс единственный через который все работает?
но мту должно стать
попробуй мту без других опций айпи итд
или тот интерфейс единственный через который все работает?
- zingel
- beastie
- Сообщения: 6204
- Зарегистрирован: 2007-10-30 3:56:49
- Откуда: Moscow
- Контактная информация:
Re: jumbo frames
не, там 2 карты собранные в lagg0
ничего не даёт, буду дебагать и смотреть где оно
Код: Выделить всё
[root@zingel /usr/src/sys/dev/nfe]# ifconfig nfe0 mtu 9000
ifconfig: ioctl (set mtu): Invalid argumentZ301171463546 - можно пожертвовать мне денег
-
paradox
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: jumbo frames
о тут оно дает
токо непонятно
разве что
Код: Выделить всё
switch (cmd) {
case SIOCSIFMTU:
if (ifr->ifr_mtu < ETHERMIN || ifr->ifr_mtu > NFE_JUMBO_MTU)
error = EINVAL;
else if (ifp->if_mtu != ifr->ifr_mtu) {
if ((((sc->nfe_flags & NFE_JUMBO_SUP) == 0) ||
(sc->nfe_jumbo_disable != 0)) &&
ifr->ifr_mtu > ETHERMTU)
error = EINVAL;разве что
Код: Выделить всё
if ((((sc->nfe_flags & NFE_JUMBO_SUP) == 0) ||- zingel
- beastie
- Сообщения: 6204
- Зарегистрирован: 2007-10-30 3:56:49
- Откуда: Moscow
- Контактная информация:
Re: jumbo frames
сейчас попробую....
он сказал *поехали* и махнул рукой (с)
он сказал *поехали* и махнул рукой (с)
Z301171463546 - можно пожертвовать мне денег
- zingel
- beastie
- Сообщения: 6204
- Зарегистрирован: 2007-10-30 3:56:49
- Откуда: Moscow
- Контактная информация:
Re: jumbo frames
нда....тут дело в самой nfe, потому, что например на em, легко всаёт на 16 при выключенном вообще даже линке
Код: Выделить всё
%ifconfig em1 mtu 16000
em1: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 16000
options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
ether 00:04:23:c5:02:c9
media: Ethernet autoselect
status: no carrier
Z301171463546 - можно пожертвовать мне денег
-
paradox
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: jumbo frames
там не на всех nfe поддерживаеться
покажи
покажи
Код: Выделить всё
pciconf -lvc- zingel
- beastie
- Сообщения: 6204
- Зарегистрирован: 2007-10-30 3:56:49
- Откуда: Moscow
- Контактная информация:
Re: jumbo frames
Код: Выделить всё
nfe0@pci0:0:5:0: class=0x068000 card=0x80a71043 chip=0x00df10de rev=0xa2 hdr=0x00
vendor = 'Nvidia Corp'
device = 'Marvell 88E1111 Network adapter'
class = bridge
cap 01[44] = powerspec 2 supports D0 D1 D2 D3 current D0Код: Выделить всё
nForce3 250Код: Выделить всё
nfe0: <NVIDIA nForce3 MCP7 Networking Adapter> port 0xec00-0xec07 mem 0xfebfc000-0xfebfcfff irq 20 at device 5.0 on pci0
Код: Выделить всё
[root@zingel /usr/src]# man nfe | grep MCP7
nForce 3, CK804, MCP04, MCP51, MCP55, MCP61, MCP65, MCP67, MCP73, MCP77
and MCP79 Ethernet controller chips.
o NVIDIA nForce MCP73 Networking Adapter
o NVIDIA nForce MCP77 Networking Adapter
o NVIDIA nForce MCP79 Networking Adapter
o NVIDIA nForce3 MCP7 Networking AdapterZ301171463546 - можно пожертвовать мне денег
-
paradox
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: jumbo frames
у меня поддерживает в RELENG_7
где то дальше
Код: Выделить всё
switch (sc->nfe_devid) {
case PCI_PRODUCT_NVIDIA_NFORCE3_LAN2:
case PCI_PRODUCT_NVIDIA_NFORCE3_LAN3:
case PCI_PRODUCT_NVIDIA_NFORCE3_LAN4:
case PCI_PRODUCT_NVIDIA_NFORCE3_LAN5:
sc->nfe_flags |= NFE_JUMBO_SUP | NFE_HW_CSUM;
break;- zingel
- beastie
- Сообщения: 6204
- Зарегистрирован: 2007-10-30 3:56:49
- Откуда: Moscow
- Контактная информация:
- zingel
- beastie
- Сообщения: 6204
- Зарегистрирован: 2007-10-30 3:56:49
- Откуда: Moscow
- Контактная информация:
-
paradox
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: jumbo frames
странно
надо посмотреть какой у меня нфе
и поиграться на нем
что бы понять где там уловие пролетает по проверке мту хотя бы
надо посмотреть какой у меня нфе
и поиграться на нем
что бы понять где там уловие пролетает по проверке мту хотя бы
- zingel
- beastie
- Сообщения: 6204
- Зарегистрирован: 2007-10-30 3:56:49
- Откуда: Moscow
- Контактная информация:
Re: jumbo frames
вообще очень странно
...
тут:
Код: Выделить всё
ltrace nfe0 mtu 9000Код: Выделить всё
strchr("io", '/') = NULL
strncmp("nfe", "io", 4) = 5
strlen("if_nfe") = 6
strncmp("if_nfe", "io", 7) = -9
modfnext(192, 0xbfbfe43c, 7, 0x2808e080, 0x280835f4) = 193
modstat(193, 0xbfbfe438, 7, 0x2808e080, 0x280835f4) = 0
strchr("nfe/miibus", '/') = "/miibus"
strncmp("nfe", "miibus", 4) = 1
strlen("if_nfe") = 6
strncmp("if_nfe", "miibus", 7) = -4
modfnext(193, 0xbfbfe440, 7, 0x2808e080, 0x280835f4) = 194
modstat(194, 0xbfbfe438, 7, 0x2808e080, 0x280835f4) = 0
strchr("pci/nfe", '/') = "/nfe"
strncmp("nfe", "nfe", 4) = 0
if_nametoindex(0xbfbfed91, 0xbfbfec94, 0xbfbfe4eb, 0, 0xbfbfec94) = 1
strcmp("lladdr", "mtu") = -1
strcmp("ether", "mtu") = -8
strcmp("link", "mtu") = -1
strcmp("inet", "mtu") = -4
strcmp("inet6", "mtu") = -4
strcmp("atalk", "mtu") = -12
strcmp("af_maclabel", "mtu") = -12
strcmp("af_media", "mtu") = -12
strcmp("af_vlan", "mtu") = -12
strcmp("af_ieee80211", "mtu") = -12
strcmp("af_gre", "mtu") = -12
strcmp("af_carp", "mtu") = -12
strcmp("af_group", "mtu") = -12
strcmp("af_pfsync", "mtu") = -12
strcmp("af_bridge", "mtu") = -12
strcmp("af_lagg", "mtu") = -12
strcmp("ipx", "mtu") = -4
getifaddrs(0xbfbfec44, 0xbfbfec94, 0xbfbfe4eb, 0, 0xbfbfec94) = 0
strncpy(0xbfbfec1c, "nfe0", 16) = 0xbfbfec1c
strcmp("nfe0", "nfe0") = 0
strlcpy(0x8060bf4, 0x282034d2, 16, 0xbfbfec1c, 0xbfbfec94) = 4
strncpy(0x8060bc0, "nfe0", 16) = 0x8060bc0
strcmp("lladdr", "inet") = 3
strcmp("ether", "inet") = -4
strcmp("link", "inet") = 3
strcmp("inet", "inet") = 0
socket(2, 2, 0) = 3
strcmp("mtu", "name") = -1
strcmp("mtu", "mtu") = 0
strncpy(0x8060bc0, "nfe0", 16) = 0x8060bc0
atoi(0xbfbfed9a, 0x8060bf4, 16, 2, 0x805cc04) = 9000
ioctl(3, -2145359564, 0x8060bc0) = -1
warn(0x8058296, 0, 3, 0x805cd00, 0) = 17
close(3) = 0
strncpy(0xbfbfec1c, "nfe0", 16) = 0xbfbfec1c
memcpy(0xbfbfec2c, "\020\002", 16) = 0xbfbfec2c
strcmp("nfe0", "nfe0") = 0
strcmp("nfe0", "nfe0") = 0
strncpy(0xbfbfec1c, "rl0", 16) = 0xbfbfec1c
strcmp("nfe0", "rl0") = -4
strncpy(0xbfbfec1c, "pflog0", 16) = 0xbfbfec1c
strcmp("nfe0", "pflog0") = -2
strncpy(0xbfbfec1c, "lo0", 16) = 0xbfbfec1c
strcmp("nfe0", "lo0") = 2
strncpy(0xbfbfec1c, "lo0", 16) = 0xbfbfec1c
memcpy(0xbfbfec2c, "\020\002", 16) = 0xbfbfec2c
strcmp("nfe0", "lo0") = 2
strncpy(0xbfbfec1c, "pfsync0", 16) = 0xbfbfec1c
strcmp("nfe0", "pfsync0") = -2
strncpy(0xbfbfec1c, "lagg0", 16) = 0xbfbfec1c
strcmp("nfe0", "lagg0") = 2
strncpy(0xbfbfec1c, "lagg0", 16) = 0xbfbfec1c
memcpy(0xbfbfec2c, "\020\002", 16) = 0xbfbfec2c
strcmp("nfe0", "lagg0") = 2
freeifaddrs(0x28203000, 0x282034ee, 16, 0xbfbfec1c, 0xbfbfec94) = 0x28203000
exit(0 <unfinished ...>
+++ exited (status 0) +++Код: Выделить всё
strncpy(0x8060bc0, "nfe0", 16) Z301171463546 - можно пожертвовать мне денег
