A data switch for network communications includes a first data port
interface which supports at least one data port which transmits and
receives data. A second data port interface is also provided supporting
at least one data port transmitting and receiving data. A CPU interface
is provided, with the CPU interface configured to communicate with a CPU.
A common memory is provided, and communicates with the first data port
interface and the second data port interface. A memory management unit is
provided, and communicates data from the first data port interface and
the second data port interface and an common memory. At least two sets of
communication channels are provided, with each of the communication
channels communicating data and messaging information between the first
data port interface, the second data port interface, and the memory
management unit. One of the first data port interface and the second data
port interface is configured to determine forwarding information from a
flexible length header for an incoming data packet received at a port of
the one data port interface, and is configured to determine the
forwarding information by shifting the information field positions read
from the flexible length header.