GTPv6 tunnel reassembly

In a fixed-wireless setup, the MAG can receive upstream fragmented GTPv6 data packets from RAN nodes over the S1-u or N3 interface. RAN nodes fragment a packet after GTPv6 tunnel encapsulation if the resulting packet exceeds the configured MTU. This typically occurs if the Path MTU Discovery (PMTUD) does not work end-to-end, and the fixed-wireless CPE sends an underlying IP packet that, after GTPv6 encapsulation on the RAN, exceeds the configured MTU.

Tunnel reassembly function on the MAG is performed on a group of ESA-VMs of type BB. A NAT group, belonging to a WLAN-GW-group of ESA-VMs, must be configured for reassembly and associated with the routing context (Base router or VPRN). The routing context is the same as the one in which the reassembled GTP packets are received and processed. The following example shows the NAT group reassembly configuration.

MD-CLI

[ex:/configure isa]
A:admin@Dut-AE# info    
    nat-group 1 {
        redundancy {
            active-mda-limit 2
        }       
         esa-vm 1/1
         esa-vm 1/2
         esa-vm 1/3
    }

[ex:/configure service]
A:admin@node-2# info
    vprn "to-ran" {
        service-id 2
        customer "1"
        interface "gtp-u-termination" {
        }
    }

classic CLI

A:node-2>config>isa>nat-group# info
----------------------------------------------
nat-group 1
    redundancy
        active-mda-limit 2
    exit
    esa-vm 1/1
    esa-vm 1/2
    esa-vm 1/3
    no shutdown
----------------------------------------------
A:node-2>config>service# info
----------------------------------------------
        customer 1 name "1" create
            description "Default customer"
        exit
        vprn 2 name "to-ran" customer 1 create
            shutdown
            interface "gtp-u-termination" create
            exit
        exit
----------------------------------------------

The fragmented packets are steered to the ESA-VM group using the action reassemble command in an IP filter that matches on fragmented UDP packets. The IP filter is associated with the ingress network interface on which the GTPv6 packets are received. The following example shows the reassembly configuration.

MD-CLI

configure filter ipv6-filter “gtpv6-reassembly” {
    entry 10 {
        match {
            next-header udp
            fragment true
        }
        action {
            reassemble true
        }
    }
}

configure router interface “gtp-u-termination”
configure service vprn “to-ran” interface “gtp-u-termination”
{
    ingress {
        filter {
            ip "gtpv6-reassembly"
        }
    }
}

classic CLI

A:node-2>config>filter# info
----------------------------------------------
        ipv6-filter 1 name "gtpv6-reassembly" create
            entry 10 create
                match next-header udp
                    fragment true
                exit
                action
                    reassemble
                exit
            exit
        exit
----------------------------------------------
A:node-2>config>router# info
----------------------------------------------
#--------------------------------------------------
echo "IP Configuration"
#--------------------------------------------------
        interface "gtp-u-termination"
            no shutdown
        exit       
----------------------------------------------

The reassembled GTPv6 packet is forwarded out of the ESA and follows regular GTPv6 ingress processing in the IOM/IMM, which a received unfragmented GTPv6 packet receives.

GTPv6 tunnel reassembly is load-balanced amongst the active ESA-VMs configured in the ESA-VM group. Load balancing is performed such that all fragments of a packet are steered to the same ESA-VM in the group. Other functions, such as NAT or WLAN-GW processing, can occur simultaneously on the same set of ESAs that perform the tunnel reassembly.

The ESA-VM group providing reassembly function supports the N:K ESA-VM redundancy model, where failure of one or more active ESA-VMs can be handled by available backup ESA-VMs.