README.md in packet_via_dmem-0.0.3 vs README.md in packet_via_dmem-0.0.4
- old
+ new
@@ -56,19 +56,26 @@
Wrote packet of 9 bytes.
Read 28 potential packets, wrote 28 packets (4388 bytes).
% ./bin/packet-via-dmem --help
usage: ./bin/packet-via-dmem [options]
-d, --debug turn on debugging
+ --headers print headers to stderr
+ -o, --original print original frames
-r, --received pop BYTES from received frames, default 6
-s, --sent pop BYTES from senti frames, default is not to show sent frames
-h, --help
- %
## Library
require 'packet_via_dmem'
dmem = PacketViaDMEM.new
- puts dmem.parse File.read(ARGF[0])
+ packets = dmem.parse File.read(ARGF[0])
+ packets.each do |capture|
+ p capture.type
+ p capture.packet
+ p capture.header
+ p capture.original
+ end
## Header format
### Received header
@@ -82,9 +89,15 @@
* Fourth byte is 0xf0 on MX80, tendency for last nibble to be 0. Perhaps src fabric stream? If it is zero, we get what seems to be trash (internal stuff?)
* Fifth byte appears to be source port?
* Sixth byte is perhaps source NPU? If it is zero, we get what seems to be trash (internal stuff)
+
+ * value of fift+sixth seems to sometime indicate special cases
+ * 0x1fff - Packet missing everything before IPv4 TTL, yet has some extra. I saw BGP from control-plane with this and also TCP/SMB2 with Seq1, it was transit, but perhaps it was via ARP resolve/punt and thus coming from control-plane?
+ * 0x2000 - BFD frames from control-plane, missing L2
+ * 0x4220 - Was traffic for AE/802.1AX, no L2 included, but something extra aadded
+ * 0x8000 - I need to pop 14 bytes extra
* 00 (22) (33) (44) \<src\> (66)
* 10 (22) (33) (44) \<si\> \<ze\> \<src\> (66)
Example from MX960