1 |
dpavlin |
17 |
package Intel::AMT::NetworkAdministration; |
2 |
|
|
|
3 |
|
|
use warnings; |
4 |
|
|
use strict; |
5 |
|
|
|
6 |
|
|
use Data::Dump qw/dump/; |
7 |
|
|
|
8 |
|
|
=for reference |
9 |
|
|
|
10 |
|
|
dpavlin@t61p:~/Desktop/docs/amt/AMT-5.1-SDK/Linux/Intel_AMT/Samples/Soap/NetworkAdministration/c++$ grep FunctionCall * |
11 |
|
|
NetworkAdministrationSample.cpp: FunctionCall("GetHostName"); |
12 |
|
|
NetworkAdministrationSample.cpp: FunctionCall("SetHostName"); |
13 |
|
|
NetworkAdministrationSample.cpp: FunctionCall("EnumerateInterfaces"); |
14 |
|
|
NetworkAdministrationSample.cpp: FunctionCall("GetInterfaceSettings"); |
15 |
|
|
NetworkAdministrationSample.cpp: FunctionCall("SetInterfaceSettings"); |
16 |
|
|
NetworkAdministrationSample.cpp: FunctionCall("GetVlanParameters"); |
17 |
|
|
NetworkAdministrationSample.cpp: FunctionCall("SetVlanParameters"); |
18 |
|
|
NetworkAdministrationSample.cpp: FunctionCall("GetPingResponse"); |
19 |
|
|
NetworkAdministrationSample.cpp: FunctionCall("SetPingResponse"); |
20 |
|
|
|
21 |
|
|
=cut |
22 |
|
|
|
23 |
|
|
use lib 'lib'; |
24 |
|
|
use base qw/Intel::AMT::SOAP/; |
25 |
|
|
|
26 |
|
|
our $soap = Intel::AMT::SOAP::_soap( 'NetworkAdministration' ); |
27 |
|
|
|
28 |
|
|
sub ipv4 { |
29 |
|
|
my $addr = shift; |
30 |
|
|
return $addr unless $addr; |
31 |
|
|
# sprintf("%x ",$addr) . |
32 |
|
|
join('.', |
33 |
|
|
($addr & 0xff000000) >> 24, |
34 |
|
|
($addr & 0x00ff0000) >> 16, |
35 |
|
|
($addr & 0x0000ff00) >> 8, |
36 |
|
|
$addr & 0x000000ff, |
37 |
|
|
); |
38 |
|
|
} |
39 |
|
|
|
40 |
|
|
sub network_settings { |
41 |
|
|
my $info = { |
42 |
|
|
hostname => $soap->GetHostName()->paramsout, |
43 |
|
|
domainname => $soap->GetDomainName()->paramsout, |
44 |
|
|
interfaces => [ $soap->EnumerateInterfaces->paramsout ], |
45 |
|
|
vlan => [ $soap->GetVlanParameters->paramsout ], |
46 |
|
|
ping => $soap->GetPingResponse->paramsout, |
47 |
|
|
}; |
48 |
|
|
|
49 |
|
|
warn "# network_settings ",dump( $info ); |
50 |
|
|
|
51 |
|
|
foreach my $if ( @{ $info->{interfaces} } ) { |
52 |
|
|
my $detail = $soap->GetInterfaceSettings( SOAP::Data->name('InterfaceHandle'=>$if) )->paramsout; |
53 |
|
|
foreach my $param ( keys %{ $detail->{IPv4Parameters} } ) { |
54 |
|
|
if ( my $ip = $detail->{IPv4Parameters}->{$param} ) { |
55 |
|
|
$detail->{IPv4Parameters}->{$param} = ipv4( $ip ); |
56 |
|
|
} |
57 |
|
|
} |
58 |
|
|
$info->{interface_settings}->{$if} = $detail; |
59 |
|
|
} |
60 |
|
|
|
61 |
|
|
return $info; |
62 |
|
|
}; |
63 |
|
|
|
64 |
|
|
1; |