mapowanie ethX via udev...

Łukasz Maśko ed w yen.ipipan.waw.pl
Pią, 21 Lip 2006, 12:59:03 CEST


Dnia piątek, 21 lipca 2006 11:35, napisałeś:
[...]
> > Czyli przy założeniu, że są 3 sieciówki, to karty "przezywamy" na
> > eth[3,4,5] z założeniem swojej kolejności? Pewnie zadziała, ale...
> > krzywe to jakieś :-/
>
> Hehe, może krzywe ale wydaje mi się logiczne - ZTCW kernel rezerwuje
> nazwy w czasie inicjalizacji karty a do udevd jest
> wysylana informacja ze pojawil sie device, udevd moze miec opoznienie
> wynikające z róznych przyczyn(na ogół w miarę oczywistych),
> więc moze się tak zdarzyć, że zanim skrypt udevd zacznie przetwarzać
> pierwszą kartę, już wszystkie 'standardowe' nazwy będą zarezerwowane,
> czyli na ogół kolejne eth# licząc od zera, co oznacza że pierwszy wolny
> numerek to akurat liczba kart.
> Co do pytania dot kolejnosci to jest ona niewazna, ty podejmujesz
> decyzje.

Dokładnie tak mi się wydaje że jest. Ale w tym momencie regułki udev-a na 
dobrą sprawę wymuszają przydzielanie "dziwnych" nazw typu "moja_sieciówka0" 
itp. ;-) (wiem, że trochę przesadzam, ale w tym momencie nie ma co liczyć 
na zawsze poprawnie działające eth0)

> Oczywiscie na upartego mozesz przdzielac eth0, itd wedlug wlasnego
> uznania ale wtedy musisz troche pokombinowac, np:
> 1. Dodajesz w w regulce udev kawalek kodu w stylu "if (existif(ethn)
> renameif(ethn, eth1n)" - nie wiem czy to przejdzie, tzn na pewno nie
> przejdzie jesli taka karta juz wstanie.
> 2. Robisz podwojna inicjalizacje, podczas wstepnej inicjalizacji
> nazywasz je tak zeby konfliktow nie bylo czyli np etht#,
> a potem prawidlowo (??? kiedy jest potem jesli np jakas karta jest przez
> usb, czyli moze byc wyciagana/wkladana podczas pracy????)
> 3. W niektorych modulach są/były opcje jakie nazwy nadawać interfejsom,
> wtedy możesz tam nadawać nazwy.
>
> Ogólnie zabawa w zmiane nazw urzadzen na takie ktore mogą byc
> potencjalnie uzywane przez kernel wydaje mi się 'nierozsądna' :)

Mi się wydaje, że takie rezerwowanie przez kernel nazw odgórnie jest 
nierozsądne, bo o to się chyba wszystko rozbija. Znaczy się - jak ładuję 
_DOKŁADNIE JEDEN_ moduł, to on ma prawo ponazywać sobie urządzenia jak mu 
wychodzi. Ale jeśli mam dwa różne urządzenia wymagające różnych modułów, to 
kernel powinien respektować fakt, że moduły ładuję tak a nie inaczej i 
urządzenia nazywać zależnie od tej kolejności. I to bez względu na to, czy 
ładuję je z palca czy też z automatu jakim jest udev'owy hotplug. Bo teraz 
to jest tak, że moduły się ładują jakoś, a bez względu na to kernel 
przydziela nazwy losowo (czasami najwyraźniej).

Ogólnie - nie podoba mi się to, nie powinno tak działać. Powinno być 
stabilne i deterministyczne. Ale od razu dodam, że ja nie wiem jak to 
poprawić :-(
-- 
Łukasz Maśko                                           GG:   2441498    _o)
Lukasz.Masko(at)ipipan.waw.pl                         ICQ: 146553537    /\\
Registered Linux User #61028              JID: paranoid w jabberpl.org   _\_V


Więcej informacji o liście dyskusyjnej pld-devel-pl