Guy Harris <guy <at> alum.mit.edu> writes:

> OK, so the Direction field and Header_Size fields are always present, and the
Header_size field gives the
> size of the *optional* fields; if a frame contains N PPP packets, the
Header_Size field has the value 5N. 
> (If Header_Size isn't a multiple of 5, the frame is presumably invalid.)
> 

I´ve mixed up some field sizes in my previous mail. Msg_ID and Freq_ID have a
size of 2 octects, not 1 octect like the other fields, sorry. So the optional
part has a size of 7 octects. But your conclusion is correct: The Header_Size is
multiple of *7*, if there is a frame with N PPP packets, Header_Size is multiple
of 7. If it is not multiple of 7, the frame is not valid. Direction field and
Header_Size fields are always present.

> 
> Presumably, if the Start_Pos and End_Pos of one packet overlap the Start_Pos
and End_Pos of another
> packet, the frame is invalid.  

Yes, that´s correct.

> If there are parts of the MUX_Frame that don't correspond to any packet, is
> the frame invalid?  
> (If so, Start_Pos and End_Pos could presumably be replaced
by a length field, and the
> only "frame is invalid" case there would be if a frame ran past the end of the
MUX_Frame, or the packet were
> too short to be a PPP packet.)-
> 

It is possible that a valid Mux_frame (with PPP_frames as payload) has parts
that don´t correspond to a PPP packet. Two examples: (1) At the beginning of a
PPP connection, a Mux_frame with "CONNECT" (AT mode) and the first PPP packet.
(2) A Mux_frame with a LCP Terminate packet (PPP) and a "NO CARRIER" packet (AT
mode).

Kind regards,
Christoph Schemmel



-
This is the tcpdump-workers list.
Visit https://cod.sandelman.ca/ to unsubscribe.

Reply via email to