Classification: UNCLASSIFIED Caveats: NONE
OK, based on the answers below, I have a few more questions.
1) Is there any way for a user program to communicate with batman if certain packets need special handling? I don't mind if I have to mark each packet individually, or if I have to do something else interesting, but if I can mark a packet as special, then I can hack code into batman to set the TTL field the way I need it.
2) Does batman rely on multicast in any way for its own operation? That is, for something that keeps the network running well. If not, I can force all multicast packets to have a TTL of 1. This still requires some way of marking my own IP packets as multicast packets in a manner that batman can recognize, but I'm willing to do that, if it will help.
Thanks, Cem Karan
-----Original Message----- From: Sven Eckelmann [mailto:sven@narfation.org] Sent: Tuesday, September 04, 2012 9:05 AM To: b.a.t.m.a.n@lists.open-mesh.org Cc: Karan, Cem F CIV (US); Linus Lüssing Subject: Re: [B.A.T.M.A.N.] Batman, TTL, broadcast, etc. (UNCLASSIFIED)
On Tuesday 04 September 2012 12:48:00 Karan, Cem F CIV wrote: [...]
- I'm guessing from the following pages (which only describe roaming
and announcement behaviors) that the TTL field of all packets is decremented by 1. Is this true? http://www.open-mesh.org/projects/batman-adv/wiki/Client-roaming http://www.open-mesh.org/projects/batman-adv/wiki/Client-announcement
TTL fields of the batman-adv specific TTL fields are decremented by one for each hop.
- Follow up to question 1; are the TTL fields of Batman packets and
IP packets linked in some way? The library I'm using (zeromq, http://www.zeromq.org/) has a reliable multicast transport built on top of OpenPGM (http://code.google.com/p/openpgm/). My plan is to simulate reliable 1-hop broadcast by using reliable multicast and setting the TTL field to 1. However, this will only affect the IP layer. Unless batman also decrements the TTL field of the IP packets traveling over it, I'm kind of stuck.
No, batman-adv is a distributed switch on layer 2. So it operates on a different layer and has no knowledge of IP or its TTL field (please ignore the gateway feature for now... this is the only exception were it accesses L3 stuff).
- Finally, does batman have the equivalent of multicast or (better
yet) broadcast for data packets? That is, if I send something to a multicast IP address which all of its 1-hop neighbors are listening to, will all of them listen to the packet simultaneously, or will it act like a series of unicast messages?
It currently has layer 2 broadcast support (it resents broadcast packets 3 times to increase the propability for a successful tx). Multicast is handled as multicast. Linus Luessing has a patchset to implement optimized multicast [1]. I am not sure about the current state. But maybe he can give more detailed information about it. But you should know that the optimized implementation may use unicast in some scenarios.
Kind regards, Sven
[1] http://www.open-mesh.org/projects/batman-adv/wiki/Multicast-ideas
Classification: UNCLASSIFIED Caveats: NONE