Dual Address Bearer flag (DAF)

Posted: March 21, 2011 in technical
Tags: , , , , , , , , , , , , ,

Helloooo, agaaainnn!!! Long time no see, 4G

Let’s have a short (very short) talk about this DAF thinggie. DAF stands for Dual Address Bearer and it is a flag only set in the Create Session Request message, sent from the MME to the SGW, over the S11 interface. Details about this funky flag are in TS 23.401 (Section E-UTRAN Initial Attach and Section 5.3.1 IP Address Allocation) and in TS 29.274 (Table 7.2.1-1 Information Elements in Create Session Request) and…might be in other TSs also, but I have no idea about those 😛

So, when and why we do use this flag? Mwell, TS 29.284 says the following:

DAF – Conditional :  Dual Address Bearer Flag: This flag shall be set to 1 when the UE requests a PDN type IPv4v6 and all SGSNs which the UE may be handed over to support dual addressing. This shall be determined based on node pre-configuration by the operator.

So, this flag is an indication sent from the MME to the SGW, telling the SGW at the moment of the Initial Attach procedure: Hey! you know what? My mobile device supports dual-stack. You can assign it at once, on the same bearer, both an IPv4 and an IPv6.

Also, if the UE moves from a 3G coverage to a 4G coverage (the definition above says the other way around, but logic tells me that the MME actually sends a Create Session Request when it is a _target_ MME, therefore when the UE moves from a 3G to a 4G network), doing an MME relocation, SGW relocation handover procedure, our MME would says the following to its fellow SGW: Dear SGW, my mobile device has just arrived here from a 3G network, more specifically from an SGSN that supports dual addressing. So don’t worry that I am asking for both an IPv4 and IPv6 addresses for the same bearer for this UE.

Now, there are several rules when using or not this DAF. The general rule is to set it, which seems to be the default rule in the 4G network context.

The only case when, in a 4G context we do NOT set this flag is when the interface between the SGW and the PGW (the S5/S8 interface) runs PMIP, and not GTPv2 (as S11 does).

So, usually, in this most common case, the UE that supports dual-stack will ask for a single default bearer, having an IPv4v6 dual-stack type of address. If the MME is running in a full 4G environment or it is aware that all SGSNs to which the user may handover to also support dual-stack and the MME is aware that the S5/S8 interface runs GTPv2, then the MME will set the DAF flag and hopefully the PGW also supports dual-stack, our dear UE will get an IPv4v6 address, actually meaning that it will get 2 IP addresses (one IPv4 and one IPv6) for the same, single, default bearer to this  APN.

But, even if the UE says it supports dual-stack, but the MME considers, for some reasons it has (it is aware of non-compatible SGSN, or it knows about S5/S8 running PMIP or whatever), not to set the DAF flag, then the UE’s type of address remains to be decided by the PGW….as it follows:

The PDN GW takes into account the received PDN type, the Dual Address Bearer Flag and the policies of operator when the PDN GW selects the PDN type to be used as follows. If the received PDN type is IPv4v6 and both IPv4 and IPv6 addressing is possible in the PDN but the Dual Address Bearer Flag is not set, or only single IP version addressing for this APN is possible in the PDN, the PDN GW selects a single IP version (either IPv4 or IPv6). If the received PDN type is IPv4 or IPv6, the PDN GW uses the received PDN type if it is supported in the PDN, otherwise an appropriate error cause will be returned. The PDN GW allocates a PDN Address according to the selected PDN type. If the PDN GW has selected a PDN type different from the received PDN Type, the PDN GW indicates together with the PDN type IE a reason cause to the UE why the PDN type has been modified.

What about the UE. What should it do after getting an IP?

After the Attach Accept message and once the UE has obtained a PDN Address, the UE can then send uplink packets towards the eNodeB which will then be tunnelled to the Serving GW and PDN GW. If the UE requested for a dual address PDN type (IPv4v6) to a given APN and was granted a single address PDN type (IPv4 or IPv6) by the network with a reason cause indicating that only single IP version per PDN connection is allowed sent together with the PDN type, the UE may request for the activation of a parallel PDN connection to the same APN with a single address PDN type (IPv4 or IPv6) other than the one already activated. If the UE receives no reason cause in step 18 in response to an IPv4v6 PDN type and it receives an IPv6 Interface Identifier apart from the IPv4 address or in the PDN Address field, it considers that the request for a dual address PDN was successful. It can wait for the Router Advertisement from the network with the IPv6 prefix information or it may send Router Solicitation if necessary.

Now, the applications on the UE must know which type of socket to create. They can either create an IPv4 or an IPv6 socket and choose among the available IP addresses.


  1. Radu says:

    Hi, Where did you find the info regarding PMIP/GTP differences? Why not setting the flag when s5/s8 is PMIP?

  2. @Radu: hmm. it was in 23.401, June. Now I see that in December it is no longer there.

    On a second read, I believe they are just indicating that when the interface in PMIP you don’t use the DAB (which is reasonable, cuz you no longer have a Create Session Request message anymore).

  3. Dumitru says:

    Long time not seen any useful posts 😛

    Actually I’m not sure you’re right regarding “MME relocation, SGW relocation handover procedure”.
    As you know, a very stringent requirement for running LTE with 3G handover/camping possibility is to have PDPs terminated at the same GGSN/P-GW as the associated EPS Bearer.
    During handover procedure, the T-MME receives all the needed information from S-MME/SGSN regarding handovered PDPs, this includes PGW IP and TEID for control plane that coupled with EBI gives PGW enough information ie IMHO DAF is disregarded by both SGW(he doesn’t care about MS addressing :), he only relay it if received) and PGW(the session is actually created long time ago).
    Would be nice if you could provide a trace to see what happens.

  4. Kamal says:

    Hello, when a UE has a session ongoing, he has an IP address. Dusring handover, session continuity is maintained. Does the UE still have the same IP. What happens to UE IP address during handover. Cant find any details about that, Plz help.

    • @Kamal: The UE maintains its IP address during Handover. This happens because it got its IP address from the PGW, and the PGW is the attach anchor for the UE.
      UE loses its IP address only when disconnecting (detaching) from the network (from the PGW, implicitly). Also, when it re-connects, it is very possible that the PGW allocates it the same IP address it had last time. This depends on the policies on the PGW…it may use a Radius server or a Diameter, and allocating IP addresses from there, it may maintain a “lease-time’ – if it uses a DHCP server..etc
      The main idea, and to answer your question, is that UE does not loses its IP address during handover. If it were to do so, it would be a malfunction somewhere in the network.

  5. Kamal says:

    Thanks for your prompt reply. Can you recommend me any TS where i can understand this concept. I am looking at Local IP Access (LIPA) where the UE is assigned an IP address by a L-GW(similar to PDN) for accessing local networks. In such a case, each eNB (Home eNB) has a L-GW. Is the IP address assigned to UE still same across different HeNB.

    When UE moves from 1 eNB to another during handover, when it detaches from source eNB and attches to target eNB, according to you, the IP address is same. Can it be different and mobility protocol is used for session continuity?

  6. Br..it’s been a while.
    I would say that if you understand TS 23.401 and TS.29.274, you should be ok with these concepts and functionality.
    Also, these 2 TSs also provide references to other TSs that cover into more details some of the functionality aspects. For instance, TS 23.401 should provide a reference to another TS (I don’t remember which one now) that describes in more details how IP allocation works: details on IPv4, IPv6, IPv4v6, multiple PDN connections…and so on.

  7. Kamal says:

    Thanks a lot…as you’re aware of the 3GPP TS are not so clearly written. Just 1 last question, handover in this case (UE is fixed) is occuring at which layer? Thks!

  8. Hey
    I don’t understand what you mean by “level” in this case. There are 8 handover cases: X2-based handover (where the UE changes only the eNB station, and the source and target eNBs have an X2 link between them), and S1-based handovers (here you have many cases, with/without the presence of X2 link between eNBs: direct and indirect tunneling).
    Fair, the TSs don’t properly explain these cases 😦 If you like my blog, you can try to read through these articles (not all are very consistent, I was young back then :P):





  9. Kamal says:

    Thanks! Really very helpful. I am studying LIPA and badly needed to understand these basics.

    During Handover UE detaches from source eNB and “attaches” to destination eNB.
    In that case, is it the same type of UE-initiated Detach procedure and network attach procedure (although UE not turn off and on) as specified in TS 23.401.The UE is still assigned same IP due to PGW anchor.

    In short, the attach procedure does it happen just when UE is turned on or can it happen during handover.

  10. Attach and handover are different. I would not say they are similar, though some procedures may be similar. The UE does not actually detach from the source eNB, because many of the things that make the UE “attached” to the network are data structures and states that reside in the core network, not in the eNB.
    Attach happens only when the UE connects to an APN for the very first time.
    Even though it can connect to multiple APNs, not even that is called attach, but PDN Connectivity request.
    Please read carefully through their descriptions in TS 23.401; these 2 procedures are different.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s