Patent ID: 8432908

Claim:
A method, comprising: storing a packet as a linked list of at least one page; replicating the packet, wherein the replicating comprises: creating a plurality of new header pages, the new header pages being additional header pages that were not previously in the linked list and comprising duplicated data from a first page of the linked list, linking each new header page of the plurality of new header pages to the first page of the linked list, the linking further comprising an offset to a location subsequent to the duplicated data, setting a first page reference count to a value corresponding to a number of replica packets created, and transmitting a plurality of replica packets corresponding to the number of replica packets created, wherein each replica packet comprises a corresponding one of the plurality of new header pages and a copy of the linked list; and freeing the at least one page, wherein the freeing comprises: tracking a number of references to the at least one page, and after there are no more references to the at least one page, freeing memory used by the at least one page by propagating the first page reference count to remaining pages of the linked list and decrementing a reference count corresponding to the at least one page.