diff options
author | Guy Harris <gharris@sonic.net> | 2020-07-27 03:36:24 -0700 |
---|---|---|
committer | Jaap Keuter <jaap.keuter@xs4all.nl> | 2020-07-27 14:59:56 +0000 |
commit | 8c0c27e590863dd557d86df9c135ec98cb3e408e (patch) | |
tree | d5830fae2e584809e68794f6628d43f78d7779f4 /wiretap/iptrace.c | |
parent | c099892700eb03155548c06a9deb6c4f7b2bb570 (diff) |
iptrace: supply packet direction.
Change-Id: If28f04a34be6ec35e4fc60b2add129ca916d5ebd
Reviewed-on: https://code.wireshark.org/review/37976
Petri-Dish: Guy Harris <gharris@sonic.net>
Tested-by: Petri Dish Buildbot
Reviewed-by: Jaap Keuter <jaap.keuter@xs4all.nl>
Diffstat (limited to 'wiretap/iptrace.c')
-rw-r--r-- | wiretap/iptrace.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/wiretap/iptrace.c b/wiretap/iptrace.c index 85c17ac5f2..64facaee72 100644 --- a/wiretap/iptrace.c +++ b/wiretap/iptrace.c @@ -283,11 +283,15 @@ iptrace_read_rec_1_0(wtap *wth, FILE_T fh, wtap_rec *rec, Buffer *buf, } rec->rec_type = REC_TYPE_PACKET; - rec->presence_flags = WTAP_HAS_TS | WTAP_HAS_INTERFACE_ID; + rec->presence_flags = WTAP_HAS_TS | WTAP_HAS_INTERFACE_ID | WTAP_HAS_PACK_FLAGS; rec->rec_header.packet_header.len = packet_size; rec->rec_header.packet_header.caplen = packet_size; rec->ts.secs = pntoh32(&header[IPTRACE_1_0_TV_SEC_OFFSET]); rec->ts.nsecs = 0; + rec->rec_header.packet_header.pack_flags = + pkt_info[IPTRACE_1_0_TX_FLAGS_OFFSET] ? + (PACK_FLAGS_DIRECTION_OUTBOUND << PACK_FLAGS_DIRECTION_SHIFT) : + (PACK_FLAGS_DIRECTION_INBOUND << PACK_FLAGS_DIRECTION_SHIFT); /* Fill in the pseudo-header. */ fill_in_pseudo_header(rec->rec_header.packet_header.pkt_encap, @@ -550,11 +554,15 @@ iptrace_read_rec_2_0(wtap *wth, FILE_T fh, wtap_rec *rec, Buffer *buf, } rec->rec_type = REC_TYPE_PACKET; - rec->presence_flags = WTAP_HAS_TS | WTAP_HAS_INTERFACE_ID; + rec->presence_flags = WTAP_HAS_TS | WTAP_HAS_INTERFACE_ID | WTAP_HAS_PACK_FLAGS; rec->rec_header.packet_header.len = packet_size; rec->rec_header.packet_header.caplen = packet_size; rec->ts.secs = pntoh32(&pkt_info[IPTRACE_2_0_TV_SEC_OFFSET]); rec->ts.nsecs = pntoh32(&pkt_info[IPTRACE_2_0_TV_NSEC_OFFSET]); + rec->rec_header.packet_header.pack_flags = + pkt_info[IPTRACE_2_0_TX_FLAGS_OFFSET] ? + (PACK_FLAGS_DIRECTION_OUTBOUND << PACK_FLAGS_DIRECTION_SHIFT) : + (PACK_FLAGS_DIRECTION_INBOUND << PACK_FLAGS_DIRECTION_SHIFT); /* Fill in the pseudo-header. */ fill_in_pseudo_header(rec->rec_header.packet_header.pkt_encap, |