traffic generator -recommendations

Jason Brooks jasonbbrooks at gmail.com
Thu Oct 22 19:31:41 UTC 2020


Oh I forgot to add why having a correct commandline was important: it makes
a difference to the dhcp server: the -f option made it work for me.

I had to use dhtest to generate test packets, capture them, then compare
them to actual packets arriving on the present dhcp servers.  the -f
option eluded me for quite a while.

--jason

On Thu, Oct 22, 2020 at 12:28 PM Jason Brooks <jasonbbrooks at gmail.com>
wrote:

> Hello,
>
> you are very welcome!
>
> As to the dhtest script: I recommend capturing a session with tcpdump and
> decoding with wireshark and playing with it back-and-forth until you get
> the headers to match.
>
> here's a sample commandline I used that succeeded:
>
> dhtest -f -m 00:50:56:b2:2f:cc -i ens160 -V -c
> 82,hex,010430313331020B50484E58415A2D41493035 -o "iMG624A" -l 011c030f06
>
> -f sets bcast flag on the actual dhcp packet
> -m mac address of the pseudo endpoint originally asking for an ip address
> -i is the ethernet port on the linux host to send the packet from
> -V  == verbose
> -c is the encoded option 82 "010430313331020B50484E58415A2D41493035"
>      01 suboption 1: circuit id
>        04 number of bytes/octets
>           30313331  --> ascii chars: "0131"
>      02 suboption 2:remoteid
>        0B number of bytes/octets (decimal 13)
>            50484E58415A2D41493035   -> ascii chars: "PHNXAZ-AI05"
>
> -o "iMG624A" vendor class identifier string (dhcp option 60)
>
> -l 011c030f06  requested parm list (dhcp option 55 in hex)
>   01 subnetmask
>   1c broadcast address
>   03 router ip
>   0f  domain name
>   06 dns server
>
>
>
> On Thu, Oct 22, 2020 at 10:40 AM Ahiya Zadok <ahiya at younity.io> wrote:
>
>> Thank Jason, For this detailed answer!!!
>>
>> I will try your script.
>>
>>
>>
>> By the way, I did try the dhtest tool as well and even from a single VLAN.
>>
>> But I always get only "DHCP4_LEASE_ADVERT" messages in the kea log and no
>> IP allocation accrues.
>>
>> I've started earlier today a thread regarding this issue (subject:
>> address not being allocated).
>>
>>
>>
>> If you have any idea ill be happy to learn.
>>
>>
>>
>> thanks
>>
>>
>>
>> *From:* dhcp-users <dhcp-users-bounces at lists.isc.org> *On Behalf Of *Jason
>> Brooks
>> *Sent:* Thursday, October 22, 2020 8:24 PM
>> *To:* Users of ISC DHCP <dhcp-users at lists.isc.org>
>> *Subject:* Re: traffic generator -recommendations
>>
>>
>>
>> Hello Ahiya,
>>
>>
>>
>> I apologize for the delay in answering you.  The answer is a qualified
>> yes.
>>
>>
>>
>> I am replacing a number of remote dhcp servers with isc's
>> dhcpd configured as an HA pair in local datacenters. But before I alter
>> 100+ shelf managers' relay agent information, I needed to simulate a large
>> number of  dhcp requests, both load-wise, and to see if the dhcp servers
>> handed out the correct ip address ranges based on the criteria.
>>
>>
>>
>> I have a number of remote dhcp servers handling a large amount of remote
>> dsl equipment.  Each remote group of dsl equipment  has a set of shelf
>> managers.  the shelf managers forward relay the dhcp requests to their
>> respective dhcp servers.  The relevent dhcp values sent to the dhcp servers
>> are:
>>
>>      vendor class identifier (option 60)
>>
>>      request parameter list (option 55)
>>
>>      Dhcp relay agent info (option 82)
>>
>>           circuit id (82, suboption 1)
>>
>>           remote id (82, suboption 2)
>>
>>
>>
>> I learned this information using tcpdump and wireshark to decode actual
>> packets.  As it happens, the circuit id corresponded to the vlan each dsl
>> device was connected to.
>>
>>
>>
>> In order to test, I had a router that would forward requests to both of
>> my dhcp servers, so all my test host needed to do was send dhcp requests
>> via broadcast.
>>
>>
>>
>> The dhtest program I referred to earlier is used to construct raw dhcp
>> packets and send them, thus there is no need to build additional interfaces
>> to bind to.
>>
>>
>>
>> My test script, rundhctest.pl read in a pre-built CSV file with all of
>> the possible parameters my dhcp servers were to support.  It also read in a
>> list of 100,000 randomly generated mac addresses.  The rundhtest.pl
>> script used perl's Parallel::Forkmanager module to choose the number of
>> children to fork, and the max number of requests to send from each child.
>>
>>
>>
>> The CSV file has the following format, and the following headers are
>> important:
>>
>> Class;Rid;Cid;Opt82;VCI;Opt55
>>
>>      classname as found in the dhcp config files, remoteid, circuit id,
>> encoded optoni82, vendor class identifier, and option 55 requested parms.
>>
>>
>>
>> The mac address file is just a list of mac addresses: one per line.
>>
>>
>>
>> I will include the dhtest.pl script here.
>>
>>
>>
>> I hope it helps.
>>
>>
>>
>> --jason
>>
>>
>>
>>
>>
>> On Tue, Oct 13, 2020 at 10:41 PM Ahiya Zadok <ahiya at younity.io> wrote:
>>
>> Hi Jason
>>
>>
>>
>> Thank you for responding.
>>
>> So you mean that with parallel processes I could generate requests from
>> several VLANs simultaneously?
>>
>>
>>
>> *From:* dhcp-users <dhcp-users-bounces at lists.isc.org> *On Behalf Of *Jason
>> Brooks
>> *Sent:* Wednesday, October 14, 2020 3:17 AM
>> *To:* Users of ISC DHCP <dhcp-users at lists.isc.org>
>> *Subject:* Re: traffic generator -recommendations
>>
>>
>>
>> Hello,
>>
>>
>>
>> I have used a tool called dhtest, I even pushed a change to their github
>> site.  https://github.com/saravana815/dhtest
>>
>>
>>
>> I generated about 100,000 mac addresses and built a perl script to call
>> an arbitrary number of parallel processes.
>>
>>
>>
>> it worked well.
>>
>>
>>
>> --jason
>>
>>
>>
>> On Tue, Oct 13, 2020 at 4:23 AM ahiya <ahiya at younity.io> wrote:
>>
>> hi AllI'm planning to implement Kea-dhcp4 to serve around 500 subnets with
>> 5000 devices, I don't think the requests per sec rate will be high, it
>> MDUs.I'm using FG as a DHCP relay.I’ve performed some functionality tests
>> and it seems to work fine.I wanted to perform some load tests.I've to
>> install Kea-admin on ubuntu 18.04 VM and use the perfdhcp app.but I can't
>> make it quite work. all I see in my DHCP log are "DHCP4_LEASE_ADVERT"
>> messages and no  "DHCP4_LEASE_ALLOC".and all sent packets are dropped
>> according to perfdhcp report.I've tried various clients numbers the lower
>> number of requests and low the rate but it didn't work.any ideas?and dose
>> any one know if perfdhcp support sending from multiple interfaces?thanks
>> in
>> advanceRunning: perfdhcp -l vlan550 -n 20 -p 1 -r 100 -R 30Scenario:
>> basic.***Rate statistics***Rate: 0 4-way exchanges/second, expected rate:
>> 100***Statistics for: DISCOVER-OFFER***sent packets: 20received packets:
>> 0drops: 20drops ratio: 100 %orphans: 0min delay: inf msavg delay: min
>> delay:
>> n/aavg delay: n/amax delay: n/astd deviation: n/acollected packets:
>> 0***Statistics for: REQUEST-ACK***sent packets: 0received packets: 0drops:
>> 0drops ratio: -nan %orphans: 0min delay: inf msavg delay: min delay:
>> n/aavg
>> delay: n/amax delay: n/astd deviation: n/acollected packets: 0
>>
>>
>>
>> --
>> Sent from: http://isc-dhcp-users.2343191.n4.nabble.com/
>> _______________________________________________
>> ISC funds the development of this software with paid support
>> subscriptions. Contact us at https://www.isc.org/contact/ for more
>> information.
>>
>> dhcp-users mailing list
>> dhcp-users at lists.isc.org
>> https://lists.isc.org/mailman/listinfo/dhcp-users
>>
>> _______________________________________________
>> ISC funds the development of this software with paid support
>> subscriptions. Contact us at https://www.isc.org/contact/ for more
>> information.
>>
>> dhcp-users mailing list
>> dhcp-users at lists.isc.org
>> https://lists.isc.org/mailman/listinfo/dhcp-users
>>
>> _______________________________________________
>> ISC funds the development of this software with paid support
>> subscriptions. Contact us at https://www.isc.org/contact/ for more
>> information.
>>
>> dhcp-users mailing list
>> dhcp-users at lists.isc.org
>> https://lists.isc.org/mailman/listinfo/dhcp-users
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.isc.org/pipermail/dhcp-users/attachments/20201022/783aa17b/attachment-0001.htm>


More information about the dhcp-users mailing list