Hi,

I am wondering if it is a bug of ng_pppoe.

The objects that have the structure sess_neg hold a pointer on the last sent 
packet.

struct sess_neg {
   struct mbuf          *m; /* holds cluster with last sent packet */
   union        packet          *pkt; /* points within the above cluster */
 (...)

Then when a packet is made, the same mbuf is always reused. However, m_data 
might have been changed by another node or a driver (for example, there are 
some pieces of code that translate m_data: m_data += n).

It means that the second time a pppoe packet is sent during the negocation, a 
part of the ethernet header is missing. 

It think that the problem is related to m_copypacket that is used within 
ng_ppppoe in order to keep always the same mbuf.

Vincent

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

Reply via email to