Getting packets MAC source address in if_ethersubr.c
Eygene Ryabinkin
rea-fbsd at codelabs.ru
Mon Oct 6 05:56:29 UTC 2008
Ryan, good day.
Mon, Oct 06, 2008 at 05:30:23PM +1300, Ryan French wrote:
> 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.
Do you mean by 'the source of the packet' the MAC address of the
incoming packet to what you're sending a reply packet? If you can
somehow "remember" the MAC address of the packet you're replying to
(don't know about internals of your application, so can't judge if it is
feasible), you can try to look at the sys/net/if_bridge.c
(bridge_enqueue at the first place and bridge_input as the example on
how to manipulate the Ethernet header). These might help you, unless
you're not using Ethernet as the transport.
--
Eygene
_ ___ _.--. #
\`.|\..----...-'` `-._.-'_.-'` # Remember that it is hard
/ ' ` , __.--' # to read the on-line manual
)/' _/ \ `-_, / # while single-stepping the kernel.
`-'" `"\_ ,_.-;_.-\_ ', fsc/as #
_.-'_./ {_.' ; / # -- FreeBSD Developers handbook
{_.-``-' {_/ #
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-net/attachments/20081006/23bf38d1/attachment.pgp
More information about the freebsd-net
mailing list