purpose of bgpd.conf dump "timeout" parameter?

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

purpose of bgpd.conf dump "timeout" parameter?

Adam Thompson
In bgpd.conf(5), for the "dump" directive there is an optional "timeout"
parameter.  What is its purpose?  I assume from the examples that it's
denominated in seconds...

my first guess was to time out on attempting to write to the dump file,
but that doesn't seem realistic.  It looks like it's a cycle, i.e. the
dump file will be recreated every X seconds, but if so, why is it called
"timeout" and not "interval" ?

I see in the source that MRT_MAX_TIMEOUT is set to 7200 - does this mean
that if I leave the parameter unset, the MRT file will be re-dumped
every 2 hrs?

Yes, I'll produce a patch for the manpage if someone can explain what
the parameter is supposed to do / how it works.

Thanks,
-Adam

Reply | Threaded
Open this post in threaded view
|

Re: purpose of bgpd.conf dump "timeout" parameter?

Claudio Jeker
On Fri, Feb 08, 2019 at 03:56:12PM -0600, Adam Thompson wrote:
> In bgpd.conf(5), for the "dump" directive there is an optional "timeout"
> parameter.  What is its purpose?  I assume from the examples that it's
> denominated in seconds...

Yes it is.
 
> my first guess was to time out on attempting to write to the dump file, but
> that doesn't seem realistic.  It looks like it's a cycle, i.e. the dump file
> will be recreated every X seconds, but if so, why is it called "timeout" and
> not "interval" ?

Because naming is hard :)
 
> I see in the source that MRT_MAX_TIMEOUT is set to 7200 - does this mean
> that if I leave the parameter unset, the MRT file will be re-dumped every 2
> hrs?

No, it just limits the poll timeout but it will only fire once the time
really ran out.
 
> Yes, I'll produce a patch for the manpage if someone can explain what the
> parameter is supposed to do / how it works.

After timeout seconds the file is reopened (or maybe a new file is opened
depending on the strftime expand of the filename). For all and update
dumps this just puts new messages into a new file. For table dumps it will
issue a new dump. e.g.
        dump table "/tmp/rib-dump-%H%M" 300
will create a new table dump every 5 minutes.

Hope that helps.
--
:wq Claudio

Reply | Threaded
Open this post in threaded view
|

Re: purpose of bgpd.conf dump "timeout" parameter?

Adam Thompson
Yes, that clarifies it, thank you.  I will attempt to explain that better and provide patch for bgpd.conf.5 next week.
May I suggest a future function for bgpctl/bgpd - creating an MRT dump on demand?  Even if only able to run in the context of bgpd(8), I think it could be helpful.  (Certainly it would be helpful to me.  Which is probably obvious since I'm suggesting it...)  Something else to tack onto the to-do list, I guess.
Thanks,
-Adam

On February 8, 2019 5:23:24 PM CST, Claudio Jeker <[hidden email]> wrote:

>On Fri, Feb 08, 2019 at 03:56:12PM -0600, Adam Thompson wrote:
>> In bgpd.conf(5), for the "dump" directive there is an optional
>"timeout"
>> parameter.  What is its purpose?  I assume from the examples that
>it's
>> denominated in seconds...
>
>Yes it is.
>
>> my first guess was to time out on attempting to write to the dump
>file, but
>> that doesn't seem realistic.  It looks like it's a cycle, i.e. the
>dump file
>> will be recreated every X seconds, but if so, why is it called
>"timeout" and
>> not "interval" ?
>
>Because naming is hard :)
>
>> I see in the source that MRT_MAX_TIMEOUT is set to 7200 - does this
>mean
>> that if I leave the parameter unset, the MRT file will be re-dumped
>every 2
>> hrs?
>
>No, it just limits the poll timeout but it will only fire once the time
>really ran out.
>
>> Yes, I'll produce a patch for the manpage if someone can explain what
>the
>> parameter is supposed to do / how it works.
>
>After timeout seconds the file is reopened (or maybe a new file is
>opened
>depending on the strftime expand of the filename). For all and update
>dumps this just puts new messages into a new file. For table dumps it
>will
>issue a new dump. e.g.
> dump table "/tmp/rib-dump-%H%M" 300
>will create a new table dump every 5 minutes.
>
>Hope that helps.
>--
>:wq Claudio

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.