Hi,
in the new format, is it really necessary to have the version number in
every packet? How about making that a separate header and including it
only once at the start of a trace? Also, since with your design there's
the possibility of not actually having a pcap1_info_packet chained into
a pcap1_packet_header (or in fact more than one -- is that a good idea?
mhmm ...), there could simply be one pcap1_packet_header at the
beginning of the file that only contains such a version header ...
It might also be useful to do
struct pcap1_info_packet {
struct pcap1_info_container pic;
bpf_u_int32 linktype; /* data link type (LINKTYPE_*) */
bpf_u_int32 caplen; /* length of portion present */
bpf_u_int32 len; /* length this packet (off wire) */
unsigned char packet_data[0];
};
instead to make the lengths match the sequence in the current
pcap_pkthdr.
Regards,
Christian.
On Wed, 2004-03-24 at 01:53, Michael Richardson wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
>
>
> This is what I would propose as revision.
> Note that the pcap1_packet_header is present on every packet. One can
> merge pcap files together with "cat" if one likes.
>
> A suggestion was made to accomodate the nano-second resolution from AIX.
> Can you tell me what they do for that? just more bits, sure, but is
> there a nano-seconds (32-bits, I guess) + seconds (64 bits?).
>
>
> enum pcap1_info_types {
> PCAP_DATACAPTURE,
> PCAP_TIMESTAMP,
> };
>
> struct pcap1_info_container {
> bpf_u_int32 info_len; /* in bytes */
> bpf_u_int32 info_type; /* enum pcap1_info_types */
> unsigned char info_data[0];
> };
>
> struct pcap1_info_timestamp {
> struct pcap1_info_container pic;
> bpf_int32 thiszone; /* gmt to local correction */
> struct timeval ts; /* time stamp */
> bpf_u_int32 sigfigs; /* accuracy of timestamps */
> };
>
> struct pcap1_info_packet {
> struct pcap1_info_container pic;
> bpf_u_int32 caplen; /* length of portion present */
> bpf_u_int32 len; /* length this packet (off wire) */
> bpf_u_int32 linktype; /* data link type (LINKTYPE_*) */
> unsigned char packet_data[0];
> };
>
> struct pcap1_packet_header {
> bpf_u_int32 magic;
> u_short version_major;
> u_short version_minor;
> bpf_u_int32 block_len;
> struct pcap1_info_container pics[0];
> };
--
________________________________________________________________________
http://www.cl.cam.ac.uk/~cpk25
http://www.whoop.org
-
This is the TCPDUMP workers list. It is archived at
http://www.tcpdump.org/lists/workers/index.html
To unsubscribe use mailto:[EMAIL PROTECTED]