Gigabit Ethernet adapter
First Claim
1. An apparatus for decoding and encoding network protocols and processing data, comprising:
- a network stack for receiving and transmitting packets and for encoding and decoding packets;
a plurality of dedicated hardwired logic protocol modules;
wherein each protocol module is optimized for a specific network protocol; and
wherein said protocol modules execute in parallel.
14 Assignments
0 Petitions
Accused Products
Abstract
A gigabit Ethernet adapter provides a provides a low-cost, low-power, easily manufacturable, small form-factor network access module which has a low memory demand and provides a highly efficient protocol decode. The invention comprises a hardware-integrated system that both decodes multiple network protocols in a byte-streaming manner concurrently and processes packet data in one pass, thereby reducing system memory and form factor requirements, while also eliminating software CPU overhead. A preferred embodiment of the invention comprises a plurality of protocol state machines that decode network protocols such as TCP, IP, User Datagram Protocol (UDP), PPP, Raw Socket, RARP, ICMP, IGMP, iSCSI, RDMA, and FCIP concurrently as each byte is received. Each protocol handler parses, interprets, and strips header information immediately from the packet, requiring no intermediate memory. The invention provides an Internet tuner core, peripherals, and external interfaces. A network stack processes, generates and receives network packets. An internal programmable processor controls the network stack and handles any other types of ICMP packets, IGMP packets, or packets corresponding to other protocols not supported directly by dedicated hardware. A virtual memory manager is implemented in optimized, hardwired logic. The virtual memory manager allows the use of a virtual number of network connections which is limited only by the amount of internal and external memory available.
-
Citations
94 Claims
-
1. An apparatus for decoding and encoding network protocols and processing data, comprising:
-
a network stack for receiving and transmitting packets and for encoding and decoding packets;
a plurality of dedicated hardwired logic protocol modules;
wherein each protocol module is optimized for a specific network protocol; and
wherein said protocol modules execute in parallel. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47)
-
-
48. A process for decoding and encoding network protocols and processing data, comprising the steps of:
-
providing a network stack for receiving and transmitting packets and for encoding and decoding packets;
providing a plurality of dedicated protocol state machines;
wherein each protocol state machine is optimized for a specific network protocol; and
wherein said protocol state machines execute in parallel. - View Dependent Claims (49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94)
-
Specification