how define network with mask 8 for dhcp server?

s m sam.gh1986 at gmail.com
Sun Aug 11 10:31:02 UTC 2013


hello again guys

after understanding why dhcp server core dumps with a wide range (it causes
out of memory), if i limit my range it's ok. but some times user define a
wide range for example some million available ip addresses while there is
just some hundred client in the network. in this situation, dhcp server use
a lot of ram memory which is not good at all. how dhcp server acts? why
does it need a lot memory? is there any patch to optimize it? if not, is
there any other any ports in freebsd to use instead and have better
performance?

thanks in advance
SAM


On Wed, Aug 7, 2013 at 11:07 AM, s m <sam.gh1986 at gmail.com> wrote:

> yes, i solved my problem.
>  thanks every body for your answers. it help me a lot.
> SAM
>
>
> On Tue, Aug 6, 2013 at 2:08 PM, Andreas Nilsson <andrnils at gmail.com>wrote:
>
>>
>>
>>
>> On Tue, Aug 6, 2013 at 11:29 AM, s m <sam.gh1986 at gmail.com> wrote:
>>
>>> thanks Andreas, that's it!!!
>>> you know i have user interface program for dhcp. users don't know how
>>> dhcp works and just enter desired range in text box. i should handle all
>>> entered ranges. in order to do that, i should know how dhcp works with all
>>> different ranges and return errors if some ranges is not equivalent like
>>> the sample one.
>>>
>>
>> Ok. Someone more versed in debugging should probably determine if the
>> crash is in libc or just that dhcp does not handle malloc error.
>>
>>
>>>
>>> so. if i want to have network with mask 8, i should limit my range,
>>> right? have you any suggestion what is the maximum range for netmask 8?
>>> thanks for your reply again. it clears my mind:)
>>>
>>
>> Exactly.
>>
>> I just tried
>> 192.0.0.1-192.220.255.255 which works ( takes ~3 minutes to start, using
>> 4.5gb of ram )
>> and then
>> 192.0.0.1-192.221.255.255 which segfaults.
>>
>> The machine I test on does have 16gb of ram and 16gb of swap, so there
>> should be a lot more mem available.
>>
>> Best regards
>> Andreas
>>
>>>
>>>
>>> On Tue, Aug 6, 2013 at 1:35 PM, Andreas Nilsson <andrnils at gmail.com>wrote:
>>>
>>>>
>>>>
>>>>
>>>> On Tue, Aug 6, 2013 at 10:59 AM, Andreas Nilsson <andrnils at gmail.com>wrote:
>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Tue, Aug 6, 2013 at 10:40 AM, Olivier Nicole <
>>>>> olivier.nicole at cs.ait.ac.th> wrote:
>>>>>
>>>>>> Sam,
>>>>>>
>>>>>> > my problem is to know how define a network with mask 8 and dhcp
>>>>>> server
>>>>>> > works correctly with it! you know if i config my dhcpd.conf like
>>>>>> below, i
>>>>>> > have core dump either:
>>>>>> > subnet 10.0.0.0 netmask 255.0.0.0
>>>>>> > {
>>>>>> >     range 10.0.0.1 10.255.255.254;
>>>>>> > }
>>>>>> >
>>>>>> > do you know how should i define my range ??
>>>>>>
>>>>>> The reason may be that 2^24 machines in a subnet is such a non-sense
>>>>>> that dhcp simply cannot manage it.
>>>>>>
>>>>>> Best regards,
>>>>>>
>>>>>> Olivier
>>>>>>
>>>>>> >
>>>>>> > On Tue, Aug 6, 2013 at 12:23 PM, Olivier Nicole <
>>>>>> Olivier.Nicole at cs.ait.ac.th
>>>>>> >> wrote:
>>>>>> >
>>>>>> >> Sam,
>>>>>> >>
>>>>>> >> > subnet 192.0.0.0 netmask 255.0.0.0
>>>>>> >>
>>>>>> >> I know it is not the answer to your question, but you are wrong in
>>>>>> your
>>>>>> >> guess that 192.0.0.0/8 is all private IPs. Only 192.168.0.0/16 is.
>>>>>> >>
>>>>>> >> I know that for certain because my own IP starts with 192.
>>>>>> >>
>>>>>> >> If you want a full /8 private, you can only use 10.0.0.0/8
>>>>>> >>
>>>>>> >> Bets regards,
>>>>>> >>
>>>>>> >> Olivier
>>>>>> >>
>>>>>> >> --
>>>>>> >>
>>>>>>
>>>>>>
>>>>> Well, I would guess it may run out of memory... I did a few tests:
>>>>> 192.0.0.0 - 192.128.255.255 does work ( using ~2.5Gb  RAM ).
>>>>> 192.0.0.0 - 192.192.255.255 does work ( using ~4Gb RAM ).
>>>>> 192.0.0.0 - 192.200.255.255 does work ( using ~4.2Gb RAM ).
>>>>> 192.0.0.0 - 192.224.255.255 dumps core
>>>>>
>>>>> Why would you want to have such a huge range?
>>>>>
>>>>> Best regards
>>>>> Andreas
>>>>>
>>>>
>>>> Also, a quick look at the core file gives same indications:
>>>> #0  0x0000000800c67a21 in _malloc_prefork () from /lib/libc.so.7
>>>> #1  0x0000000800c6b72a in malloc () from /lib/libc.so.7
>>>> #2  0x000000000047b43b in omapi_object_dereference ()
>>>> #3  0x00000000004844db in do_ip4_hash ()
>>>> #4  0x0000000000484571 in do_ip4_hash ()
>>>> #5  0x0000000000438a45 in pool_timer ()
>>>> #6  0x000000000041dcd7 in trace_conf_stop ()
>>>> #7  0x000000000041fc4e in trace_conf_stop ()
>>>> #8  0x0000000000420698 in trace_conf_stop ()
>>>> #9  0x0000000000420ecc in trace_conf_stop ()
>>>> #10 0x0000000000420197 in trace_conf_stop ()
>>>> #11 0x00000000004247f3 in trace_conf_stop ()
>>>> #12 0x000000000041f210 in trace_conf_stop ()
>>>> #13 0x000000000040f3bf in lease_pinged ()
>>>> #14 0x000000000040d451 in ?? ()
>>>> #15 0x00000008007d7000 in ?? ()
>>>> #16 0x0000000000000000 in ?? ()
>>>>
>>>> Best regards
>>>> Andreas
>>>>
>>>>
>>>
>>
>


More information about the freebsd-net mailing list