Device::ZyXEL::IES::Port - A model of a Port on a Slot on an IES.
Version 0.10
Models a port on a ZyXEL IES Device.
Based on Moose.
# Must have a Device::Zyxel::IES::Slot object
my $p = Device::ZyXEL::IES::Port( id => 301, slot => $s );
my $adminstatus = $p->read_adminstatus();
# $adminstatus is now the same as $p->adminstatus();
# DOWN the port
$p->adminstatus(1);
Required attribute that identifies the port. Matches ifIndex.
Required attribute that isa Device::ZyXEL::IES::Slot object.
ifAdminStatus on the port. Read from IES using read_adminstatus
ifOperStatus on the port. Read from IES using read_operstatus
uptime on the port. Read from IES using read_uptime
Configuration profile on the port. This attribute OID will depend on the type of xDSL interface of the port.
the ifInOctets on the port. Note that if this conglomorate of modules is used to systematically read and record (say using RRD) values, you might expience trouble with cpu load on the IES. (See Device::ZyXEL::IES)
Retrieve a value for this attribute from the IES using read_ifInOctets
the ifOutOctets on the port. Note that if this conglomorate of modules is used to systematically read and record (say using RRD) values, you might expience trouble with cpu load on the IES. (See Device::ZyXEL::IES)
Retrieve a value for this attribute from the IES using read_ifOutOctets
Contains the userinfo OID value from the IES.
Retrieve userinfo from the IES Port using read_userinfo
Contains the ifLastChange OID value from the IES.
Retrieve a value from the IES Port using read_ifLastChange.
This attribute can be used to calculate the uptime of the port.
Contains the maxmac setting from the IES.
Retrieve the maxmac value from the IES Port using read_maxmac, before that the value of this attribute will not reflect reality.
The maxmac setting is used by the IES in conjunction with the Snoop feature to ensure a maximum number of MAC address pr port.
Contains the maxAttainableDownstream setting from the IES.
This attribute depends on the interface type, as determined by the assiciated Device::ZyXEL::IES::Slot object.
Contains the maxAttainableUpstream setting from the IES.
Contains the currAttainableDownstream setting from the IES.
Contains the currAttainableUpstream setting from the IES.
Contains the SNR on the Downstream channel from the IES.
Contains the SNR on the Upstream channel from the IES.
Contains the current Attenautaion Downstream setting from the IES.
Contains the current Attenautaion Upstream setting from the IES.
Contains the current impulse noise protection level on the Downstream channel.
The upstream Impulse Noise Protection minimum setting in unit of DMT symbol.
The ADSL Annex M setting.
The ADSL Annex L setting.
The S.HDSL Wirepair Mode setting.
The VDSL Protocol Mode setting.
One of
none(1), vdsl_8a(2), vdsl_8b(3), vdsl_8c(4), vdsl_8d(5), vdsl_12a(6), vdsl_12b(7), vdsl_17a(8), vdsl_30a(9), adsl2plus(10)
hlog data for the near end (dlsam)
This attribute depends on the interface type.
For ADSL it will contain an array of values between -32767 and 32768, with -32767 being special, meaning "no measurement".
For VDSL the "no measurement" value is 1023.
Values for all interface types are dB.
In ADSL the group size (how many carriers are average over pr hlog value) is always one. In VDSL this is set by the dslam firmware.
hlog data for the far end (cpe)
qln data for the near end (dlsam)
For VDSL the "no measurement" value is 255.
In ADSL the group size (how many carriers are average over pr qln value) is always one. In VDSL this is set by the dslam firmware.
qln data for the far end (cpe)
snr data for the near end (dlsam)
For ADSL it will contain nothing.
The number of carriers grouped together for each snr value.
snr data for the far end (cpe)
Contains the status of a SELT operation on the port.
Contains the cable type reported by the IES as a result of a SELT operation.
1 => 'awg24' 2 => 'awg26'
Contains the IES estimate of the loop length in Feet.
Contains the IES estimate of the loop length in Meters.
Contains the number of dhcp discoveries on the port.
Contains the number of dhcp offer on the port.
Contains the number of dhcp request on the port.
Contains the number of dhcp ack on the port.
When the object is created, we need to create an instance of the oid translater.
Used (mainly internally) to write a new value into the specified OID on the IES.
Params: $oidname: Symbolic name of the OID, translated through mib files or statically through OID.pm $type: An SNMP type, i.e. OCTET_STRING, INTEGER aso, imported by Net::SNMP asn1 $value: <the value to set> $actual: 1 => the oid indcated by oidname, and translated to an actual oid is the actual final one 0 => Append port ID to the oid before setting
Returns: a status string indicating the result.
Uses Net::SNMP::Util to read the value of an oid for a specific slot.
Asks the IES for OperStatus on the port.
Asks the IES for uptime on the port.
Asks the IES for profile on the port.
Asks the IES for ifInOctets on the port.
Asks the IES for ifOutOctets on the port.
Asks the IES for ifLastChange on the port.
Asks the IES for maxmac on the port.
Sets the macFilterPortMacCount value in the dslam, and the value of the attribute here.
Sets ifAdminStatus on the Port on the device.
Asks the IES for userinfo on the port.
Retrieves the ifType [ADSL, VDSL, SHDSL] from the associated slot object. If cardtype (which determines the ifType) is not previosly read from the dslam, and present in the object, it start by reading the cardtype from the IES.
Asks the IES for max attainable downstream speed on the port.
Different OID's for different slot types, determined by the slot cardtype.
Asks the IES for maximum attainable speed upstream on the port.
Asks the IES for the current downstream speed on the port.
Asks the IES for current upstream speed on the port.
Asks the IES for the SNR for the downstream channel on the port.
Network side in case of SHDSL.
Asks the IES for SNR Margin on the upstream channel on the port.
Customer side in case of SHDSL.
Asks the IES for the Attenaution for the downstream channel on the port.
Asks the IES for Attenaution on the upstream channel on the port.
Asks the IES for the Impulse Noice Protection level for the downstream channel on the port.
Set the INP value in the device, and sets the attribute upon succes.
Asks the IES for the Impulse Noice Protection level for the upstream channel on the port.
Asks the IES for the Annex M setting for the ADSL port.
Sets the annexM value on the port on the IES.
Asks the IES for the Annex L setting for the ADSL port.
Sets the annexL value on the port on the IES.
Asks the IES for the S.HDSL Wirepair mode of the port.
Asks the IES for the actual VDSL protocol used on the port
Asks the dslam for the near end part (dslam side) of the hlog data.
Finds the correct oids to ask for, depending on the ifType
Asks the dslam for the far end part (cpe side) of the hlog data.
Asks the dslam for the near end part (dslam side) of the qln data.
Asks the dslam for the far end part (cpe side) of the qln data.
Asks the dslam for the downstream part of the snr data.
Asks the dslam for the upstream part of the snr data.
Sets the SeltOps thus initiating the SELT procedure on the port.
Attempts to fetch the results of a SELT operation on the port.
Stores fetched values in the corresponding port attributes.
Fetches the number of DHCPDISCOVER,-OFFER,-REQUEST and -ACK from the IES DHCP relay feature.
Params: None
Returns: Hash containing values for DISCOVER,OFFER,REQUEST,ACK and ACKBYSNOOPFULL
Retrieves the list of IP-Mac combination in the snoop table for a given port.
Reads the ES Interval MIB, which returns a value for each 15 minute interval during the past 24 hours.
Retrieves the details of a port from the IES.
Fetches all relevant information from the port, and fills values into the appropriate attributes.
Retrieves the details of a port from the IES. Fetches all relevant information from the port, and fills values into the appropriate attributes.
Method that converts a 16 bit unsigned to a signed value
You can find documentation for this module with the perldoc command.
perldoc Device::ZyXEL::IES::Port You can also look for information at:
RT: CPAN's request tracker
http://rt.cpan.org/NoAuth/Bugs.html?Dist=Device-ZyXEL-IES
AnnoCPAN: Annotated CPAN documentation
http://annocpan.org/dist/Device-ZyXEL-IES
CPAN Ratings
http://cpanratings.perl.org/d/Device-ZyXEL-IES
Search CPAN
http://search.cpan.org/dist/Device-ZyXEL-IES/
Fullrate (http://www.fullrate.dk) Thanks for allowing me to be introduced to the "wonderful" device ;) And thanks for donating some of my work time to create this module and sharing it with the world.
Copyright 2012 Jesper Dalberg, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Device::ZyXEL::IES, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Device::ZyXEL::IES
CPAN shell
perl -MCPAN -e shell install Device::ZyXEL::IES
For more information on module installation, please visit the detailed CPAN module installation guide.