XDP CGNAT

Share every public IPv4, without dropping a connection.

Port-block NAT44 with per-subscriber pressure sensing, plus NAT64 and MAP-T / MAP-E for IPv6-only access — in the same XDP data plane that terminates the subscriber.

SUBSCRIBERS · SHARED SPACE Home A100.64.0.11 Home B100.64.0.12 Home C100.64.0.13 CGNAT PORT-BLOCK NAT44 · IN KERNEL A → :1024–2047 B → :2048–3071 C → :3072–4095 Public IPv4 203.0.113.7 IPv6-ONLY ACCESS Home D2001:db8::11 NAT64 · MAP-T / MAP-E no IPv4 address per subscriber Internet IPv4 + IPv6 50 Mpps · ALL FEATURES ENABLED one XDP data plane · one commodity server

50 Mpps

per box with PPPoE, CGNAT, hierarchical QoS and ACLs all enabled

~500 ns

per packet through the data plane

110 Gbit/s

at 256-byte frames — 33.6 Gbit/s at 64-byte worst case

0

separate CGNAT appliances, and no per-subscriber licence

How many public IPv4 addresses would you actually need?

Port blocks share one public address across many subscribers. Put your own numbers in and see what your pool has to be.

PUBLIC IPv4 NEEDED
SUBSCRIBERS PER ADDRESS
PORTS EACH, AVERAGE
ADDRESSES YOU DO NOT BUY

Model this against your own pool →

XDP Technology Highlights

XDP (eXpress Data Path) is a high-performance networking technology in the Linux kernel that offers several highlights and features. 

XDP operates at an early stage in the Linux networking stack, allowing for processing of packets at the network driver level before they reach higher layers of the stack. This results in extremely low-latency packet processing.

XDP programs are written in a restricted subset of C and are executed by the Linux kernel's BPF (Berkeley Packet Filter) virtual machine. This integration ensures the safe and efficient execution of user-supplied code within the kernel.

XDP enables programmability at the kernel level, allowing developers to define custom packet processing logic directly within the Linux kernel. This is particularly useful for tasks like packet filtering, load balancing, and network monitoring.

XDP runs the forwarding path in the kernel, before the network stack — which is where both the latency and the CPU cost normally come from.

On BNGSOFT that works out to roughly 500 ns per packet and 50 Mpps per box with PPPoE, CGNAT, hierarchical QoS and ACLs all enabled. Packet rate is the limit, so the bandwidth follows your average frame size: about 33.6 Gbit/s at 64-byte worst case, 110 Gbit/s at 256-byte frames, and roughly 144 Gbit/s at IMIX. Port capacity reaches 400 Gbit/s with two dual-port E810 cards.

XDP can be offloaded to certain types of network hardware, allowing for hardware acceleration of packet processing. This feature enhances performance by leveraging the capabilities of modern network interface cards (NICs).

XDP programs can implement custom packet filtering and forwarding logic, allowing for efficient and flexible network traffic management. This is particularly beneficial for implementing security policies and custom routing decisions.

XDP contributes to the scalability of networking solutions by optimizing packet processing. It allows for efficient handling of a large number of packets and supports scaling in scenarios with high network traffic.

XDP facilitates real-time monitoring and analytics of network traffic by allowing the capture and processing of packets within the kernel. This capability is valuable for gaining insights into network behavior and troubleshooting.

XDP supports both IPv4 and IPv6, making it compatible with modern networking protocols. This is crucial as the transition to IPv6 becomes more prevalent due to the exhaustion of IPv4 addresses.

XDP provides a flexible platform for developers to customize and extend networking functionalities. This enables tailoring of packet processing logic based on specific use cases and requirements.

While providing performance benefits, XDP also includes security features to ensure safe execution of user-supplied code within the kernel. This helps maintain the stability and integrity of the Linux operating system.

XDP has gained traction within the Linux and networking communities, with ongoing development and support. The community actively contributes to the improvement and expansion of XDP capabilities.

vCGNAT Features Highlights

 

 

  • IPv6 auto-configuration
  • IPv4/IPv6 tunneling
  • IPv4/IPv6 filtering
  • Network address translation
  • Rate limiting per Interface 
  • Hierarchical QoS (H-QoS)
  • Class-based QoS
  • Shaping and policing
  • VLAN (802.1Q, QinQ) 
  • LAG (802.3ad, LACP)
  • Ethernet bridge
  • BGP4, BGP4+, BGP RPKI
  • IS-IS, OSPFv2, OSPFv3
  • RIPv1, RIPv2, RIPng
  • Static Routes & path monitoring
  • BGP multi-path (ECMP) 
  • BGP L3VPN, BGP-LU
  • Policy-based routing (PBR)
  • Bidirectional Forwarding Detectiontion (BFD)
  • ACLs (stateless & stateful)
  • BGP FlowSpec (IPv4, IPv6)
  • DNS server
  • NTP
  • SSHv2
  • CLI
  • SNMP
  • Syslog 802.lab
  • LLDP
  • IPFIX, Netflow v10
  • API
  • NOC
  • Telegraf
  • NAT44, NAT 64
  • Static NAT
  • Port Assignment:
    • Deterministic
    • Port Block Allocation (BPA) or detailed logging per session
    • Per user / CPE session limiter
  • Mapping and filtering
    •  Endpoint - independent mapping and filtering
    • Address and port dependent mapping and filtering
  • Hairpinning
  • IP Pool Management
    •  Dynamic IP pool resizing
    • Paired pooling
  • Logging
    • Port batching
    • Advanced logging features
    • Syslog
    • IPFIX 
    • Full log with TSP, UDP, ICMP
  • ALG Support
    •  ISMP, FTP, TFTP, RTSP, PPTP, SIP, H323, DNS over UDP

Choosing CGNAT software: six questions worth asking

Every CGNAT datasheet answers the same easy questions. These six decide whether the deployment survives contact with real subscribers. Ask them of any vendor — ours are answered beside them.

How much log volume does it produce?

Per-flow logging writes a record for every connection: terabytes a day on a busy edge, and the usual reason CGNAT logging quietly gets switched off. Ask for the figure at your subscriber count, not at the vendor’s.

Our answer: We log port-block allocations, not flows — one record when a subscriber gets a block, one when it is released. The same legal answer, a few thousand records a day instead of billions.

Can you take one public address out of rotation?

When a shared address lands on a blocklist or a game-server ban, every subscriber behind it feels it. Ask whether a single pool address can be withdrawn, and what that costs in downtime.

Our answer: We drop the address from the pool; subscribers on it move to another at their next block allocation. No restart, no re-NAT of live sessions.

Endpoint-Independent Mapping and Filtering — really?

EIM/EIF is what keeps peer-to-peer, console gaming, WebRTC and SIP working through a shared address. It is easy to claim on a datasheet and easy to drop under load. Ask for the behaviour with the table full.

Our answer: EIM with EIF, port parity and hairpinning, held at 50 Mpps with the rest of the feature set enabled.

How is the connection table sized, and what happens when it fills?

A table size on its own means nothing without the memory per entry, the timeout policy, and the behaviour at the ceiling: refuse new connections, or evict established ones? Ask for both numbers.

Our answer: We size from measured per-subscriber flow counts rather than a worst case, and publish the RAM we hold to: 32 GB minimum, 64 GB at 40G, 128 GB at 100G, with every memory channel populated.

Same data plane, or a second appliance?

A separate CGNAT box is another hop, another failure domain, another licence, and a second place to correlate logs from. Ask whether translation runs in the same forwarding path as subscriber termination and shaping.

Our answer: PPPoE/IPoE termination, hQoS, ACLs and CGNAT are one XDP program on one box.

What is the throughput with NAT on — at which frame size?

Throughput is usually quoted with features off and large frames. Packets per second is the real limit; Gbps follows frame size. Ask for pps with everything enabled, and the frame size behind any Gbps figure.

Our answer: 50 Mpps with PPPoE, CGNAT, hQoS and ACLs all enabled — 33.6 Gbps at 64-byte frames, about 144 Gbps at IMIX.

One solution, unlimited possibilities

XDP CGNAT SOLUTIONS

XDP CGNAT SOLUTION: Elevating Network Performance with Ultra-Low Latency, Scalability, and Customisable Address Translation for the Ultimate Broadband Experience.

High Performance

Optimising packet processing performance to handle a large volume of traffic efficiently.

Greater scalability

Supporting the seamless expansion of network capacity to accommodate a growing number of users and devices.

Ultra-Low Latency

Minimising packet processing time for swift and responsive broadband network operations.

IPv6 and IPv4 Compatibility

Supporting both IPv4 and IPv6 protocols seamlessly to accommodate the transition to IPv6 and ensure compatibility with modern networking standards.

Reliability and Stability

Ensuring the solution's reliability and stability, with robust error handling and failover mechanisms to maintain continuous network operation.

Customisability and Flexibility

Allowing network operators to define and implement custom packet processing logic tailored to specific use cases and requirements.

High Security

Own high-security OS. Incorporating robust security measures within the XDP framework to ensure the integrity and confidentiality of network traffic.

Integration with BPF Maps

Leveraging BPF maps for efficient sharing of state information between XDP programs and user-space applications, facilitating advanced networking scenarios.

Environmental Sustainability

Incorporating energy-efficient practices to minimize the environmental impact of networking operations, aligning with sustainability goals.

Cost-Effectiveness

Striking a balance between high performance and cost-effectiveness ensures that the benefits of XDP BNG CGNAT are accessible and practical for a wide range of organizations.

365 / 24 / 7

Full support all around the world.

Real-time Monitoring and Analytics

Providing comprehensive tools for real-time monitoring, analysis, and insights into network traffic for proactive network management.

Ease of Management

Implementing user-friendly interfaces or tools for easy configuration, monitoring, and management of XDP programs and policies.

Hardware Offload Integration

Leveraging hardware acceleration for XDP programs to maximize performance gains from modern network interface cards (NICs).

Adaptability to Diverse Networking Environments

Designing the solution to be adaptable to various networking environments, including data centers, edge computing, cloud, and diverse deployment scenarios.

Are you ready to start?

Minimum HARDWARE REQUIREMENTS:

32 GB RAM minimum (64 GB at 40G, 128 GB at 100G) with all memory channels populated | INTEL / AMD x86-64 | Intel X710 / XL710 / E810 or NVIDIA ConnectX-6 Dx (i40e, ice, mlx5 drivers) | Linux kernel 5.10 or newer | USB Flash / SATA DOM

FAQ

Common questions

XDP, or eXpress Data Path, is a technology within the Linux kernel that facilitates high-performance packet processing at an early stage in the networking stack. It is designed to optimize and accelerate the processing of network packets, offering a framework for developing custom packet processing logic directly within the kernel. Here are key aspects of XDP technology:

  1. Early Packet Processing:

    XDP operates at the driver level of the Linux networking stack, allowing for packet processing as soon as the packets are received by the network interface card (NIC). This early processing reduces latency significantly.
  2. BPF Integration:

    XDP programs are written in a restricted subset of C and are executed by the Berkeley Packet Filter (BPF) virtual machine. BPF is a safe and efficient mechanism for running user-supplied code within the kernel, ensuring stability and security.
  3. Kernel-Level Programmability:

    XDP enables programmability at the kernel level, allowing developers to define custom packet processing logic without relying on user-space applications. This is particularly useful for scenarios requiring fast and efficient networking operations.
  4. Performance Optimization:

    XDP is designed for high performance, making it suitable for use cases where low-latency packet processing is crucial. By offloading certain networking tasks to the kernel, XDP improves overall system efficiency.
  5. Hardware Offload Support:

    XDP programs can be offloaded to certain types of network hardware, leveraging hardware acceleration for packet processing. This feature enhances performance by utilizing the capabilities of modern network interface cards (NICs).
  6. Custom Packet Filtering and Forwarding:

    XDP allows developers to implement custom packet filtering and forwarding logic. This flexibility is valuable for scenarios where tailored network policies, security measures, or custom routing decisions are required.
  7. Scalability:

    XDP contributes to the scalability of networking solutions by optimizing packet processing. It efficiently handles a large number of packets, making it suitable for scenarios with high network traffic and a large number of connections.
  8. Real-Time Monitoring and Analytics:

    XDP facilitates real-time monitoring and analytics of network traffic by allowing the capture and processing of packets within the kernel. This capability is beneficial for gaining insights into network behavior and troubleshooting.
  9. IPv6 Support:

    XDP supports both IPv4 and IPv6, making it compatible with modern networking protocols. This is important as the transition to IPv6 becomes more prevalent due to the exhaustion of IPv4 addresses.
  10. Community Support:

    XDP has gained popularity within the Linux and networking communities. The community actively contributes to its development, providing support, documentation, and sharing use cases.

In summary, XDP is a technology that enhances packet processing capabilities in Linux environments, offering a platform for early, efficient, and customizable networking operations. It is particularly well-suited for scenarios where low latency and high-performance packet processing are essential.

The integration of XDP (eXpress Data Path) with Carrier-Grade Network Address Translation (CGNAT) brings several advantages to Internet Service Providers (ISPs) and Telecommunications Companies (Telcos). Here's how XDP CGNAT can benefit these entities:

Benefits for ISPs and Telcos:

  1. Low Latency and High Performance:

    • XDP's early packet processing capabilities contribute to low-latency CGNAT operations. This is crucial for handling a large number of address translation requests quickly and efficiently.
  2. Scalability:

    • XDP enhances the scalability of CGNAT solutions by optimizing packet processing. This is essential for accommodating a growing number of users and devices, especially in the context of IPv4 address exhaustion.
  3. Hardware Acceleration:

    • XDP can be offloaded to network hardware, leveraging hardware acceleration for CGNAT operations. This results in improved performance by utilizing the capabilities of modern network interface cards (NICs).
  4. Custom Address Mapping Policies:

    • XDP allows for the implementation of custom policies for address mapping directly at the kernel level. This provides flexibility in defining rules and criteria for mapping private IP addresses to public ones.
  5. Load Balancing and Scaling:

    • Utilize XDP for load balancing and scaling of CGNAT operations. With efficient packet processing, XDP contributes to the scalability of CGNAT solutions, accommodating a large number of concurrent connections.
  6. Security Enhancements:

    • Implement custom security measures at the XDP layer for CGNAT. XDP's ability to drop or modify packets based on specific conditions can be used to enhance security in the CGNAT environment.
  7. Real-time Monitoring and Analysis:

    • Leverage XDP for real-time monitoring and analysis of CGNAT traffic. This can include capturing and processing packets within the kernel, providing insights into usage patterns, identifying potential issues, and facilitating efficient troubleshooting.
  8. IPv6 Support:

    • XDP supports both IPv4 and IPv6, ensuring compatibility with modern networking protocols. This is essential for ISPs and Telcos as they navigate the transition to IPv6.
  9. Efficient Resource Utilization:

    • XDP helps optimize the utilization of network resources, ensuring that CGNAT operations are performed efficiently. This is crucial for managing network resources effectively and providing a seamless user experience.
  10. Flexibility and Customization:

    • XDP provides a platform for customizing CGNAT policies and rules, allowing operators to tailor address translation behaviors based on specific requirements and network conditions.
  11. Real-time Insights and Troubleshooting:

    • XDP enables real-time monitoring and analysis of CGNAT traffic, offering insights into network behavior and facilitating quick troubleshooting. This contributes to improved network management and reliability.

In summary, the integration of XDP with CGNAT provides ISPs and Telcos with a powerful toolset for optimizing address translation, enhancing performance, ensuring security, and adapting to the evolving landscape of networking technologies. It addresses the challenges associated with IPv4 address exhaustion and contributes to the overall efficiency and reliability of network operations.

It depends on your busy-hour throughput, your subscriber count and which features you enable. As a starting point: an 8-core box with a dual-10G X710 covers a small edge site, 16 cores with a dual-100G E810 covers around 100 Gbps, and a 2U dual-socket with two E810s covers about 200 Gbps. Reference builds and the full adapter matrix are on the Products page — or send us your peak throughput and we will size it against your own telemetry.

The POC is free for new customers. 

It needs a request or contact our team with a query.

cgnat

Contact Us

support@bngsoft.com

Our Services

Solutions & Focus Areas

Six things the subscriber edge has to do, and one forwarding path that does all of them — the same XDP data plane on the same commodity server, with no separate appliance per function.

vBNG / BRAS

PPPoE and IPoE termination with RADIUS AAA, CoA applied to the live forwarding plane, QinQ access and per-subscriber hierarchical shaping.

XDP CGNAT

Port-block NAT44 in the forwarding path — no per-flow connection tracking, one log record per block, and idle reclaim that tightens as the pool fills.

IPTV / OTT

White-label streaming platform: CMS and playout, apps for Android and Android TV, VOD and live channels, visible and forensic watermarking.

BGP border router

Transit forwarding with eBGP and FRR as the routing authority, on the same commodity server. Design complete and reviewed — not yet running in a network.

Internet acceleration

Transparent caching and local peering for the traffic that is still cacheable — HTTP objects and P2P — billed on the upstream traffic it saves you.

OrionOS — hardened carrier image

Kernel, forwarding path and BNG daemon built from source into one signed artefact that boots to a RAM root. No package manager, no shell, no drift.

The briefs behind this page

Seventeen technical briefs cover CGNAT and IPv4 continuity in detail.

One data plane does termination, translation, shaping and filtering.

About BNGSOFT

Ten people who wrote the data plane

There is no support tier between you and the engineers who built the forwarding path. When you report something in the data plane, it reaches the person who wrote that code path. More about how we work →

Need Solution?

Contact us if you need a solution.