Hi,
is there a way to get the mac address of the station that sent the bat_packet? We want to get hold of parameters such as signal strength. We could do this by using the radiotap header, or by looking at the iw station dump of a neighbour. The second option requires the use of the mac address.
Regards Dominic UCT, SA
On Thursday 04 October 2012 18:21:02 Dominic Follett-Smith wrote:
Hi,
is there a way to get the mac address of the station that sent the bat_packet? We want to get hold of parameters such as signal strength. We could do this by using the radiotap header, or by looking at the iw station dump of a neighbour. The second option requires the use of the mac address.
Hm? What is a bat_packet? And the sender is encoded in the ethernet mac header before any batman-adv header fields.
Kind regards, Sven
On Thursday 04 October 2012 18:30:25 Sven Eckelmann wrote:
On Thursday 04 October 2012 18:21:02 Dominic Follett-Smith wrote:
Hi,
is there a way to get the mac address of the station that sent the bat_packet? We want to get hold of parameters such as signal strength. We could do this by using the radiotap header, or by looking at the iw station dump of a neighbour. The second option requires the use of the mac address.
Hm? What is a bat_packet? And the sender is encoded in the ethernet mac header before any batman-adv header fields.
Ok, next time please write that you are speaking about batmand. But it is still the same. The mac is part of the ethernet mac header at the beginning of the frame.
Kind regards, Sven
Hi,
We have set up a 4x4 test bed composed of Alix PC engines routers, with debian 2.6.32 OS, CM9 Atheros pci cards with ath5k driver. We are using batmand, in this mesh.
We have set the txpower level to 0dBm to enforce mutli-hopping in the testbed. We have the pci cards operating in ad-hoc mode.
What we are trying to do is use the physical interference model for a new interference metric we have made. In order to do this, we need to obtain the received signal strength of an OGM that a station has received from a neighbour.
We initially thought that a simple method would be to use the iw tool as follows:
iw dev wlan0 station get <mac address of neighbour station>
However we need the mac address of the neighbouring station that sent the OGM. But we are not sure how to go about retrieving the mac address which is part of the ethernet mac header at the beginning of the frame.
I am happy to provide more details, if I have left anything out.
Kind Regards Dominic
On Thu, Oct 4, 2012 at 6:32 PM, Sven Eckelmann sven@narfation.org wrote:
On Thursday 04 October 2012 18:30:25 Sven Eckelmann wrote:
On Thursday 04 October 2012 18:21:02 Dominic Follett-Smith wrote:
Hi,
is there a way to get the mac address of the station that sent the bat_packet? We want to get hold of parameters such as signal strength. We could do this by using the radiotap header, or by looking at the iw station dump of a neighbour. The second option requires the use of the mac address.
Hm? What is a bat_packet? And the sender is encoded in the ethernet mac header before any batman-adv header fields.
Ok, next time please write that you are speaking about batmand. But it is still the same. The mac is part of the ethernet mac header at the beginning of the frame.
Kind regards, Sven
On Thursday 04 October 2012 21:30:24 you wrote:
However we need the mac address of the neighbouring station that sent the OGM. But we are not sure how to go about retrieving the mac address which is part of the ethernet mac header at the beginning of the frame.
You don't have this information when you receive the data through an UDP socket (this is one of the reasons why all development is now done in batman- adv). What you can do is to rewrite the batmand socket handling stuff using PF_PACKET. Small hint: you should use BPF to reduce the amount of packets received by userspace since your HW doesn't look really powerful. Even better hint: BPF codes can be created using tcpdump. Here an example for udp port 4305:
$ tcpdump -dd 'ip and udp and port 4305' { 0x28, 0, 0, 0x0000000c }, { 0x15, 0, 10, 0x00000800 }, { 0x30, 0, 0, 0x00000017 }, { 0x15, 0, 8, 0x00000011 }, { 0x28, 0, 0, 0x00000014 }, { 0x45, 6, 0, 0x00001fff }, { 0xb1, 0, 0, 0x0000000e }, { 0x48, 0, 0, 0x0000000e }, { 0x15, 2, 0, 0x000010d1 }, { 0x48, 0, 0, 0x00000010 }, { 0x15, 0, 1, 0x000010d1 }, { 0x6, 0, 0, 0x0000ffff }, { 0x6, 0, 0, 0x00000000 },
This code has to be attached to the "PF_PACKET, SOCK_RAW"-socket using setsockopt's SO_ATTACH_FILTER.
The packets can be received using recvmsg (don't forget to use MSG_TRUNC or you will get problems to differentiate different packets. Your biggest problem will be the handling of fragmented IP packets... but you should not get them when you listen for these broadcast announcements.
Kind regards, Sven
AFAIU batman is unaware of the PHY layer mac address, so your only option is sniffing that out of a pcap dump.
Or, i misundestood your objective. Can you explain a little bit more what you're trying to do?
On 10/4/12, Dominic Follett-Smith dominicfollett@gmail.com wrote:
Hi,
is there a way to get the mac address of the station that sent the bat_packet? We want to get hold of parameters such as signal strength. We could do this by using the radiotap header, or by looking at the iw station dump of a neighbour. The second option requires the use of the mac address.
Regards Dominic UCT, SA
-- If you are going to achieve excellence in big things, you develop the habit in little matters. Excellence is not an exception, it is a prevailing attitude. Colin Powell
b.a.t.m.a.n@lists.open-mesh.org