perl-Net-DHCPClientLive-0.02-alt1.noarch.rpm


Advertisement

Description

perl-Net-DHCPClientLive - stateful DHCP client object

Property Value
Distribution ALT Linux Sisyphus
Repository Autoimports noarch
Package name perl-Net-DHCPClientLive
Package version 0.02
Package release alt1
Package architecture noarch
Package type rpm
Installed size 30.78 KB
Download size 30.78 KB
Official Mirror ftp.altlinux.org
Net::DHCPClientLive allows you to create and manipulate DHCP client(s) so that you
can test the behavior of your DHCP server upon client state transition.
DHCP client is a stateful host. It reaches "BOUND" state after the successful discover
process, and will renew and/or rebind when T1/T2 timer expire. The state will be changed
accordingly depending on the behavior of the server.
With this module you can move client's state, make transition, and even let it go freely.
At each attempt of operation, it can tell whether it success or fail, so that you know
if your server works as expected.
You can create many DHCP clients at the same time. In this way you can easily execute
scalability test. Image you create 100 live DHCP clients, they are alive as though there
were 100 hosts there, doing renew, rebind, or release interacting with your DHCP server
for a few days, just like they do in real scenario.
I also provide some code showing how to do this in EXAMPLES section.
Client identifier
- mac address is the identifier of a client, it's assigned when created and kept in the whole life cycle
- xid is kept in the client life cycle until back to INIT, when xid is initialized
The following is the detail description of state transition.
INIT->SELECT
send DISCOVER, receive OFFER, check and report,
return true if receiving DHCP OFFER from server, or false if no OFFER received.
The state of client moves to SELECT anyway.
INIT->REQUEST
SELECT->REQUEST
send DISCOVER, receive OFFER, and send REQUEST, check ACK and report,
return true if receiving both DHCP OFFER and ACK from server, or false otherwise
The state of client moves to SELECT if no OFFER received or REQUEST if OFFER received.
SELECT->SELECT
same as INIT->SELECT,
this allows you to test intensively the server response to DISCOVER
REQUEST->REQUEST
same as SELECT->REQUEST,
this allows you to test intensively the server response to DISCOVER/REQUEST
INIT->BOUND
send DISCOVER, receive OFFER, and send REQUEST, receive ACK and update.
return true only if the whole process correct.
The state of client moves accordingly to SELECT, REQUEST, or BOUND
SELECT if client sends DISCOVER
REQUEST if client receives OFFER, then sends REQUEST
BOUND if client receives ACK after sending REQUEST
SELECT->BOUND
back to INIT, then same to above
REQUEST->BOUND
send REQUEST, receive ACK and update (because client already has server offer info in obj)
return true only if the client receives ACK.
The state of client moves to BOUND if receives ACK, or stay at REQUEST if no ACK
BOUND->BOUND
Simulates T1 expire. Sends unicast REQUEST to server, and move to RENEW
move to BOUND and refresh lease after receiving ACK from server
return true if receives ACK
Note: Linux server sends ARP request to client ip, client has to replay this ARP
before Linux server sends ACK
RENEW->BOUND
REBIND->BOUND
Simulates T2 expire. sends broadcase REQUEST, move to BOUND and refresh lease if receives ACK
return true if receives ACK
BOUND->RENEW
Simulates T1 expire. Sends unicast REQUEST to server, and move to RENEW
return true if receives ACK
Note: Linux server sends ARP request to client ip, client also replay this ARP
before Linux server sends ACK
BOUND->REBIND
Does BOUND->RENEW first
Then ignore ACK and does RENEW->REBIND
RENEW->REBIND
Simulates T2 expire. sends broadcase REQUEST
return true if receives ACK to this broadcase REQUEST
REBIND->INIT
RENEW->INIT
Sends RELEASE and move to INIT
RENEW->SELECT
RENEW->REQUEST
REBIND->SELECT
REBIND->REQUEST
1. ->INIT
2. INIT->REQUEST
undef->INIT
do nothing
SELECT->INIT
clear XID
REQUEST->INIT
send DECLINE, clear XID

Alternatives

Package Version Architecture Repository
perl-Net-DHCPClientLive - - -

Requires

Name Value
/usr/share/perl5 -
perl(Net/ARP.pm) -
perl(Net/PcapUtils.pm) -
perl(Net/RawIP.pm) -
perl(NetPacket/ARP.pm) -
perl(NetPacket/Ethernet.pm) -
perl(NetPacket/IP.pm) -
perl(NetPacket/UDP.pm) -
rpmlib(PayloadIsLzma) -

Provides

Name Value
perl(Net/DHCPClientLive.pm) = 0.020
perl-Net-DHCPClientLive = 0.02-alt1

Download

Type URL
Binary Package perl-Net-DHCPClientLive-0.02-alt1.noarch.rpm
Source Package perl-Net-DHCPClientLive-0.02-alt1.src.rpm

Install Howto

  1. Add the following line to /etc/apt/sources.list:
    
    rpm [Sisyphus] http://ftp.altlinux.org/pub/distributions/ALTLinux/autoimports/Sisyphus noarch autoimports
    rpm [Sisyphus] http://ftp.altlinux.org/pub/distributions/ALTLinux/autoimports/Sisyphus noarch autoimports
    
  2. Update the package index:
    # sudo apt-get update
  3. Install perl-Net-DHCPClientLive rpm package:
    # sudo apt-get install perl-Net-DHCPClientLive

Files

Path
/usr/share/doc/perl-Net-DHCPClientLive-0.02/Changes
/usr/share/doc/perl-Net-DHCPClientLive-0.02/README
/usr/share/perl5/Net/DHCPClientLive.pm

See Also

Package Description
perl-Net-DHCPv6-DUID-Parser-1.01-alt1.noarch.rpm Parse DHCPv6 Unique Identifiers
perl-Net-DLookup-1.01-alt1.noarch.rpm Perform domain lookups on 2-letter and 3-letter TLDs
perl-Net-DMAP-Server-0.05-alt1.noarch.rpm base class for D[A-Z]AP servers
perl-Net-DNAT-0.15-alt1.noarch.rpm perl module Net-DNAT
perl-Net-DNS-Async-1.07-alt1.noarch.rpm perl module Net-DNS-Async
perl-Net-DNS-AutoDNS-0.1-alt1.noarch.rpm Generates XML and communicates with AutoDNS
perl-Net-DNS-Check-0.45-alt1.noarch.rpm perl module Net-DNS-Check
perl-Net-DNS-CloudFlare-DDNS-0.06-alt1.noarch.rpm Object orientated Dynamic DNS interface
perl-Net-DNS-Create-1.0.0-alt1.noarch.rpm Create DNS configurations from a nice Perl structure based DSL
perl-Net-DNS-Dig-0.12-alt1.noarch.rpm perl module Net-DNS-Dig
perl-Net-DNS-DurableDNS-1.1-alt1.noarch.rpm Wrapper for the DurableDNS API at http://durabledns.com
perl-Net-DNS-DynDNS-0.9993-alt1.noarch.rpm Update dyndns.org with correct ip address for your domain name
perl-Net-DNS-Dynamic-Adfilter-0.075-alt1.noarch.rpm A DNS ad filter
perl-Net-DNS-Dynamic-Proxyserver-1.2-alt1.noarch.rpm A dynamic DNS proxy server
perl-Net-DNS-Dynamic-Proxyserver-scripts-1.2-alt1.noarch.rpm Net-DNS-Dynamic-Proxyserver scripts
Advertisement
Advertisement