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