tcpdump mailing list archives
Re: Metamako DLT Request
From: David Mirabito <davidm () metamako com>
Date: Thu, 26 Jul 2018 08:13:18 +1000
Hi Guy, Thanks for the comments, addressed inline:
I have attached a more detailed description as a text file (lest email mangle the ASCII-art), but in short, a packet would look on the wire like:* SOF * Destination address * Source Address * EtherType/Length * Payload * FCS . <--- everything up to, and including, here is unmodified byMetaWatch. Typically our appending a trailer may allow this FCS to be captured by NICs which would otherwise have stripped it So an Ethernet frame passes through one of your K-series devices, and it takes the entire frame, appends a trailer, and sends it out for something else to capture, so that the original FCS is part of the new packet's payload, and is thus always present?
Correct. The typical use case is for Ethernet stream(s) to pass through the box unmodified, and internally we can Tap & Aggregate with metadata appended some/all of these. The "something else" might be our on-board management platform, or (more commonly) the aggregate stream is fed out a port to a dedicated capture/persist/analytics appliance, some of which currently do interpret the trailer.
* Optional Extension TLVs * Timestamp: Seconds * Timestamp: Nanoseconds * Flags (currently whether FCS was correct at ingress, and presence ofany extension TLVs)* Device ID (by default unique portion of the device's serial number) * Port ID * NewFCS (calculated so that metawatch emits a valid frame, not alwayscaptured by capturing NICs)* EOF The intent when parsing is that the base trailer is always the last 12bytes so given a complete capture one may simply skip directly to "wlen - 12", so there is no need to interpret EtherLen, or do a full dissection to locate the trailer. I agree that the case where caplen < wirelen may be problematic, but then you're guaranteed a corrupted or missing trailer anyway so it might not be worth even trying. Well, if len - caplen < 12, you know that 12 - (len - caplen) bytes of the base trailer are present, so you can extract the parts that *are* present. If it's >= 12, none of the base trailer is there, so you don't know whether there are extensions, and you can't parse the extensions.
This is true, and a good idea. To be fair, my current prototype doesn't do that, but will add such robustness to any submitted code implementing the proposed DLT. Thanks again, David _______________________________________________ tcpdump-workers mailing list tcpdump-workers () lists tcpdump org https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers
Current thread:
- Metamako DLT Request David Mirabito (Jul 23)
- Re: Metamako DLT Request Guy Harris (Jul 23)
- Re: Metamako DLT Request David Mirabito (Jul 25)
- Re: Metamako DLT Request Guy Harris (Jul 25)
- Re: Metamako DLT Request David Mirabito (Jul 25)
- Re: Metamako DLT Request David Mirabito (Jul 25)
- Re: Metamako DLT Request Guy Harris (Jul 23)