HARDWARE-BASED PACKET EDITOR
First Claim
1. A system for fragmenting a data packet, the system comprising:
- a packet buffer for a first modified data packet;
a packet buffer for a second modified data packet; and
a hardware-based packet editor comprising a control memory and a control module, the hardware-based packet editor being configured to;
receive a packet editing script comprising a plurality of script entries indicating modifications to be applied to the data packet and a data block comprising data for one or more modified data packets;
determine that a script entry of the plurality of script entries is a first script entry for the first modified data packet;
in response to the determining that the script entry is the first script entry for the first modified data packet, reserve the packet buffer for the first modified data packet;
copy a first portion of the data in the data block at a location and a size identified in the script entry and each further script entry for the first modified data packet in the packet editing script into the packet buffer for the first modified data packet;
determine that one of further script entries of the plurality of script entries is a first script entry for the second modified data packet;
in response to the determining that the one of further script entries is the first script entry for the second modified data packet, reserve the packet buffer for the second modified data packet;
copy a second portion of the data in the data block at a location and a size identified in the one of further script entries script entry and each further script entry for the second modified data packet in the packet editing script into the packet buffer for the second modified data packet; and
generate the first modified data packet based on the packet buffer for the first modified data packet and the second modified data packet based on the packet buffer for the second modified data packet.
1 Assignment
0 Petitions
Accused Products
Abstract
Hardware-based packet editor receives a packet editing script which includes script entries indicating modifications to a data packet and a data block with data for the modified data packet. For a script entry in the packet editing script, the packet editor copies data in the data block at a block location and with a block length identified in the script entry into a packet buffer. The packet editor repeats the copying for the remaining script entries for the modified data packet. The packet editor then generates the modified data packet with the data in the packet buffer. The packet editing script is generated such that a script entry is created for data to be included in the modified data packet and data to be inserted into the modified data packet. Creation of a script entry is omitted for data to be removed.
18 Citations
20 Claims
-
1. A system for fragmenting a data packet, the system comprising:
-
a packet buffer for a first modified data packet; a packet buffer for a second modified data packet; and a hardware-based packet editor comprising a control memory and a control module, the hardware-based packet editor being configured to; receive a packet editing script comprising a plurality of script entries indicating modifications to be applied to the data packet and a data block comprising data for one or more modified data packets; determine that a script entry of the plurality of script entries is a first script entry for the first modified data packet; in response to the determining that the script entry is the first script entry for the first modified data packet, reserve the packet buffer for the first modified data packet; copy a first portion of the data in the data block at a location and a size identified in the script entry and each further script entry for the first modified data packet in the packet editing script into the packet buffer for the first modified data packet; determine that one of further script entries of the plurality of script entries is a first script entry for the second modified data packet; in response to the determining that the one of further script entries is the first script entry for the second modified data packet, reserve the packet buffer for the second modified data packet; copy a second portion of the data in the data block at a location and a size identified in the one of further script entries script entry and each further script entry for the second modified data packet in the packet editing script into the packet buffer for the second modified data packet; and generate the first modified data packet based on the packet buffer for the first modified data packet and the second modified data packet based on the packet buffer for the second modified data packet. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for fragmenting a data packet by a packet editor being a hardware-based packet editor, the method comprising:
-
receiving, by the packet editor, a packet editing script comprising a plurality of script entries indicating modifications to be applied to the data packet and a data block comprising data for one or more modified data packets; determining that a script entry of the plurality of script entries is a first script entry for a first modified data packet; in response to the determining that the script entry is the first script entry for the first modified data packet, reserving a packet buffer for the first modified data packet; copying, by the packet editor, a first portion of the data in the data block at a location and a size identified in the script entry and each further script entry for the first modified data packet in the packet editing script into the packet buffer for the first modified data packet; determining that one of further script entries of the plurality of script entries is a first script entry for a second modified data packet; in response to the determining that the one of further script entries is the first script entry for the second modified data packet, reserving a packet buffer for the second modified data packet; copying, by the packet editor, a second portion of the data in the data block at a location and a size identified in the one of further script entries script entry and each further script entry for the second modified data packet in the packet editing script into the packet buffer for the second modified data packet; and generating, by the packet editor, the first modified data packet based on the packet buffer for the first modified data packet and the second modified data packet based on the packet buffer for the second modified data packet. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A non-transitory computer-readable storage medium having embodied thereon a program, the program being executable by a processor and a computer readable memory device to perform a method, the method comprising:
-
receiving, by a packet editor, a packet editing script comprising a plurality of script entries indicating modifications to be applied to the data packet and a data block comprising data for one or more modified data packets; determining that a script entry of the plurality of script entries is a first script entry for a first modified data packet; in response to the determining that the script entry is the first script entry for the first modified data packet, reserving a packet buffer for the first modified data packet; copying, by the packet editor, a first portion of the data in the data block at a location and a size identified in the script entry and each further script entry for the first modified data packet in the packet editing script into the packet buffer for the first modified data packet; determining that one of further script entries of the plurality of script entries is a first script entry for a second modified data packet; in response to the determining that the one of further script entries is the first script entry for the second modified data packet, reserving a packet buffer for the second modified data packet; copying, by the packet editor, a second portion of the data in the data block at a location and a size identified in the one of further script entries script entry and each further script entry for the second modified data packet in the packet editing script into the packet buffer for the second modified data packet; and generating, by the packet editor, the first modified data packet based on the packet buffer for the first modified data packet and the second modified data packet based on the packet buffer for the second modified data packet.
-
Specification