From 9b6051380f6902616abdfb2e21d158aee4a32cc6 Mon Sep 17 00:00:00 2001 From: Will Greenberg Date: Wed, 30 Jul 2025 15:57:54 -0700 Subject: [PATCH] lib: write ltemac packets as gsmtap --- lib/src/gsmtap_parser.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/src/gsmtap_parser.rs b/lib/src/gsmtap_parser.rs index 4a7ea58..e1c512b 100644 --- a/lib/src/gsmtap_parser.rs +++ b/lib/src/gsmtap_parser.rs @@ -1,6 +1,7 @@ use crate::diag::*; use crate::gsmtap::*; +use deku::DekuContainerWrite; use log::error; use thiserror::Error; @@ -148,7 +149,16 @@ fn log_to_gsmtap(value: LogBody) -> Result, GsmtapParserEr header, payload: msg, })) - } + }, + LogBody::LteMacDl { subpackets, .. } => { + let mut header = GsmtapHeader::new(GsmtapType::LteMac); + header.uplink = false; + let mut payload = Vec::new(); + for packet in subpackets { + payload.extend(packet.to_bytes().unwrap()); + } + Ok(Some(GsmtapMessage { header, payload })) + }, _ => { error!("gsmtap_sink: ignoring unhandled log type: {value:?}"); Ok(None)