Forwarding Ethernet packets
First Claim
1. A system, comprising:
- one or more processors configured to;
receive an incoming packet;
determine an index value based at least in part on performing a hash operation on at least a portion of a destination Internet Protocol (IP) address included in the incoming packet;
determine a media access control (MAC) address to which the incoming packet is to be forwarded based at least in part on a determination of whether the index value corresponding to the performing the hash operation is included in a mapping of index values to MAC addresses, wherein;
the mapping of index values to MAC addresses comprising fields for the index value, the destination IP address, a local MAC address, and a global MAC address; and
to determine the MAC address to which the incoming packet is to be forwarded comprises;
determine whether the index value is included in the mapping of index values to MAC addresses; and
in response to a determination that the index value is included in the mapping of index values to MAC addresses, determine that the MAC address to which the incoming packet is to be forwarded corresponds to a local MAC address mapped to the index value and a MAC address included in the incoming packet; and
forward the incoming packet to a virtual machine associated with the MAC address to which the incoming packet is to be forwarded, including to forward the incoming packet to the local MAC address based on a MAC address translation performed with respect to the incoming packet; and
one or more memories coupled to the one or more processors and configured to provide the one or more processors with instructions.
0 Assignments
0 Petitions
Accused Products
Abstract
Forwarding Ethernet packets is disclosed, including: receiving an incoming packet; determining a value based at least in part on performing a hash operation on at least a portion of a destination Internet Protocol (IP) address included in the incoming packet; comparing the value against a pre-established look-up table to determine whether a corresponding index value is found, wherein the pre-established look-up table stores index values and corresponding data sets to respective ones of the index values; determining a destination media access control (MAC) address associated with the incoming packet based at least in part on whether the corresponding index value is found in the pre-established look-up table; and forwarding the incoming packet to a virtual machine associated with the determined destination MAC address.
22 Citations
22 Claims
-
1. A system, comprising:
-
one or more processors configured to; receive an incoming packet; determine an index value based at least in part on performing a hash operation on at least a portion of a destination Internet Protocol (IP) address included in the incoming packet; determine a media access control (MAC) address to which the incoming packet is to be forwarded based at least in part on a determination of whether the index value corresponding to the performing the hash operation is included in a mapping of index values to MAC addresses, wherein; the mapping of index values to MAC addresses comprising fields for the index value, the destination IP address, a local MAC address, and a global MAC address; and to determine the MAC address to which the incoming packet is to be forwarded comprises; determine whether the index value is included in the mapping of index values to MAC addresses; and in response to a determination that the index value is included in the mapping of index values to MAC addresses, determine that the MAC address to which the incoming packet is to be forwarded corresponds to a local MAC address mapped to the index value and a MAC address included in the incoming packet; and forward the incoming packet to a virtual machine associated with the MAC address to which the incoming packet is to be forwarded, including to forward the incoming packet to the local MAC address based on a MAC address translation performed with respect to the incoming packet; and one or more memories coupled to the one or more processors and configured to provide the one or more processors with instructions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method, comprising:
-
receiving an incoming packet; determining, by one or more processors, an index value based at least in part on performing a hash operation on at least a portion of a destination Internet Protocol (IP) address included in the incoming packet; determining a media access control (MAC) address to which the incoming packet is to be forwarded based at least in part on a determination of whether the index value corresponding to the performing the hash operation is included in a mapping of index values to MAC addresses, wherein; the mapping of index values to MAC addresses comprising fields for the index value, the destination IP address, a local MAC address, and a global MAC address; and determining the MAC address to which the incoming packet is to be forwarded comprises; determining whether the index value is included in the mapping of index values to MAC addresses; and in response to determining that the index value is included in the mapping of index values to MAC addresses, determining that the MAC address to which the incoming packet is to be forwarded corresponds to a local MAC address mapped to the index value and a MAC address included in the incoming packet; and forwarding the incoming packet to a virtual machine associated with the MAC address to which the incoming packet is to be forwarded, including forwarding the incoming packet to the local MAC address based on a MAC address translation performed with respect to the incoming packet. - View Dependent Claims (17, 18, 19, 20, 21)
-
-
22. A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
-
receiving an incoming packet; determining an index value based at least in part on performing a hash operation on at least a portion of a destination Internet Protocol (IP) address included in the incoming packet; determining a media access control (MAC) address to which the incoming packet is to be forwarded based at least in part on a determination of whether the index value corresponding to the performing the hash operation is included in a mapping of index values to MAC addresses, wherein; the mapping of index values to MAC addresses comprising fields for the index value, the destination IP address, a local MAC address, and a global MAC address; and determining the MAC address to which the incoming packet is to be forwarded comprises; determining whether the index value is included in the mapping of index values to MAC addresses; and in response to determining that the index value is included in the mapping of index values to MAC addresses determining that the MAC address to which the incoming packet is to be forwarded corresponds to a local MAC address mapped to the index value and a MAC address included in the incoming packet; and forwarding the incoming packet to a virtual machine associated with the MAC address to which the incoming packet is to be forwarded, including forwarding the incoming packet to the local MAC address based on a MAC address translation performed with respect to the incoming packet.
-
Specification