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