[LiSA-Devel] Topologie playground

Radu Rendec radu.rendec at ines.ro
Mon May 4 13:38:34 EEST 2009


On Mon, 2009-05-04 at 11:50 +0300, Constantin Blanariu wrote:
> As fi vrut sa vad modul in care se uilizeaza interfata bonding, daca
> se adauga
> mac-urile calumea in tabela de comutare, daca se face load balancing
> cum trebuie
> utilizand interfetele fizice, daca interfata bonding schimba sau nu
> mac-ul sursa al
> pachetului.
> 
> Pentru load balancing as fi avut nevoie de cele doua legaturi fizice
> intre statie si SW1.

Atunci probabil ca ai avea nevoie de driverul VETH dar care din pacate
nu este inclus in 2.6.25 (dar este in .29):

  │ CONFIG_VETH:
  │
  │ This device is a local ethernet tunnel. Devices are created in pairs.
  │ When one end receives the packet it appears on its pair and vice
  │ versa.
  │
  │ Symbol: VETH [=n]
  │ Prompt: Virtual ethernet pair device
  │   Defined at drivers/net/Kconfig:136
  │   Depends on: NETDEVICES
  │   Location:
  │     -> Device Drivers
  │       -> Network device support (NETDEVICES [=y])

Cu acest driver ai putea folosi o pereche veth ca sa injectezi/primesti
trafic in/din LiSA, si atunci poti face o schema de genul:

                           = eth1 <-> fa0/9 =
veth[A] <-> veth[B] = LiSA                    sw1 = fa0/2 <-> fa0/1 = sw2 = fa0/8 <-> eth2
                           = eth3 <-> fa0/8 =

> In plus, pe cele doua interfete eth1 si eth4 nu cred ca pot fi puse
> ip-uri din aceeasi retea.

Teoretic se poate (desi sunt de acord cu tine ca nu prea are sens):

[root at blade ~]# ifconfig dummy0 192.168.17.1/24
[root at blade ~]# ifconfig dummy1 192.168.17.2/24
[root at blade ~]# route -n | grep 192.168.17
192.168.17.0    0.0.0.0         255.255.255.0   U     0      0        0 dummy0
192.168.17.0    0.0.0.0         255.255.255.0   U     0      0        0 dummy1

Problema este sa convingi pachetele catre 192.168.17.2 sa plece prin
dummy0, dupa ce in prealabil face si arp lookup. Stiva de ip va vedea ca
192.168.17.2 este ip local, prin urmare nu va face arp si va trimite
pachetul (fizic vorbind) prin interfata lo.

Fiind vorba de testare la layer 2, eu iti sugerez sa folosesti niste
generatoare de pachete si sa pui corect macul sursa si macul destinatie
in pachetele generate. De exemplu, pt. schema sugerata mai sus ai putea
sa trimiti prin veth[A] pachete cu mac sursa = macul lui veth[A] si mac
destinatie = macul lui eth2.

O alta varianta ar fi cu masini virtuale (qemu, de exemplu, pt. ca merge
fara modificari in os-ul actual) dar e mai complicat de facut.

Radu R.




More information about the LiSA-Devel mailing list