Claims
- 1. A method for implementing packet command instructions for network processing comprising the steps of:
defining a set of packet commands, each said packet command defining a packet operation; issuing a command from said set of packet commands to perform said defined packet operation; and providing packet buffer structure hardware for performing one or more predefined packet manipulation functions responsive to said issued command.
- 2. A method for implementing packet command instructions for network processing as recited in claim 1 includes the step of providing a packet condition register for storing packet status and packet state information.
- 3. A method for implementing packet command instructions for network processing as recited in claim 1 includes the step of providing a packet storage interrupt status register for storing packet storage interrupt status information.
- 4. A method for implementing packet command instructions for network processing as recited in claim 1 wherein the step of defining said set of packet commands includes defining an allocate packet command, said allocate packet command used for allocating a storage area for packet data.
- 5. A method for implementing packet command instructions for network processing as recited in claim 1 wherein the step of defining said set of packet commands includes defining a split packet command, said split packet command used to split a source packet and into a pair of target packets.
- 6. A method for implementing packet command instructions for network processing as recited in claim 1 wherein the step of defining said set of packet commands includes defining a copy packet command, said copy packet command used to copy a source packet and into a target packet.
- 7. A method for implementing packet command instructions for network processing as recited in claim 1 wherein the step of defining said set of packet commands includes defining a join packets command, said join packets command used to append a source packet onto a target packet.
- 8. A method for implementing packet command instructions for network processing as recited in claim 1 wherein the step of defining said set of packet commands includes defining a link packets command, said link packets command used to link a target packet into a source packet at a defined byte offset.
- 9. A method for implementing packet command instructions for network processing as recited in claim 1 wherein the step of defining said set of packet commands includes defining a header delete command, said header delete command used to delete a defined number of bytes from a target packet.
- 10. A method for implementing packet command instructions for network processing as recited in claim 1 wherein the step of defining said set of packet commands includes defining an enqueue packet command, said enqueue packet command used to enqueue a source packet onto a queue.
- 11. A method for implementing packet command instructions for network processing as recited in claim 1 wherein the step of defining said set of packet commands includes defining an enqueue multicast packet command, said enqueue multicast packet command used to enqueue a source packet onto a queue and store a target packet for additional operations.
- 12. A method for implementing packet command instructions for network processing as recited in claim 1 wherein the step of defining said set of packet commands includes defining a discard packet command, said discard packet command used to discard a source packet and free each allocated buffer for said discarded source packet.
- 13. A method for implementing packet command instructions for network processing as recited in claim 1 wherein the step of defining said set of packet commands includes defining a packet accept command, said packet accept command used to remove a target packet from an ordering queue.
- 14. A method for implementing packet command instructions for network processing as recited in claim 1 wherein the step of defining said set of packet commands includes defining a dequeue packet command, said dequeue packet command used to accept a target packet at a head of a receive queue.
- 15. A method for implementing packet command instructions for network processing as recited in claim 1 wherein the step of defining said set of packet commands includes defining a synchronize packet command, said synchronize packet command used to ensure each interrupt from outstanding commands are recorded.
- 16. A method for implementing packet command instructions for network processing as recited in claim 1 includes executing processor load and store instructions using said packet buffer structure hardware for loading packet data and storing packet data.
- 17. A method for implementing packet command instructions for network processing as recited in claim 1 includes providing said packet buffer structure hardware for performing hardware enforced ordering of multiple issued commands; and for performing reordering by hardware of multiple issued commands while appearance of program order is maintainied.
- 18. A computer program product for implementing packet command instructions for network processing in a network processor system, said computer program product including a plurality of computer executable instructions stored on a computer readable medium, wherein said instructions, when executed by the network processor system, cause the network processor system to perform the steps of:
defining a set of packet commands, each said packet command defining a packet operation; issuing a command from said set of packet commands to perform said defined packet operation; and providing packet buffer structure hardware for performing one or more predefined packet manipulation functions responsive to said issued command.
- 19. Apparatus for implementing packet command instructions for network processing in a network processor system comprising:
a set of packet commands, each said packet command defining a packet operation; a processor for issuing a command from said set of packet commands to perform said defined packet operation; and packet buffer structure hardware for performing one or more predefined packet manipulation functions responsive to said processor issued command.
- 20. Apparatus for implementing packet command instructions as recited in claim 19 wherein said processor issues said command to a packet command register.
- 21. Apparatus for implementing packet command instructions as recited in claim 19 wherein said packet buffer structure hardware includes a packet condition register for storing packet status and packet state information and a packet storage interrupt status register (PSISR) for storing packet storage interrupt status information.
RELATED APPLICATIONS
[0001] Related United States patent applications assigned to the present assignee are being filed on the same day as the present patent application including:
[0002] United States patent application Ser. No. ______, by Paul Allen Ganfield, and entitled “METHOD AND APPARATUS FOR IMPLEMENTING PACKET WORK AREA ACCESSES AND BUFFER SHARING”; and
[0003] United States patent application Ser. No. ______, by Kent Harold Haselhorst, Kerry Christopher Imming, and John David Irish, and entitled “METHOD AND APPARATUS FOR IMPLEMENTING VIRTUAL PACKET STORAGE VIA PACKET WORK AREA”.