Sieci w Linuksie/vconfig

Narzędzie vconfig służy do tworzenia wirtualnych interfejsów sieciowych obsługujących tagi VLAN (IEEE 802.1Q). Narzędzie to jest przestarzałe - obecnie do tworzenia VLANów można użyć bezpośrednio narzędzia ip z pakietu iproute2 (patrz rozdział Sieci:Linux/iproute2/ip).

Aby móc korzystać z VLANów jądro musi je obsługiwać, w tym celu należy w menuconfig zaznaczyć opcję Networking support --> Networking options --> 802.1Q VLAN Support (VLAN_8021Q w .config). Prócz tego można włączyć również obsługę protokołu GVRP (ang. GARP VLAN Registration Protocol).

Opcje przyjmowane przez program vconfig
set_name_type VLAN_PLUS_VID|VLAN_PLUS_VID_NO_PAD|DEV_PLUS_VID|DEV_PLUS_VID_NO_PAD - ustawia politykę tworzenia nazw VLANów. Domyślną jest DEV_PLUS_VID.
add interfejs numer VLANu - tworzy nowy interfejs VLANowy o nazwie zgodnej z jedną z powyższych opcji
rem interfejsVLAN - usuwa interfejs
set_egress_map interfejsVLAN skb_priority vlan_qos - tworzy mapowanie pomiędzy priorytetem pakietu w jądrze (skb->priority) a polem QoS wewnątrz tagu VLAN. Pozwala na nadanie priorytetu przetwarzania pakietowi na podstawie pola QoS VLAN.
set_ingress_map interfejsVLAN skb_priority vlan_qos - tworzy mapowanie j.w. tylko dla pakietów wychodzących (mapuje skb->priority na odpowiednią wartość QoS w tagu VLAN).
set_flag interfejsVLAN 0|1 - jeżeli ta opcja jest włączona tag VLAN jest usuwany z wnętrza ramki Ethernet. Potrzebne jest to tylko, jeżeli jakaś aplikacja przetwarzająca ramki Ethernet nie potrafi pracować na tagowanych ramkach. Domyślną wartością jest 0.
set_bind_type PER_DEVICE|PER_KERNEL - ustawia poziom unikalności VLANów - w przypadku pierwszej opcji dany VLAN może być ustawiony dla dwóch różnych interfejsów sieciowych.
Typy polityki nazw
VLAN_PLUS_VID - nazwy interfejsów tworzone są zgodnie ze schematem vlan+id gdzie id jest uzupełniane zerami do 4 cyfr. Przykłady: vlan0005, vlan0125, vlan1259
VLAN_PLUS_VID_NO_PAD - j.w., tylko nazwy nie są uzupełniane zerami. Przykłady: vlan5, vlan125, vlan1259.
DEV_PLUS_VID - nazwy interfejsów tworzone są zgodnie ze schematem nazwa_interfejsu_rodzica+.id, gdzie id jest uzupełniane zerami do 4 cyfr. Przykłady: eth0.0005, eth1,0125, eth2.1259.
DEV_PLUS_VID_NO_PAD - j.w., tylko nazwy nie są uzupełnianie zerami. Przykłady eth0.5, eth1.125, eth2.1259.
Przykłady
vconfig set_name_type VLAN_PLUS_VID
vconfig add eth0 2567
vcondif add eth1 7
  • Tworzy interfejsy vlan2567 i vlan0007
vconfig set_name_type VLAN_PLUS_VID
vconfig set_bind_type PER_DEVICE
vconfig add eth0 12
vconfig add eth1 12
  • Tworzy interfejsy eth0.0012 i eth1.0012