/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Mac-adresse i Linux-kernen
Fra : Rasmus Bøg Hansen


Dato : 28-10-05 17:26

Hej

Jeg roder med noget kode i Linux-kernen (2.6.X), nærmere bestemt et
QoS-modul (WRR for at være mere bestemt).

For at gøre et langt spørgsmål så kort som muligt, skal jeg bruge
mac-adressen på afsender og helst også modtager (sidstnævnte er
formentlig kun muligt, når man kører bridging)...

I gamle dage (2.2) fik man mac-adresse fra skbuff'enpå denne måde (dog
kun hvis man kørte bridging):

skb->mac.ethernet->h_source
skb->mac.ethernet->h_dest

men den var kun tilgængelig, hvis man kørte bridging. Nu om dage synes
dette at skulle gøres med:

eth_hdr(skb)->h_source
eth_hdr(skb)->h_dest

men tilsyneladende er mac-adresserne ikke tilgængelige, selv ikke når
man kører bridging. Jeg tjekker om de er tilgængelige ved at undersøge
om der er en ethernet header i skbuff'en:

if (skb->mac.raw >= skb->head && (skb->mac.raw + ETH_HLEN) <= skb->data))
{ ... }

Men skb->mac.raw synes at være 0 uanset hvad...

Er det korrekt forstået at man på dette niveau (sched) i 2.6-kernerne
ikke kan uddrage mac-adresserne på hverken modtager eller afsender,
selv ikke når man kører bridging?

Pft
/Rasmus

--
-- [ Rasmus "Møffe" Bøg Hansen ] ---------------------------------------
Tolkien? Who's that? Wasn't that Lord of the rings thingy written by
this Peter Jackson guy?
-- Till Westermayer on alt.fan.douglas-adams
----------------------------------------------[ moffe at zz9 dot dk ] --

 
 
Rasmus Bøg Hansen (01-11-2005)
Kommentar
Fra : Rasmus Bøg Hansen


Dato : 01-11-05 01:29

spam05@zz9.dk (Rasmus Bøg Hansen) hit the keyboard.
Afterwards the following was on the screen:

> Jeg roder med noget kode i Linux-kernen (2.6.X), nærmere bestemt et
> QoS-modul (WRR for at være mere bestemt).
>
> For at gøre et langt spørgsmål så kort som muligt, skal jeg bruge
> mac-adressen på afsender og helst også modtager (sidstnævnte er
> formentlig kun muligt, når man kører bridging)...

/* SNIP */

> Er det korrekt forstået at man på dette niveau (sched) i 2.6-kernerne
> ikke kan uddrage mac-adresserne på hverken modtager eller afsender,
> selv ikke når man kører bridging?

Nå, ifølge kerneguruerne er mac-adressen åbenbart kun tilgængelig i
ganske særlige tilfælde i sched-laget. Øjensynlig skyldes det at der
kan jongleres rundt med pakker (netfilter, sched-moduler og meget
andet), at man ikke kan regne med at have den tilgængelig.

--
-- [ Rasmus "Møffe" Bøg Hansen ] ---------------------------------------
Christ, you haven't even seen the film yet and you're comparing it,
unfavourably, to a dressing gown.
-- Freakstone on alt.fan.douglas-adams
----------------------------------------------[ moffe at zz9 dot dk ] --

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste