Repository : ssh://git@open-mesh.org/doc
On branches: backup-redmine/2017-07-13,master
commit 17366666bcb5cfa510165a149017cb3f154c2e26 Author: Simon Wunderlich sw@simonwunderlich.de Date: Thu Oct 27 19:22:58 2011 +0000
doc: batman-adv/Bridge-loop-avoidance-Protocol
17366666bcb5cfa510165a149017cb3f154c2e26 batman-adv/Bridge-loop-avoidance-Protocol.textile | 128 ++++++++++++++++++++-- 1 file changed, 121 insertions(+), 7 deletions(-)
diff --git a/batman-adv/Bridge-loop-avoidance-Protocol.textile b/batman-adv/Bridge-loop-avoidance-Protocol.textile index 3a346818..ecdb361a 100644 --- a/batman-adv/Bridge-loop-avoidance-Protocol.textile +++ b/batman-adv/Bridge-loop-avoidance-Protocol.textile @@ -6,7 +6,7 @@ Further pages on this topic: * [[Bridge-loop-avoidance-II]] Technical description * [[Bridge-loop-avoidance]] User howto
-h3. Claim frames +h2. Claim frames
!claimtypes.dia.png!:http://www.open-mesh.org/attachments/download/133/claimtypes.dia.png
@@ -26,19 +26,104 @@ IP address is already in an ARP table [2]. [1] http://tools.ietf.org/html/rfc826 [2] http://tools.ietf.org/html/rfc2002#section-4.6
-+CLAIM frames+ - +h3. CLAIM frames + +<pre> + 0 1 2 3 + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Ethernet DST: FF:FF:FF:FF:FF:FF | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Ethernet DST (cont) | Ethernet Source: client addr | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Ethernet SRC: client addr (cont) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Ethernet type (08 06) | HW type (00 01) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Protocol type (08 00) | HW size (06) | Prot size (04)| + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Opcode (2 = Reply) | Sender HW addr: orig addr | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Sender HW addr: originator addr (cont) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Sender IP (0.0.0.0) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Target HW addr: FF:43:05:00:XX:XX | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Target HW addr (cont) | Target IP (0.0.0.0) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Target IP (0.0.0.0, cont) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +</pre> A CLAIM frame is sent when a new client is added to the local table and the backbone gateway wants to be responsible now.
Backbone gateways which receive a CLAIM frame (and accept the backbone gateway) must add the claim in their tables, replacing older claims if they are present (even their own).
-+UNCLAIM frames+ +h3. UNCLAIM frames + +<pre> + 0 1 2 3 + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Ethernet DST: FF:FF:FF:FF:FF:FF | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Ethernet DST (cont) | Ethernet Source: orig addr | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Ethernet SRC (originator addr, cont) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Ethernet type (08 06) | HW type (00 01) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Protocol type (08 00) | HW size (06) | Prot size (04)| + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Opcode (2 = Reply) | Sender HW addr: client addr | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Sender HW addr: client addr (cont) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Sender IP (0.0.0.0) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Target HW addr: FF:43:05:01:XX:XX | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Target HW addr (cont) | Target IP (0.0.0.0) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Target IP (0.0.0.0, cont) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +</pre> +
An UNCLAIM frame is sent when the backbone gateway is not responsible anymore, e.g. due to detected roaming into the backbone or a timeout
Backbone gateways which receive an UNCLAIM frame (and accept the backbone gateway) must remove the the claim from their tables.
-+ANNOUNCE frames+ +h3. ANNOUNCE frames + +<pre> +0 1 2 3 + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Ethernet DST: FF:FF:FF:FF:FF:FF | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Ethernet DST (cont) | Ethernet Source: orig addr | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Ethernet SRC (originator addr, cont) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Ethernet type (08 06) | HW type (00 01) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Protocol type (08 00) | HW size (06) | Prot size (04)| + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Opcode (2 = Reply) | Sender HW addr: ... | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Sender HW addr: 43:05:43:05:YY:YY (cont) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Sender IP (0.0.0.0) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Target HW addr: FF:43:05:02:XX:XX | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Target HW addr (cont) | Target IP (0.0.0.0) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Target IP (0.0.0.0, cont) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +</pre> +
The periodic ANNOUNCE frames (default: every 10 seconds) by the backbone gateways serve the following purposes:
@@ -48,7 +133,36 @@ The periodic ANNOUNCE frames (default: every 10 seconds) by the backbone gateway
Note: the SRC HW address is a "locally administered address" group address which should not be used by any NIC or protocol, but is not registered with the IEEE
-+REQUEST frame+ +h3. REQUEST frame + +<pre> + 0 1 2 3 + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Ethernet DST: Gateways addr | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Ethernet DST (cont) | Ethernet Source: orig addr | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Ethernet SRC (originator addr, cont) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Ethernet type (08 06) | HW type (00 01) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Protocol type (08 00) | HW size (06) | Prot size (04)| + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Opcode (2 = Reply) | Sender HW addr: gw addr | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Sender HW addr: gateway addr (cont) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Sender IP (0.0.0.0) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Target HW addr: FF:43:05:03:XX:XX | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Target HW addr (cont) | Target IP (0.0.0.0) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Target IP (0.0.0.0, cont) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +</pre> +
A REQUEST frame is sent by a backbone gateway who just received an ANNOUNCE frames and discovers that the CRC is out of sync.
@@ -61,7 +175,7 @@ The requesting backbone gateway will add all claims it receives through the CLAI
While a request is in flight, the requesting backbone gateway will close down its soft-interface for broadcast to avoid loops in this period.
-+group forming+ +h3. group forming
Within the "Target HW address", the last 2 bytes XX:XX are used for as a local group identifier.