[P4-discuss] Identification field in ping
andy.fingerhut at gmail.com
Fri Oct 27 15:53:57 EDT 2017
If you change any fields of the IPv4 header, without also calculating and
sending a correct IPv4 header checksum, then the next IP router, or the
receiving host's IP software, will drop it.
You should try changing your P4 program to re-calculate a correct IPv4
header checksum after it is finished changing the other IPv4 header fields.
That is at least one very likely explanation.
A less likely explanation is that if the packet was fragmented before it
reached your P4-capable device, and you replace the identification field of
different fragments of the same original IP packet with different values,
then the receiving host will not be able to tell that those fragments were
created from the same original IP packet, and will discard all such
fragments after a timeout. I say that this is less likely because for ping
requests and responses, they are small enough that they are unlikely to be
On Fri, Oct 27, 2017 at 12:36 PM, Phanindra Palagummi <
phanindra.palagummi at gmail.com> wrote:
> During ingress process I am trying to change the *ipv4.identification
> hdr.ipv4.identification = (bit<16>)meta.intrinsic_metadata.ingress_global_
> I see ping is not working (i.e, echo request is sent, but reply is not
> generated by destination host) and when I comment the above code line it is
> working properly.
> I tried but couldn't get the significance of ipv4.identification field in
> ping (between two hosts in mininet).
> Please help me in understanding this.
> Sorry for putting the question which is not specific to P4.
> Thank you,
> P4-discuss mailing list
> P4-discuss at lists.p4.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the P4-discuss