Patent ID: 8891540

Claim:
A method comprising: receiving, with a mobile gateway router, a request to attach a wireless device of a subscriber to a mobile wireless network; establishing, with a control plane of the mobile gateway router, a packet-based network connection for the wireless device to communicate using the mobile wireless network, wherein establishing the network connection comprises assigning a private network address to the wireless device; upon establishing the network connection and prior to receiving subscriber data traffic from the wireless device, pre-allocating with the control plane of the mobile gateway router a public network address and a port range for the wireless device; constructing, with the control plane of the mobile gateway router, a network address translation (NAT) profile specifying the public network address and the port range and installing the NAT profile within a hardware forwarding element of the mobile gateway router, the NAT profile including a multi-level bit mask having a first level and a second level, each of the first level and second level having a plurality of bits, wherein each of the bits of the second level corresponds to a port within the port range and indicates whether the port is currently assigned for performing NAT for a respective packet flow associated with the wireless device, and wherein each of the bits of the first level corresponds to a different group of the bits of the second level and indicates whether at least one of the bits within the group of bits corresponds to an unused port; upon receiving a packet of a new packet flow of the subscriber data traffic, dynamically selecting a port within the port range of the NAT profile for the subscriber based on the bit mask and creating a NAT binding within the hardware forwarding element that maps the private network address for the wireless device to the public network address and the selected port; and performing network address translation on packets for the packet flow within the hardware forwarding element based on the NAT binding.