On Thu, Aug 09, 2007 at 03:54:55PM -0400, Dan McDonald wrote:
> >    If a re-reading of RFCs 3947/8 is needed then, why not do it?
> > 
> >    I don't think we care about keepalive drop stats, but we should know
> >    if we do...
> 
> I've put in a new ipdropper (esp_nat_t_ka) to track these.  I will be
> treating 2 and 3 byte packets the same as 1 byte ones.  (Best application of
> Postel's Law.)

Yeah, you're right: one might want to know that keepalives are being
received.

> >  - usr/src/uts/common/inet/ip/ip.c:7031,7045
> > 
> >    I gather that ESP-in-UDP is fairly costly -- we re-compute the IP
> >    header checksum for what appears to be purely local purposes only,
> >    and we move around the ESP payload (ovbcopy(), right?).
> 
> It's not for local purposes if you follow the bouncing packet.
> ip_proto_input() does the off-the-wire check.  To be fair, I need only
> recompute the checksum if it's really ESP-in-UDP (vs. a zero-SPI UDP packet).

That sounds "purely local" to me -- the IP hdr cksum should only be
checked once, long before the ESP-in-UDP code path is ever reached.

> Therefore, I'm moving the ip_csum_hdr() call into the if/else branch
> specifically for ESP-in-UDP.

Good catch.

Nico
-- 

Reply via email to