Apparatus and method for efficiently modifying network data frames
First Claim
1. An apparatus for storing network frame data which is to be modified comprising:
- a plurality of buffers for storing said network data; and
a control memory for storing;
(a) a plurality of buffer control blocks associated with each buffer establishing a sequence of said buffers, each control block having data (SBA) for identifying a subsequent buffer in said sequence; and
(b) a frame control block which identifies the address (FBA) of a buffer control block for a first buffer in said sequence, and the position (SBP) in said first buffer of the starting address of a packet of said data in said first buffer.
1 Assignment
0 Petitions
Accused Products
Abstract
Apparatus and method for storing network frame data which is to be modified. A plurality of buffers stores the network data which is arranged in a data structure identified by a frame control block and buffer control block. A plurality of buffer control blocks associated with each buffer storing the frame data establishes a sequence of the buffers. Each buffer control block has data for identifying a subsequent buffer within the sequence. The first buffer is identified by a field of a frame control block as well as the beginning and ending address of the frame data. The frame data can be modified without rewriting the data to memory by altering the buffer control block and/or frame control block contents without having to copy or rewrite the data in order to modify it.
23 Citations
17 Claims
-
1. An apparatus for storing network frame data which is to be modified comprising:
-
a plurality of buffers for storing said network data; and
a control memory for storing;
(a) a plurality of buffer control blocks associated with each buffer establishing a sequence of said buffers, each control block having data (SBA) for identifying a subsequent buffer in said sequence; and
(b) a frame control block which identifies the address (FBA) of a buffer control block for a first buffer in said sequence, and the position (SBP) in said first buffer of the starting address of a packet of said data in said first buffer. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for modifying a data frame comprising:
-
creating a frame control block identifying the first buffer containing said data frame;
creating a buffer control block for each of said buffers containing data, said buffer control block identifying the next buffer in a sequence of said buffers having said frame data;
modifying the data of one of said control blocks so that it identifies said added control block and buffer location containing data to be added to said frame data; and
adding a buffer control block identifying a buffer location containing data to be combined with said data frame, and identifying one of said buffers as the next buffer whereby said buffer control blocks form a linked list of buffers including said buffer location containing said new data.
-
-
8. A method for modifying a data frame comprising:
-
storing said data frame in a plurality of buffers;
creating a frame control block identifying the first buffer containing said data frame;
creating a buffer control block for each of said buffers containing data, said buffer control block identifying the next buffer in a sequence of said buffers having said frame data;
changing the data in at least two of said buffer control blocks to identify a new sequence of buffers containing a frame of data. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A method for joining data packets in a second frame to data packets in a first frame comprising:
-
storing said first frame data in a first plurality buffers;
storing said second frame data in a second plurality of buffers;
creating a first frame control block which identifies the first buffer which stores said first frame data;
creating buffer control blocks which identify the next buffer in a sequence of said first frame data;
creating buffer control blocks which identify the next buffer in the sequence of said second plurality of buffers;
modifying the buffer control block for the last of said first plurality of buffers to identify the first buffer of said second plurality of buffers which hold said second frame data. - View Dependent Claims (15, 16)
-
-
17. A method for splitting a frame of data into two frames of data comprising:
-
storing said frame of data in a plurality of buffers;
creating a firs frame control block to identify a first of said buffers to hold said frame of data;
creating a second frame control block to identify the first of said buffers having data for a second frame;
creating buffer control blocks for each of said buffers, each buffer control block pointing to a subsequent buffer in a respective frame of data.
-
Specification