From 5df7cabbb27ec383bdca8ff900b01a050eb3956d Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Thu, 28 May 2026 11:59:53 -0400 Subject: [PATCH] MT#55283 update replay helper script Update command ID values Update struct packing (without padding) Update required metadata string Change-Id: Id5f01ece3cba8482b49bcf26da82754c7b9620af --- utils/kernel-intercept-pcap-replay.pl | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/utils/kernel-intercept-pcap-replay.pl b/utils/kernel-intercept-pcap-replay.pl index 8a2b1cd16..7db6bbb5c 100755 --- a/utils/kernel-intercept-pcap-replay.pl +++ b/utils/kernel-intercept-pcap-replay.pl @@ -33,7 +33,7 @@ my $meta_file = "$spool_dir/" . rand() . '.meta'; my $parent = rand(); print("adding kernel call\n"); -my (undef, $cid) = msg_ret(5, '', 'I I', 'I a256', 0, $parent); +my (undef, $cid) = msg_ret(4, '', 'I I', 'I a256', 0, $parent); print("kernel cid $cid\n"); print("starting metafile\n"); @@ -54,16 +54,16 @@ for my $key (@tag_keys) { "component-$stream->{component}-xxx-id-$stream->{stream_id}"; put_meta("STREAM $stream->{stream_id} details", "TAG $tag_id MEDIA $stream->{media_id} COMPONENT $stream->{component} ". - "FLAGS 0"); + "FLAGS 0 MEDIA-SDP-ID 0 MEDIA-REC-SLOT 0 MEDIA-REC-SLOTS 1"); if ($ARGV[2]) { if ($ARGV[3]) { put_meta("MEDIA $stream->{media_id} PTIME $ARGV[3]", ''); } put_meta("MEDIA $stream->{media_id} PAYLOAD TYPE $ARGV[1]", $ARGV[2]); } - my @ret = msg_ret(7, '', 'I I I I', + my @ret = msg_ret(6, '', 'I I I', 'I I I a256', $cid, 0, 0, $sname); - my $sid = $ret[3]; + my $sid = $ret[2]; $stream->{sid} = $sid; print("kernel sid $sid\n"); put_meta("STREAM $stream->{stream_id} interface", $sname); @@ -73,12 +73,12 @@ for my $key (@tag_keys) { print("sending packets\n"); foreach my $pack (@packets) { - msg_ret(9, $pack->{eth}->{rest}, '', 'I I', $cid, $pack->{media}->{sid}); + msg_ret(8, $pack->{eth}->{rest}, '', 'I I', $cid, $pack->{media}->{sid}); usleep(5000); } print("deleting call and metafile\n"); -msg_ret(6, '', '', 'I', $cid); +msg_ret(5, '', '', 'I', $cid); unlink($meta_file); print("done\n"); @@ -169,10 +169,7 @@ sub put_meta { sub msg_ret { my ($cmd, $extra, $unpacker, $packer, @rest) = @_; - my $msg = pack('II' . $packer, $cmd, 0, @rest); - # for 32-bit: - # my $msg = pack('I' . $packer, $cmd, @rest); - $msg .= ("\0" x (840 - length($msg))); # packet length also needs adjusting for 32-bit + my $msg = pack('I' . $packer, $cmd, @rest); $msg .= ($extra // ''); sysread($kfd, $msg, length($msg)) or die $!; return unpack($unpacker, $msg);