Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

5G UE disconnects if IPv6 IP Block and APN PTN are not correctly provisioned #15417

Open
jblakley opened this issue Apr 30, 2024 · 0 comments
Open
Labels
type: bug Something isn't working

Comments

@jblakley
Copy link
Contributor

In Magma 5G, a UE will connect to gNB/AGW for roughly 10 seconds and then disconnect. The root cause of this issue is not provisioning of IPv6 address space in Orchestrator (even if IPv6 is not used in the deployment).

Your Environment

  • Version: pre-1.9
  • Affected Component: Orchestrator, Access Gateway, and NMS
  • Affected Subcomponent: mobilityd
  • Deployment Environment: Local Orc8r and containerized AGW with Sercomm gNB & Global Telecomm Titan 5000 5G gateway

Describe the Issue

If the network admin fails to specify a) an IPv6 address range in the EPC and b) set the APN PTN to IPv4v6, a 5G UE will initially connect to the network but, after 10 seconds, the connection will drop. A warning message appears in mobilityd log: IPv4/IPv6 IP address allocation not successful. Reconnection may require a UE reboot.

In lte/gateway/python/magma/mobilityd/rpc_servicer.py
the following code throws an exception when IPv6 addresses are not configured.

try:
    ipv4_address = ipv4_response.ip_list[0]
    ipv6_address = ipv6_response.ip_list[0]
except IndexError:
    logging.warning("IPv4/IPv6 IP address allocation not successful")
    resp = AllocateIPAddressResponse()
else:
    resp = AllocateIPAddressResponse(
        ip_list=[ipv4_address, ipv6_address],
        vlan=ipv4_response.vlan,
    )

To Reproduce

  1. Create a network in Orc8r and configure for 5G per this.

  2. In NMS, don't configure IPv6

    • Equipment->Gateway->GW-ID->EPC->Edit. Leave IPv6 Block empty
    • Traffic->APN->APN ID. Leave PDN Type as IPv4
  3. Provision and connect gNB

  4. Provision and connect UE

Expected behavior

If the network admin configures the network only for IPv4, magma should ignore IPv6 errors during UE connection and assign IPv4 addresses only.

Some possible solutions:

  • Change code to handle failure to assign IP block more smoothly
  • Pre-populate the IPv6 Block with default addresses
  • Update documentation to make clear ramifications of failure to populate

Screenshots

The disconnect looks as follows in wireshark.
image-20240429160323132
The zipped pcap file is attached.
ue-connect-release-while-pinging-2023-02-16.zip

Additional context

See this github issue for more detail/background.

@jblakley jblakley added the type: bug Something isn't working label Apr 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant