Claims
- 1. In a network comprising a network processor coupled to an asynchronous transfer mode (ATM) network and an Ethernet, the ATM network configured to provide local area network emulation (LANE) services, a network processor implemented method for forwarding a packet received by the network processor from the Ethernet and outbound to the ATM network, the method comprising:
extracting header information from a header of the received packet, the header information including a packet type, a destination media access control (MAC) address, and a virtual LAN identifier (VLAN ID) for the packet; storing LANE emulation client (LEC) information for LECs coupled with the ATM network, the LEC information including LEC IDs for the LECs; determining if the packet type in the header information is of type LANE or virtual LAN (VLAN); and if packet type is of type LANE or VLAN:
using the VLAN ID in the header information for the packet to determine a LEC ID for the packet from the LEC information; determining virtual channel connection (VCC) information corresponding to the MAC address of the packet; and forwarding the packet to its destination based on the VCC information and the LEC ID for the packet.
- 2. The method of claim 1 wherein the network processor includes a content addressable memory (CAM), the method further comprising:
storing LEC uplink information in the CAM, the LEC uplink information including information facilitating determination of VCC information for a MAC address; and wherein determining the VCC information corresponding to the MAC address of the packet comprises:
performing a CAM lookup using the MAC address of the packet as input; receiving an output from the CAM lookup; and if the CAM lookup output indicates a hit, using the CAM lookup output to determine the VCC information for the packet.
- 3. The method of claim 1 wherein forwarding the packet to its destination further comprises:
determining, based on the VCC information and the LEC ID for the packet, if the destination of the packet is a processor of the network processor; and if the processor of the network processor is the destination, forwarding the packet to the processor, else forwarding the packet to its destination via the ATM network.
- 4. The method of claim 3 wherein forwarding the packet to its destination via the ATM network further comprises appending the LEC ID for the packet to the packet header before forwarding the packet to the destination.
- 5. In a network comprising a network processor coupled to an asynchronous transfer mode (ATM) network and an Ethernet, the ATM network configured to provide local area network emulation (LANE) services, a network processor implemented method for forwarding a packet received by the network processor from the ATM network and outbound to the Ethernet, the method comprising:
storing LANE emulation client (LEC) information for LECs coupled with the ATM network; extracting header information from a header of the received packet, the header information including a LEC ID for the packet; determining an interface address for the packet; determining, based on the interface address, if the packet destination is the network processor; if the packet destination is not the network processor, determining if the packet is an echo packet; and forwarding the packet to its destination via the Ethernet if the packet is not an echo packet.
- 6. The method of claim 5 wherein forwarding the packet to its destination via the Ethernet further comprises:
determining a tag value associated with the packet; determining if the packet violates an ingress policy based on the tag value; and forwarding the packet to its destination if the ingress policy is not violated.
- 7. The method of claim 6 wherein forwarding the packet to its destination further comprises:
adding a tag to the packet if the packet does not have a tag; performing spanning tree detection on the packet; determining a block value for the packet from the LEC information; and forwarding the packet to its destination via the Ethernet if the block value is not set and the packet is not a spanning tree traffic.
- 8. The method of claim 5 wherein determining if the packet is an echo packet further comprises:
comparing the LEC ID of the packet with the LEC ID indicated by the LEC information corresponding to the packet; and classifying the packet as a echo packet if the LEC ID of the packet and the LEC ID indicated by the LEC information are the same.
- 9. In a network comprising a network processor coupled to an asynchronous transfer mode (ATM) network and an Ethernet, the ATM network configured to provide local area network emulation (LANE) services, a computer-readable medium containing instructions for forwarding a packet received by the network processor from the Ethernet and outbound to the ATM network, the instructions comprising:
instructions for extracting header information from a header of the received packet, the header information including a packet type, a destination media access control (MAC) address, and a virtual LAN identifier (VLAN ID) for the packet; instructions for storing LANE emulation client (LEC) information for LECs coupled with the ATM network, the LEC information including LEC IDs for the LECs; instructions for determining if the packet type in the header information is of type LANE or virtual LAN (VLAN); if packet type is of type LANE or VLAN:
instructions for using the VLAN ID in the header information for the packet to determine a LEC ID for the packet from the LEC information; instructions for determining virtual channel connection (VCC) information corresponding to the MAC address of the packet; and instructions for forwarding the packet to its destination based on the VCC information and the LEC ID for the packet.
- 10. The computer-readable medium of claim 9 wherein the network processor includes a content addressable memory (CAM), the instructions further comprise:
instructions for storing LEC uplink information in the CAM, the LEC uplink information including information facilitating determination of VCC information for a MAC address; and wherein the instructions for determining the VCC information corresponding to the MAC address of the packet comprise:
instructions for performing a CAM lookup using the MAC address of the packet as input; instructions for receiving an output from the CAM lookup; and if the CAM lookup output indicates a hit, instructions for using the CAM lookup output to determine the VCC information for the packet.
- 11. The computer-readable medium of claim 9 wherein the instructions for forwarding the packet to its destination further comprise:
instructions for determining, based on the VCC information and the LEC ID for the packet, if the destination of the packet is a processor of the network processor; and if the processor of the network processor is the destination, instructions for forwarding the packet to the processor, else forwarding the packet to its destination via the ATM network.
- 12. The computer-readable medium of claim 11 wherein the instructions for forwarding the packet to its destination via the ATM network further comprise instructions for appending the LEC ID for the packet to the packet header before forwarding the packet to the destination.
- 13. In a network comprising a network processor coupled to an asynchronous transfer mode (ATM) network and an Ethernet, the ATM network configured to provide local area network emulation (LANE) services, a computer-readable medium containing instructions for forwarding a packet received by the network processor from the ATM network and outbound to the Ethernet, the instructions comprising:
instructions for storing LANE emulation client (LEC) information for LECs coupled with the ATM network; instructions for extracting header information from a header of the received packet, the header information including a LEC ID for the packet; instructions for determining an interface address for the packet; instructions for determining, based on the interface address, if the packet destination is the network processor; if the packet destination is not the network processor, instructions for determining if the packet is an echo packet; and instructions for forwarding the packet to its destination via the Ethernet if the packet is not an echo packet.
- 14. The computer-readable medium of claim 13 wherein the instructions for forwarding the packet to its destination via the Ethernet further comprise:
instructions for determining a tag value associated with the packet; instructions for determining if the packet violates an ingress policy based on the tag value; and instructions for forwarding the packet to its destination if the ingress policy is not violated.
- 15. The computer-readable medium of claim 14 wherein the instructions for forwarding the packet to its destination further comprise:
instructions for adding a tag to the packet if the packet does not have a tag; instructions for performing spanning tree detection on the packet; instructions for determining a block value for the packet from the LEC information; and instructions for forwarding the packet to its destination via the Ethernet if the block value is not set and the packet is not a spanning tree traffic.
- 16. The computer-readable medium of claim 13 wherein the instructions for determining if the packet is an echo packet further comprise:
instructions for comparing the LEC ID of the packet with the LEC ID indicated by the LEC information corresponding to the packet; and instructions for classifying the packet as an echo packet if the LEC ID of the packet and the LEC ID indicated by the LEC information are the same.
- 17. In a network comprising an ATM network configured to provide local area network emulation (LANE) services, a network processor coupled to the ATM network and an Ethernet for forwarding a packet received from the Ethernet and outbound to the ATM network, the network processor comprising:
a processing engine subsystem configured to receive the packet and store it in a memory; a packet forwarding subsystem; a bus subsystem for coupling said packet forwarding subsystem to said memory; the memory configured to store the packet received from the Ethernet, the memory further configured to store LANE emulation client (LEC) information for LECs coupled with the ATM network, the LEC information including LEC IDs for the LECs; the packet forwarding subsystem configured to extract header information from a header of the received packet stored in the memory, the header information including a packet type, a destination media access control (MAC) address, and a virtual LAN identifier (VLAN ID) for the packet; the packet forwarding subsystem further configured to determine if the packet type in the header information is of type LANE or virtual LAN (VLAN); and if packet type is of type LANE or VLAN; and the packet forwarding subsystem further configured to:
use the VLAN ID in the header information for the packet to determine a LEC ID for the packet from the LEC information; determine virtual channel connection (VCC) information corresponding to the MAC address of the packet; and forward the packet to its destination based on the VCC information and the LEC ID for the packet.
- 18. The network processor of claim 17 further comprising:
a content addressable memory (CAM) coupled with the packet forwarding subsystem, the CAM configured to store mapping between MAC addresses and VCC information; and wherein in order to determine the VCC information corresponding to the MAC address of the packet, the packet forwarding subsystem is configured to:
perform a CAM lookup using the MAC address of the packet as input; receive an output from the CAM lookup; and if the CAM lookup output indicates a hit, use the CAM lookup output to determine the VCC information for the packet.
- 19. The network processor of claim 17 wherein the packet forwarding subsystem is further configured to determine, based on the VCC information and the LEC ID for the packet, if the destination of the packet is the processor of the network processor; and if the processor of the network processor is the destination, the packet forwarding subsystem is configured to forward the packet to the processor, else to forward the packet to its destination via the ATM network.
- 20. The network processor of claim 19 wherein in order to forward the packet to its destination via the ATM network, the packet forwarding subsystem is configured to append the LEC ID for the packet to the packet header stored in the memory before forwarding the packet to the destination.
- 21. In a network comprising an ATM network configured to provide local area network emulation (LANE) services, a network processor coupled to the ATM network and an Ethernet for forwarding a packet received from the ATM network and outbound to the Ethernet, the network processor comprising:
a processing engine subsystem configured to receive the packet and store it in a memory; a packet forwarding subsystem; a bus subsystem coupling said packet forwarding subsystem to said memory; the memory configured to store the packet received from the Ethernet, the memory further configured to store LANE emulation client (LEC) information for LECs coupled with the ATM network, the LEC information including a LEC ID for each LEC; the packet forwarding subsystem configured to extract header information from a header of the received packet stored in the memory, the header information including a LEC ID for the packet; and the packet forwarding subsystem further configured to determine an interface address for the packet, to determine, based on the interface address, if the packet destination is the network processor, and if the packet destination is not the network processor, to determine if the packet is an echo packet, and if the packet is not an echo packet, to forward the packet to its destination via the Ethernet.
- 22. The network processor of claim 21 wherein, in order to forward the packet to its destination via the Ethernet, the packet forwarding subsystem is further configured to determine a tag value associated with the packet, to determine if the packet violates an ingress policy based on the tag value, and to forward the packet to its destination if the ingress policy is not violated.
- 23. The network processor of claim 22 wherein, in order to forward the packet to its destination, the packet forwarding subsystem is further configured to add a tag to the packet if the packet does not have a tag, perform spanning tree detection on the packet, determine a block value for the packet from the LEC information, and to forward the packet to its destination via the Ethernet if the block value is not set and the packet is not a spanning tree traffic.
- 24. The network processor of claim 21 wherein, in order to determine if the packet is an echo packet, the packet forwarding subsystem is configured to compare the LEC ID of the packet with the LEC ID indicated by the LEC information corresponding to the packet, and to classify the packet as an echo packet if the LEC ID of the packet and the LEC ID indicated by the LEC information are the same.
CROSS-REFERENCES TO RELATED APPLICATIONS
[0001] This application claims priority from U.S. Provisional Patent Application No. 60/090,939, entitled “NETWORK ACCELERATOR SUBSYSTEM BASED ON SINGLE-CHIP NETWORK PROCESSOR AND INTERFACE PROTOCOL,” filed Jun. 27, 1998, the entire disclosure of which is herein incorporated by reference for all purposes. This application also claims priority from U.S. patent application Ser. No. 09/271,061, entitled “TWO-DIMENSIONAL QUEUING/DE-QUEUING METHODS AND SYSTEMS FOR IMPLEMENTING THE SAME,” filed Mar. 16, 1999, (Attorney Docket No. 19148-000200US) the entire disclosure of which is herein incorporated by reference for all purposes.
[0002] The following patent applications, including this one, are being filed concurrently, and the disclosure of each other application is hereby incorporated by reference in its entirety into this application for all purposes:
[0003] patent application Ser. No. ______, entitled “METHOD AND APPARATUS FOR CONTROLLING A NETWORK PROCESSOR” (Attorney Docket No. 19148-000600US);
[0004] patent application Ser. No. ______, entitled “SYSTEM AND METHOD FOR PERFORMING CUT-THROUGH FORWARDING IN AN ATM NETWORK SUPPORTING LAN EMULATION” (Attorney Docket No. 19148-000700US);
[0005] patent application Ser. No. ______, entitled “SYSTEM AND METHOD FOR CONTROLLING A NETWORK PROCESSOR” (Attorney Docket No. 19148-001300US);
[0006] patent application Ser. No. ______, entitled “CBR/VBR TRAFFIC SCHEDULER” (Attorney Docket No. 19148-000800US);
[0007] patent application Ser. No. ______, entitled “MULTI-PROTOCOL CONVERSION ASSISTANCE METHOD AND SYSTEM FOR A NETWORK ACCELERATOR” (Attorney Docket No. 19148-001100US);
[0008] patent application Ser. No. ______, entitled “SYSTEMS AND METHODS FOR IMPLEMENTING POINTER MANAGEMENT” (Attorney Docket No. 19148-001200US);
[0009] patent application Ser. No. ______, entitled “SYSTEM FOR MULTI-LAYER BROADBAND PROVISIONING IN COMPUTER NETWORKS” (Attorney Docket No. 19148-000900US); and
[0010] patent application Ser. No. ______, entitled “NETWORK ACCELERATOR SUBSYSTEM BASED ON SINGLE-CHIP NETWORK PROCESSOR AND INTERFACE PROTOCOL” (Attorney Docket No. 19148-000110US).
[0011] Additionally, the disclosure of each of the following pending patent applications is hereby incorporated by reference in its entirety into this application for all purposes:
[0012] patent application Ser. No. ______, entitled “SYSTEMS AND METHODS FOR IMPLEMENTING ABR WITH GUARANTEED MCR”, filed Jun. 17, 1999 (Attorney Docket No. 19148-000300US); and
[0013] patent application Ser. No. 09/270,287, entitled “SYSTEMS AND METHODS FOR ON-CHIP STORAGE OF VIRTUAL CONNECTION DESCRIPTORS”, filed Mar. 16, 1999 (Attorney Docket No. 19148-000400US).
Provisional Applications (1)
|
Number |
Date |
Country |
|
60090939 |
Jun 1998 |
US |