Subject: RE: [PWE3] MPLS PID

From: Shahram Davari <[email-masked]>
Date: Thu, 27 Mar 2003 10:49:58 -0800

>Shahram> First  of all  I meant  computing  CRC over  the 
>first  20 byte  of
>Shahram> payload header and  comparing it to the suspected  IP 
>CRC in octets
>Shahram> 11 and 12 of the payload. If  they match then it is 
>IPV4, if not it
>Shahram> is something else (similar procedure for IPV6)
>
>Shahram> Secondly  I am  proposing it  now. Is  there a  
>problem? I  feel my
>Shahram> procedure is far superior to just checking 4 bits to 
>decide whether
>Shahram> the payload is IP or not. 
>
>Certainly it's  not superior in  terms of the  amount of 
>computation  or the
>number of memory accesses required ;-)

Checksum is easy and is done all the time in routers, but the main point is that
my proposal superior in terms of probability of false positives,
which is much more important. Using the first 4 bit to detect whether
the payload is IP or not gives you a probability of false positive of
1/8=12.5%, while using CRC to detect IP gives you a probability of false
positive of 1/(2^16)= 0.0015%.

>
>Architecturally,  it doesn't  seem  superior  either.  It  is  
>based on  the
>assumption that the one's complement sum of the first 20 bytes 
>of a non-IPv4
>payload will not be zero.

Which ensures a much less probability of false positive than simply using the first nibble.

> And it doesn't seem to handle IPv6.

Correct.

-Shahram

---

From: Eric Rosen <[email-masked]>
Date: Thu, 27 Mar 2003 14:00:06 -0500

Shahram> my proposal superior in terms of probability of false positives,

Only in  the absence of  the control word.   In the presence of  the control
word, there are no false positives. 

Shahram> Checksum is easy and is done all the time in routers

For IPv4  packets, but for non-IPv4  packets, this is extra  work that would
not otherwise need  to be done.  Extra code too (gates  or microcode), as it
would happen  in a different  forwarding path than  that used for  IPv4, and
microcoders and hardware designers are not very big on calling subroutines.

---

From: "Thomas D. Nadeau" <[email-masked]>
Date: Thu, 27 Mar 2003 14:28:12 -0500

>word, there are no false positives.

         Not to get too off topic, but again, this seems like
another good reason to use the control word and make it
an implementation requirement.

         --Tom