[Winpcap-users] correct usage of pcap_sendqueue_transmit?

Gianluca Varenni gianluca.varenni at cacetech.com
Fri Oct 30 09:02:51 PDT 2009


At the moment (i.e. current version of WinPcap) it's not possible to do that, the driver fails the transmit operation if a packet has a 0-byte length.

It can be done pretty easily, however.

Have a nice day
GV
  ----- Original Message ----- 
  From: Adagio Grazioso 
  To: winpcap-users at winpcap.org 
  Sent: Thursday, October 29, 2009 6:52 PM
  Subject: Re: [Winpcap-users] correct usage of pcap_sendqueue_transmit?


  GV,
  To work around this, can we have a 'feature' which allows adding pkts to a send queue with a caplen/len of 0? If this is supported, we can add a pkt with a len of 0 to the end of the first sendqueue with the appropriate timestamp.
  Adagio

  On Fri, Oct 30, 2009 at 12:30 AM,  <winpcap-users-request at winpcap.org> wrote:

  > Date: Wed, 28 Oct 2009 16:06:33 -0700
  > From: "Gianluca Varenni" <gianluca.varenni at cacetech.com>
  > Subject: Re: [Winpcap-users] correct usage of pcap_sendqueue_transmit?
  > To: <winpcap-users at winpcap.org>
  > Message-ID: <51CCC9A0A65248C88F022BB28D90AFA3 at NELSON3>
  > Content-Type: text/plain; format=flowed; charset="iso-8859-1";
  >        reply-type=original
  >
  > The usage is correct, indeed. However, pcap_sendqueue_transmit respects the
  > timestamps within the queue, but not between two different calls to the same
  > function.
  >
  > Suppose that the last packet in the queue has a timestamp of 10s, and the
  > first packet of the next queue has a timestamp of 11s. When
  > pcap_sendqueue_transmit transmits the second queue, it will not respect the
  > timestamp of the first packet(11s), it will send it immediately.
  >
  > Have a nice day
  > GV
  >
  > ----- Original Message -----
  > From: "Noam Cohen" <Noam.Cohen at harmonicinc.com>
  > To: <winpcap-users at winpcap.org>
  > Sent: Tuesday, October 27, 2009 4:09 AM
  > Subject: [Winpcap-users] correct usage of pcap_sendqueue_transmit?
  >
  >
  >> GV,
  >> I have a PCAP file of 400MB which has to be played in endless loop. I read
  >> a packet and send it using the Transmit() described in the pseudo code.
  >> In the wireshark tutorial, "sendcap", the whole file is added into the
  >> transmit queue and then transmitted. This does not work with large files
  >> (or when a loop play is needed).
  >> In the Transmit(), I fill the queue with packets and when near fullness,
  >> call pcap_sendqueue_transmit(). I would expect it to *clear* the queue but
  >> it does not happen. The only way I see to reuse the queue is to destroy
  >> and then allocate it again. Is this the way it is meant to be ?!
  >>
  >> Are the packets which are added to the queue actually copied? I assume so
  >> since there is no other mechanism to keep the memory valid.
  >>
  >> Thanks
  >> Noam
  >> _______________________________________________
  >> Winpcap-users mailing list
  >> Winpcap-users at winpcap.org
  >> https://www.winpcap.org/mailman/listinfo/winpcap-users
  >
  >
  >
  > ------------------------------
  >
  > _______________________________________________
  > Winpcap-users mailing list
  > Winpcap-users at winpcap.org
  > https://www.winpcap.org/mailman/listinfo/winpcap-users
  >
  >
  > End of Winpcap-users Digest, Vol 55, Issue 21
  > *********************************************
  >




------------------------------------------------------------------------------


  _______________________________________________
  Winpcap-users mailing list
  Winpcap-users at winpcap.org
  https://www.winpcap.org/mailman/listinfo/winpcap-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.winpcap.org/pipermail/winpcap-users/attachments/20091030/2635f49f/attachment.htm 


More information about the Winpcap-users mailing list