erlug
[Top] [All Lists]

Re: [Erlug] moduli

To: "erlug" <erlug@xxxxxxxxxxxxxx>
Subject: Re: [Erlug] moduli
From: "dragonlair@xxxxxxxxx" <dragonlair@xxxxxxxxx>
Date: Mon, 24 May 2004 14:17:26 +0200
>
> Ps:
> Hai provato a ripensare completamente alla cosa? Esattamente qual'e` il
> problema? A monte, intendo.
> Non la tua soluzione.

Allora, cerco di spiegarmi meglio che posso: sto sperimentando il funzionamento
di raw ethernet (non per lavoro, ma per studio, dunque non posso usare altre
soluzioni, ma devo studiare questa). Ho a disposizione due picci ciascuno con
due schede gigabit ethernet di cui verso uno switch e l'altra che consente la
comunicazione con l'altro computer dei due a disposizione. Il driver che sto
usando ora e' e1000-5.20.3.1 che ho scaricato da internet e compilato. Fin qui
tutto ok.
Secondo passo: ho a disposizione un paio di semplici programmi in C che
costituiscono il client e il server per realizzare la comunicazione raw che sto
testando e sperimentando. Il problema rilevato e' che quando provo ad inviare
dei frames, sotto certe condizioni, alcuni di essi si perdono.
Per quanto ho rilevato fino ad ora le cause principali sono da ricercarsi nel
numero di frames troppo elevato e nella dimensione troppo piccola dei frames che
vengono spediti. Questo avviene perche' la scheda di rete receiver genera un
interrupt per ogni frame ricevuto, ma se gli interrupt generati sono troppi, il
processore puo' non gestirli tutti correttamente (ma i problemi sono anche
altri, come code di attesa troppo piccole, buffer di ricezione di dimensione non
adeguata e cosi' via)
Per studiare il problema mi e' stato proposto di modificare il driver delle due
schede di rete e qui arriviamo al punto. Le modifiche non devono interessare
eth0 (l'interfaccia della scheda di rete connessa allo switch), ma solo eth1
(l'interfaccia della scheda di rete connessa con un link punto a punto con il
nodo sender) Ne viene che i due moduli, modificato e non, devono coesistere.
In realta' un altro problema e' che se anche compilo i driver e rinomino il
modulo che ne risulta, comunque il modulo non modificato continua a gestire sia
eth0, sia eth1, mentre io vorrei che fosse il modulo modificato a gestire eth1.
Tra l'altro nella doc del driver della scheda di rete non c'e ' nulla che
indichi come far si che il modulo si incarichi di gestire solo un sottogruppo
(una o piu') delle schede di rete presenti.
Ecco, ho detto tutto (fatica)

>
> Perche` devi _per forza_ fare questa cosa dei due moduli con la stessa
> scheda?

Spero di essermi spiegato meglio...

Simone Saravalli



<Prev in Thread] Current Thread [Next in Thread>