A computing device comprising: a communication interface; and a processing unit configured for: receiving via the communication interface an Internet Protocol packet comprising at least one header; generating tunneling headers of a tunneling IP packet for tunneling the received IP packet, the tunneling headers comprising a tunneling IP header and a parsing offload header, the parsing offload header comprising data extracted by the processing unit from one or more of the at least one header of the received IP packet; determining if all the data comprised in one of the at least one header of the received IP packet are redundant with data comprised in the tunneling headers of the tunneling IP packet; if the determination is positive, removing the header comprising the redundant data from the received IP packet and setting the value of a header removal field in one of the tunneling headers of the tunneling IP packet to indicate the positive determination of redundancy; if the determination is negative, positioning the value of the header removal field to indicate the negative determination of redundancy; and generating the tunneling IP packet comprising the tunneling headers, the generation of the tunneling IP packet including encapsulating the received IP packet into the tunneling IP packet. a communication interface; and a processing unit configured for: receiving via the communication interface an Internet Protocol packet comprising at least one header; generating tunneling headers of a tunneling IP packet for tunneling the received IP packet, the tunneling headers comprising a tunneling IP header and a parsing offload header, the parsing offload header comprising data extracted by the processing unit from one or more of the at least one header of the received IP packet; determining if all the data comprised in one of the at least one header of the received IP packet are redundant with data comprised in the tunneling headers of the tunneling IP packet; if the determination is positive, removing the header comprising the redundant data from the received IP packet and setting the value of a header removal field in one of the tunneling headers of the tunneling IP packet to indicate the positive determination of redundancy; if the determination is negative, positioning the value of the header removal field to indicate the negative determination of redundancy; and generating the tunneling IP packet comprising the tunneling headers, the generation of the tunneling IP packet including encapsulating the received IP packet into the tunneling IP packet. receiving via the communication interface an Internet Protocol packet comprising at least one header; generating tunneling headers of a tunneling IP packet for tunneling the received IP packet, the tunneling headers comprising a tunneling IP header and a parsing offload header, the parsing offload header comprising data extracted by the processing unit from one or more of the at least one header of the received IP packet; determining if all the data comprised in one of the at least one header of the received IP packet are redundant with data comprised in the tunneling headers of the tunneling IP packet; if the determination is positive, removing the header comprising the redundant data from the received IP packet and setting the value of a header removal field in one of the tunneling headers of the tunneling IP packet to indicate the positive determination of redundancy; if the determination is negative, positioning the value of the header removal field to indicate the negative determination of redundancy; and generating the tunneling IP packet comprising the tunneling headers, the generation of the tunneling IP packet including encapsulating the received IP packet into the tunneling IP packet.