Bill Fenner wrote:

>>@@ -964,7 +957,7 @@ sendorfree:
>>              /* clean ipsec history once it goes out of the node */
>>              ipsec_delaux(m);
>>#endif
>>-             if (error == 0) {
>>+             if (error == 0 && ia) {
>>                      /* Record statistics for this interface address. */
>>                      ia->ia_ifa.if_opackets++;
>>                      ia->ia_ifa.if_obytes += m->m_pkthdr.len;
>>
> 
> Sorry I missed this the first time we went through this.  Putting the &&
> ia here causes fragmented packets sent on interfaces without addresses to
> not be sent -- which is not really the right plan.  I think the if (ia)
> belongs around the stats updates, but not around the ifp_output() call.
> 
> Testing should include something like "% ping -I 0.0.0.1 -s 2000
> 224.0.0.1" (where the "1" is the ifindex of an up multicast-capable
> interface with no source address and "2000" is larger than its MTU),
> and running tcpdump to make sure those packets make it out.


Heh. I checked past revisions and discovered the correct tests were put 
in stable on revision 1.99.2.13, by Ian, but were never a part of current.

I'll be merging this from stable.

-- 
Daniel C. Sobral                   (8-DCS)
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]

Show me a man who is a good loser and I'll show you a man who is
playing golf with his boss.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-net" in the body of the message

Reply via email to