Browse Source

move test script to new kernel structs

git.mgm/mediaproxy-ng/2.0
Richard Fuchs 14 years ago
parent
commit
b31a0b4560
1 changed files with 46 additions and 11 deletions
  1. +46
    -11
      tests/kernel-module-test.pl

+ 46
- 11
tests/kernel-module-test.pl View File

@ -3,7 +3,9 @@
use strict;
use warnings;
use Socket;
use Socket6;
my %cmds = (noop => 1, add => 2, delete => 3, update => 4);
$| = 1;
open(F, "> /proc/mediaproxy/1/control");
@ -12,43 +14,76 @@ open(F, "> /proc/mediaproxy/1/control");
$| = 1;
select($x);
}
#print F (pack("I SS LLSS LS S", 0, 0, -1, 0, 0, 0, 0, 0, 0, -1));
#sleep(10);
sub mp_address {
my ($fam, $addr, $port) = @_;
if ($fam eq 'inet') {
return pack('i a4 a12 S S', 2, inet_aton($addr), '', $port, 0);
}
if ($fam eq 'inet6') {
return pack('i a16 S S', 10, inet_pton(AF_INET6, $addr), $port, 0);
}
if ($fam eq '') {
return pack('i a16 S S', 0, '', 0, 0);
}
die;
}
sub mediaproxy_message {
my ($cmd, $target_port,
$src_addr_family, $src_addr_addr, $src_addr_port,
$dst_addr_family, $dst_addr_addr, $dst_addr_port,
$mirror_addr_family, $mirror_addr_addr, $mirror_addr_port,
$tos) = @_;
my $ret = '';
$ret .= pack('I SS', $cmds{$cmd}, $target_port, 0);
$ret .= mp_address($src_addr_family, $src_addr_addr, $src_addr_port);
$ret .= mp_address($dst_addr_family, $dst_addr_addr, $dst_addr_port);
$ret .= mp_address($mirror_addr_family, $mirror_addr_addr, $mirror_addr_port);
$ret .= pack('C CS', $tos, 0, 0);
}
my @src = qw(inet 192.168.231.132);
my @dst = qw(inet 192.168.231.1);
my @nul = ('', '', '');
print("add 9876 -> 1234/6543\n");
syswrite(F, pack("I SS a4a4 SS a4 S S", 1, 9876, -1, inet_aton("192.168.231.132"), inet_aton("192.168.231.1"), 1234, 6543, "", 0, -1));
syswrite(F, mediaproxy_message('add', 9876, @src, 1234, @dst, 6543, @nul, 184));
sleep(30);
print("add fail\n");
syswrite(F, pack("I SS a4a4 SS a4 S S", 1, 9876, -1, inet_aton("192.168.231.132"), inet_aton("192.168.231.1"), 1234, 6543, inet_aton("192.168.231.1"), 6789, -1));
syswrite(F, mediaproxy_message('add', 9876, @src, 1234, @dst, 6543, @dst, 6789, 184));
sleep(30);
print("update 9876 -> 1234/6543 & 6789\n");
syswrite(F, pack("I SS a4a4 SS a4 S S", 3, 9876, -1, inet_aton("192.168.231.132"), inet_aton("192.168.231.1"), 1234, 6543, inet_aton("192.168.231.1"), 6789, -1));
syswrite(F, mediaproxy_message('update', 9876, @src, 1234, @dst, 6543, @dst, 6789, 184));
sleep(30);
print("update 9876 -> 2345/7890 & 4321\n");
syswrite(F, pack("I SS a4a4 SS a4 S S", 3, 9876, -1, inet_aton("192.168.231.132"), inet_aton("192.168.231.1"), 2345, 7890, inet_aton("192.168.231.1"), 4321, -1));
syswrite(F, mediaproxy_message('update', 9876, @src, 2345, @dst, 7890, @dst, 4321, 184));
sleep(30);
print("add fail\n");
syswrite(F, pack("I SS a4a4 SS a4 S S", 1, 9876, -1, inet_aton("192.168.231.132"), inet_aton("192.168.231.1"), 1234, 6543, inet_aton("192.168.231.1"), 6789, -1));
syswrite(F, mediaproxy_message('add', 9876, @src, 1234, @dst, 6543, @dst, 6789, 184));
sleep(30);
print("update 9876 -> 1234/6543\n");
syswrite(F, pack("I SS a4a4 SS a4 S S", 3, 9876, -1, inet_aton("192.168.231.132"), inet_aton("192.168.231.1"), 1234, 6543, "", 0, -1));
syswrite(F, mediaproxy_message('update', 9876, @src, 1234, @dst, 6543, @nul, 184));
sleep(30);
print("delete\n");
syswrite(F, pack("I SS a4a4 SS a4 S S", 2, 9876, -1, "", "", 0, 0, "", 0, -1));
syswrite(F, mediaproxy_message('delete', 9876, @nul, @nul, @nul, 0));
sleep(30);
print("delete fail\n");
syswrite(F, pack("I SS a4a4 SS a4 S S", 2, 9876, -1, "", "", 0, 0, "", 0, -1));
syswrite(F, mediaproxy_message('delete', 9876, @nul, @nul, @nul, 0));
sleep(30);
print("update fail\n");
syswrite(F, pack("I SS a4a4 SS a4 S S", 3, 9876, -1, inet_aton("192.168.231.132"), inet_aton("192.168.231.1"), 1234, 6543, "", 0, -1));
syswrite(F, mediaproxy_message('update', 9876, @src, 1234, @dst, 6543, @nul, 184));
sleep(30);
close(F);

Loading…
Cancel
Save