Subject: [BEHAVE] IPv4/IPv6 relayed address allocation

From: Marc Petit-Huguenin <[email-masked]>
Date: Wed, 02 Apr 2008 14:27:12 -0700

I think that I found a contradiction between turn-07 and turn-ipv6-04:

In turn-07 section 6.2, "When allocating a relayed transport address for
the allocation, the server MUST allocate an IP address of the same
family (e.g, IPv4 vs. IPv6) as the server's transport address."

In turn-ipv6 section 5.1, "If the REQUESTED-ADDRESS-TYPE attribute is
absent, the server MUST allocate a IPv4 transport address to the TURN
client."

My understanding before trying to implement turn-07 was that TURN
without turn-ipv6 always allocates an IPv4 relayed transport address -
in other words that a REQUESTED-ADDRESS-TYPE with a family value equals
to 0x01 is equivalent to no REQUESTED-ADDRESS-TYPE.

Who's right?

-- 
Marc Petit-Huguenin           [                                 ]
Home: [email-masked] [RFC1855-compliant space for rent ]
Work: [email-masked]            [                                 ]
[                                                               ]
_______________________________________________
Behave mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/behave

---

From: Rémi Denis-Courmont <[email-masked]>
Date: Thu, 3 Apr 2008 07:32:23 +0300

> to 0x01 is equivalent to no REQUESTED-ADDRESS-TYPE.

IMHO, I think TURN-07 is wrong and TURN-IPv6 is right.

The relay cannot know if there was a protocol translator in the middle, so 
that would be the only way to obtain sane defaults.

So either the client must always explicitly specify the address family, or the 
default should be independent of the relay-reflexive address of the client.

My 2 yens (almost 2 cents, right)

-- 
Rémi Denis-Courmont

---

From: Philip Matthews <[email-masked]>
Date: Thu, 24 Apr 2008 16:17:13 -0400

> default should be independent of the relay-reflexive address of the  

Sorry to be slow in replying here.

I would really prefer to stick with the current turn-07 proposal and  
fix turn-ipv6 to match.

If we went with the turn0-ipv6 proposal, then the base TURN  
specification would have to specify how to relay between IPv6 and  
IPv4. This would happen if the server's transport address was IPv6,  
since the base specification would always allocate a v4 relayed- 
transport-address. In particular, the base spec would have to go into  
the details of how to translate the IP headers when doing "fully- 
compliant relaying" (as described at the last meeting in Philly). This  
I would really like to avoid.

So instead, a TURN client much check the address family of the relayed- 
transport-address it gets back, just like it much check the address  
family of the mapped-address (these two families will always be the  
same under the current base spec proposal). If the client cannot  
handle this family, then it must delete the allocation.

If the WG feels this is not acceptable, then I will propose that we  
remove all handling of IPv6 from the base spec, and let draft-ietf- 
behave-turn-ipv6 cover these cases.

- Philip