Hi Guy, Any update on allocating a DLT value? Perhaps #define DLT_MACOS_USB 266?
—scott > On Dec 13, 2016, at 8:38 AM, Scott Deandrea <sdeand...@apple.com> wrote: > > Yes, if there are fewer tiers of hubs, the unused nibbles will be zero. > > Correct, the padding is only added if frameLength isn’t a multiple of 4. > This should be considered the final version. The timestamps are in Mach > Absolute Time Units > (https://developer.apple.com/library/content/qa/qa1398/_index.html > <https://developer.apple.com/library/content/qa/qa1398/_index.html>). > > —scott > >> On Dec 12, 2016, at 9:49 PM, Guy Harris <g...@alum.mit.edu >> <mailto:g...@alum.mit.edu>> wrote: >> >> On Dec 12, 2016, at 6:11 PM, Scott Deandrea <sdeand...@apple.com >> <mailto:sdeand...@apple.com>> wrote: >> >>> The bus number is 0 based and the port numbers are 1 based. >> >> So if there are fewer than 6 ports in the route, the unused nibbles will be >> zero. >> >>> I decided to implement isochronous transfers today and changed the >>> structure slightly: >>> struct >>> { >>> // Control information >>> uint32_t frameHeaderLength; // 28 >>> >>> // Frame information >>> uint32_t frameLength; // Amount of data sent/received this frame >>> uint32_t frameStatus; // IOReturn result of the I/O this frame >>> uint64_t frameNumber; // Frame number on which this was >>> scheduled/executed by the controller >>> uint64_t ioTimestamp; // Time in which the frame completed >>> } __attribute__((packed, aligned (sizeof(uint32_t)))); >>> >>> Therefore, the isochronous format for a request with type >>> kAppleUSBHostPacketFilterRequestComplete is as follows: >>> Link Header >>> padding, if required to force 4-byte alignment >>> Isochronous Frame[0] Header (frameHeaderLength bytes in length) >>> Isochronous Frame[0] Data (frameLength bytes) >>> … >>> padding, if required to force 4-byte alignment >>> Isochronous Frame[linkHeader.ioFrameCount - 1] Header (aligned to 4 bytes, >>> frameHeaderLength bytes in length) >>> Isochronous Frame[linkHeader.ioFrameCount - 1] Data (frameLength bytes) >> >> So the headers and data are interleaved; the padding would presumably be >> needed only if frameLength isn't a multiple of 4. >> >> Is this the final version, or should the format of a payload of a packet for >> an isochronous endpoint be left unspecified for now until it's finalized? >> >> Also, what are the formats of the time stamps? What are the units, and is >> there a specified origin or are they just relative to an unspecified base >> time? > _______________________________________________ tcpdump-workers mailing list tcpdump-workers@lists.tcpdump.org https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers