Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 Oct 2008 14:48:14 +0300
From:      Gleb Kurtsou <gleb.kurtsou@gmail.com>
To:        Julian Elischer <julian@elischer.org>
Cc:        Ryan French <rfrench@freebsd.org>, freebsd-net@freebsd.org
Subject:   Re: Getting packets MAC source address in if_ethersubr.c
Message-ID:  <20081006114814.GB3497@rybacik>
In-Reply-To: <48E9AA84.90804@elischer.org>
References:  <200810061730.23641.rfrench@freebsd.org> <48E9AA84.90804@elischer.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On (06/10/2008 14:04), Julian Elischer wrote:
> Ryan French wrote:
> > Hi All,
> > 
> > For my implementation of MPLS I have just about run out of time for my 
> > dissertation so at the moment I am trying to create fake routing table 
> > entries e.t.c. rather than doing this properly (I will be doing this once uni 
> > is finished and I have more free time to work on it). I now have receiving, 
> > decoding and sending of packets working, except for one small problem. When I 
> > send a packet back out the MAC address is wrong. I am looking for a way in 
> > the ether_output function in if_ethersubr.c that I can get the MAC address of 
> > the source of the packet and then just send it back to that source. If anyone 
> > knows how to do this without having to use arpresolve or anything like that 
> > (the IP address of the destination is not going to be the same as the IP 
> > destination in the packet) or without having to setup a proper routing table 
> > then it would be much appreciated.
> > 
> > Thanks,
> > -Ryan
> > _______________________________________________
> > freebsd-net@freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-net
> > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"
> 
> 
> You could create a tag type that holds a layer 2 address, and attach 
> it to the packet on ingresss,
> 
> it should stay with the packet as long as it's not destroyed..
> then on egress you could find it and use it..
That's exactly what I did for Google Summer Of Code project this year
http://wiki.freebsd.org/GlebKurtsov/Improving_layer2_filtering

Ryan, you can have a look at first changesets in perforce and extract
only functionality you need.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20081006114814.GB3497>