Wpis z mikrobloga

#networking #sysadmin #linux

jest tu jakiś fachowiec od sprzętu sieciowego pod linux?

Jak ktoś powie sposób który zadziała na Linux/Debian (bez wymiany sprzętu) to na p--o 100 zł jako #bitcoin.

Karta sieciowa ma 2 wkładki SPF, system widzi ją jako 2 karty (i lspci pokazuje też jako dwa urządzenia), producent pisze wyraźnie iż karta wspiera 20 Gbps jako full duplex. Wkładki są 10 Gbps.

Posyłanie przez wkładkę 1 (np TCP, UDP, cokolwiek) daje około 10 Gbps. Przez wkładkę nr 2 - tak samo.

Problem: ale jak się posyła naraz przez obie to nie jest 10+10, lecz około 6+6 Gbps.

Co NIE pomogło:

mtu na 9000 oczywiście jest ustawione
firmware zamknięty jest wgrany i system go ładuje na starcie
ethtool -g ustawienie tx ring (i tak był maksymalny)
ethtool -K różne opcje łączenia przerwań - nie pomagają ani mniejsze ani większe -frames ani -usecs
lspci mówi iż stan połączenia to 5 Giga transakcje na sec i szyna to x8 więc powinno być chyba dobrze

przy okazji, karta jest w stanie równocześnie odbierać 6+6 tak samo jak wysyła 6+6 więc to nie jest np za słabe CPU albo zapchanie szyny PCIe (chyba że PCIe ma osobny ruch w obie strony, to może ruch w górę jest zapchany?).
  • 56
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@m00n: tak fiber. Ale jak pisałem używając tylko kanału 1 do kanału 1 w bliźniaczej karcie, wyciąga 10. Tak samo gdy kanał2 do kanału2. Więc same wkładki, oraz kable, są ok.

Tak jakby karta nie nadążała przetworzyć od systemu naraz 20 Gbps danych.
  • Odpowiedz
@decentralizacja: Ok ta sieciówka to nie jest FC tylko normalny 10 gbit ethernet także powinno ciągnąć w full duplexie 2x10 gbit. Rozumiem, że oba interfejsy to normalne interfejsy IP L3 a nie jakiś bridge L2? Bo jak L2 to zrobiłeś pętle ( ͡° ͜ʖ ͡°)
  • Odpowiedz
@blues: bez agregacji ... w sensie? nie ma bounding ustawionego, jest tak:

port1 (eth0) w jednym komputerze ma swoje IP w jednej podsieci i idzie do takiego samego modelu karty w drugim kompie i tenże ma IP w tej samej podsieci oczywiści;

I tak samo porty2. Oczywiście porty2 i porty1 są w innych podsieciach.

Pcham po prostu UDP 8972 datagaram na IP drugiego komputera w podsieci portów1, oraz też na
  • Odpowiedz
@maniac777: przypinanie procesu wysyłającego do rdzenia nie pomaga (taskset -c 0 ... i -c 1 dla drugiego. Używanie 4 wysyłaczy na raz nie pomaga).

iperf na TCP daje takie same wyniki mniejwięcej (trochę może mniej bo narzut TCP)

Myslę że CPU daje radę, może po prostu karta jednak nie umie na raz tyle pakietów pchać. Chyba że CPU=>BUS jakoś nie daje rady
  • Odpowiedz
@maniac

*

Myslę że CPU daje radę, może po prostu karta jednak nie umie na raz tyle pakietów pchać. Chyba że PCIe jakoś nie daje rady transportować, ale pisze że wykrył 5 GT/s i x8 width więc w/g wiki tam jest 4 GB/s (32 Gb/s)
  • Odpowiedz