3 Nastavenie sieťovej karty ATM
V tejto kapitole si popíšeme ako správne nastaviť sieťovú kartu ATM. Budeme sa venovať hlavne karte ForeSystems ForeRunner LE155 založenej na čipe IDT 77201. Nakoniec si ukážeme možnosť využiť na experimentovanie ovládač atmtcp, ak nemáme k dispozícii sieťovú kartu ATM, ale máme počítač zapojený do siete TCP/IP napr. typu Ethernet, čo je u nás asi najčastejšie zapojenie siete.
3.1 Nastavenie sieťovej karty ATM ForeSystems ForeRunner LE155
V kapitole 2 sme si vysvetlili ako skompilovať kernel s podporou protokolov ATM a sieťovej karty ATM ForeRunner LE155. Ovládač sa skompiloval do 3 modulov: idt77105.o, suni.o a nicstar.o. Ovládač suni.o je suni PHY driver (155Mbps). Ovládač idt77105.o je podprorou pre karty s čipom IDT 77105 a kompatibilných. Ovládač nicstar.o je podprou sieťových kariet NICSTAR. Všetky moduly nahráme do kernelu nasledovnými príkazmi
[root@yamir /]# insmod idt77105 [root@yamir /]# insmod suni [root@yamir /]# insmod nicstar [root@yamir /]# lsmod Module Size Used by nicstar 25264 12 suni 4080 1 [nicstar] idt77105 3328 0 [nicstar] [root@yamir /]# |
Kernel vypíše správy o detekovaní príslušného zariadenia – našej ATM karty. Ak všetko prebehlo v poriadku tak by mal byť výpis asi takýto
May 10 20:22:32 atmrouter kernel: PCI: Found IRQ 9 for device 02:01.0 May 10 20:22:32 atmrouter kernel: nicstar0: PHY seems to be 155 Mbps. May 10 20:22:32 atmrouter kernel: nicstar0: MAC address 00:20:48:5B:54:7A May 10 20:22:32 atmrouter kernel: nicstar(itf 0): no signal May 10 20:22:32 atmrouter kernel: nicstar(itf 0): signal lost May 10 20:22:32 atmrouter kernel: nicstar(itf 0): signal detected again |
Teraz už ovládač beží a my sa môžeme pustiť do dalších konfiguračných záludností v kapitole 4.
3.2 Použitie ATMTCP ovládača
ATMTCP ovládač použijeme v prípade, že nie sme tými vyvolenými, čo vlastnia ATM kartu. V Linuxe to nie je žiaden problém a tento ovládač nám umožní odtestovať funkcie API ATM i pod sieťou s protokolom TCP/IP, ktorá beží napr. cez Ethernet alebo Token Ring a pod. ATMTCP emuluje ATM zariadenie, ktoré je priamo napojené na vzdialené zariadenie (v atmtcp na VPI/VCI rovno zabudnite!)
Celú vec si ukážeme na malom príklade. Vytvoríme medzi dvoma počítačmi obojsmerné spojenie. Počítače nech sa volajú jozo a fero. Sú zapojené do siete Ethernet s protokolom TCP/IP. Jozo má adresu 132.32.12.2 a fero 132.32.12.43
[root@jozo /]# atmtcp virtual listen |
na druhom počítači zadajte
[root@fero /]# atmtcp virtual connect 132.32.12.2 |
Oba atmtcp zahlásia nejaké správy a kernely oboch počítačov vypíšu správy ako:
May 3 14:13:26 jozo kernel: Link 0: virtual interface 0 May 3 14:13:26 jozo kernel: Link 1: incoming ATMTCP connection from 132.32.12.43 |
a
May 3 14:13:26 fero kernel: Link 0: virtual interface 0 May 3 14:13:26 fero kernel: Link 1: ATMTCP connection to 132.32.12.2 |
Takto sme sa virtuálne spojili. Oba atmtcp ostanú bežať, ich prerušením sa virtuálne spojenie zruší. K jednému počítaču možno vytvoriť viacero virtuálnych spojení špecifikovaním iného portu (štandartne sa vyberie port 2812). Pri tomto virtuálnom spojení sa neuskutočňujú žiadne prevody cez vrstvu AAL, preto nie je možné prijímať data cez rôzne AAL, iba cez jednu ktorou boli data vyslané.
3.3 Súbory v /proc/net/atm
Niektoré informácie o stave ATM podsystému možno vyčítať so súborov v súborovom systéme ‘proc’ v adresári /proc/net/atm.
Súbor /proc/net/atm/devices obsahuje informácie o inštalovaných sieťových zariadeniach ATM. V našom prípade s nainštalovanou sieťovou kartou ForeRunner LE155 vypadá súbor nasledovne
Itf Type ESI/"MAC"addr AAL(TX,err,RX,err,drop) ... 0 nicstar 0020485b547a 0 ( 0 0 0 0 0 ) 5 ( 1224 0 1229 0 10 ) |
Zo súboru sa dajú vyčítať informácie o čísle rozhrania ATM (atm0), popiska typu sieťovej karty, jej ESI – End System Identifier (je to obdoba MAC adresy), a niektoré štatistické údaje, ktoré možno získať aj pomocou nástroja atmdiag.
Ovládač sieťovej karty ponúka navyše stavový súbor o každej inštalovanej karte osobitne. Pre našu jednu kartu ATM boli informácie v súbore /proc/net/atm/nicstar:0. Jeho obsah vypadal takto
Pool count min init max Small 32 8 32 64 Large 24 8 24 48 Huge 8 6 8 10 Iovec 48 8 48 80 Interrupt counter: 611 |
Vidno tu podrobnejšiu štatistiku, ktorá je u každej sieťovej karty karty iná.
Súbor /proc/net/atm/arp obsahuje informácie špecifické pre ATMARP (CLIP) vysvetlenom v ďalších kapitolách.
Príklad súboru /proc/net/atm/arp je
IPitf TypeEncp Idle IP address ATM address atm0 SVC LLC 196 192.168.3.100 47.0005.80FFE1000000F20F38 77.0020485B5210.00 atm0 SVC LLC 201 192.168.3.100 47.0005.80FFE1000000F20F38 77.0020485B5210.00 |
Súbory /proc/net/atm/svc a /proc/net/atm/pvc udržujú výpis všetkých PVC a SVC soketov. Pre oba typy soketov sú vypísané hodnoty VPI a VCI.
Príklad súboru /proc/net/atm/pvc je
Itf VPI VCI AAL RX(PCR,Class) TX(PCR,Class) 0 0 5 5 0 UBR 0 UBR 0 0 16 5 0 UBR 0 UBR |
Význam položiek je zaradom: číslo ATM rozhrania, VPI, VCI, typ AAL, PCR (peak cell rate) pre prijímanie, trieda služieb pre prijímanie, PCR pre vysielanie, trieda služieb pre vysielanie.
Príklad súboru /proc/net/atm/svc je
Itf VPI VCI State Remote 0 0 507 CONNECTED 47000580ffe1000000f20f38770020480f3877f0 0 0 508 CONNECTED 47000580ffe1000000f20f38770020480f3877f0 0 0 509 CONNECTED 47000580ffe1000000f20f38770020480f3877f0 0 0 510 CONNECTED 47000580ffe1000000f20f38770020480f3877f0 N/A@f610c200 LISTEN N/A@f610c400 LISTEN N/A@f75eca00 LISTEN |
Význam položiek je zaradom: číslo ATM rozhrania, VPI, VCI, aktuálny stav SVC, vzdialená ATM adresa kam je SVC pripojený. SVC spojenia s číslom rozhrania 999 sú použité pre špeciálne riadiace účely ako je indikované v stĺpci ‘State’.
Navyše súbor /proc/net/atm/vc ukazuje veľkosti vyrovnávacích pamätí a prídavné vnútorné informácie pre všetky ATM sokety PVC aj SVC.
Príklad súboru /proc/net/atm/vc je
Address Itf VPI VCI Fam Flags Reply Send buffer Recv buffer f75ec400 0 0 5 PVC 0047 0 0/ 65535 0/ 65535 f75ec800 0 0 16 PVC 0047 0 0/ 65535 0/ 65535 f60d3000 0 0 507 SVC 045f 0 0/ 65535 0/ 65535 f610c000 0 0 508 SVC 004f 0 0/ 65535 0/ 65535 f610c600 0 0 509 SVC 045f 0 0/ 65535 0/ 65535 f610c800 0 0 510 SVC 004f 0 0/ 65535 0/ 65535 f610c200 Unassigned SVC 04d8 0 0/ 65535 0/ 65535 f610c400 Unassigned SVC 04d8 0 0/ 65535 0/ 65535 f75eca00 Unassigned SVC 04d8 0 0/ 65535 0/ 65535 |