I would really like the feature to be available, but I agree that the
current implentation causes problems.

The correct behaviour is +1/-1, of course.


On 2012 Jan 13 (Fri) at 15:51:54 +0100 (+0100), Pierre-Yves Ritschard wrote:
:This would make sense to me
:
:On Sat, Jan 14, 2012 at 3:33 PM, Camiel Dobbelaar <[email protected]> wrote:
:>
:>
:> On Wed, 11 Jan 2012, Henning Brauer wrote:
:>
:>> * Camiel Dobbelaar <[email protected]> [2012-01-11 19:35]:
:>> > Maybe we should take the global demote option out then, I don't think
:>> > there is a way that relayd can tell that the demote counter was raised
:>> > by a previous relayd.  (besides picking some magic value)
:>> >
:>> > Here's the manpage description from relayd.conf:
:>> >
:>> > >      demote group
:>> > >              Enable the global carp(4) demotion option, resetting the
:carp
:>> > >              demotion counter for the specified interface group to zero
:on
:>> > >              startup and to 128 on shutdown of the daemon.  For more
:>> > >              information on interface groups, see the group keyword in
:>> > >              ifconfig(8).
:>>
:>> ugh. that is pretty damn wrong.
:>
:>
:> How about removing it then?
:>
:>
:> Index: parse.y
:> ===================================================================
:> RCS file: /cvs/src/usr.sbin/relayd/parse.y,v
:> retrieving revision 1.159
:> diff -u -p -u -r1.159 parse.y
:> --- parse.y     21 Sep 2011 18:45:40 -0000      1.159
:> +++ parse.y     13 Jan 2012 14:31:05 -0000
:> @@ -365,24 +365,6 @@ main               : INTERVAL NUMBER       {
:>                        }
:>                        conf->sc_prefork_relay = $2;
:>                }
:> -               | DEMOTE STRING         {
:> -                       if (loadcfg)
:> -                               break;
:> -                       conf->sc_flags |= F_DEMOTE;
:> -                       if (strlcpy(conf->sc_demote_group, $2,
:> -                           sizeof(conf->sc_demote_group))
:> -                           >= sizeof(conf->sc_demote_group)) {
:> -                               yyerror("yyparse: demote group name too
:long");
:> -                               free($2);
:> -                               YYERROR;
:> -                       }
:> -                       free($2);
:> -                       if (carp_demote_init(conf->sc_demote_group, 1) ==
:-1) {
:> -                               yyerror("yyparse: error initializing group
:%s",
:> -                                   conf->sc_demote_group);
:> -                               YYERROR;
:> -                       }
:> -               }
:>                | SEND TRAP             {
:>                        if (loadcfg)
:>                                break;
:> Index: relayd.c
:> ===================================================================
:> RCS file: /cvs/src/usr.sbin/relayd/relayd.c,v
:> retrieving revision 1.104
:> diff -u -p -u -r1.104 relayd.c
:> --- relayd.c    4 Sep 2011 20:26:58 -0000       1.104
:> +++ relayd.c    13 Jan 2012 14:31:05 -0000
:> @@ -361,8 +361,6 @@ parent_shutdown(struct relayd *env)
:>        proc_kill(env->sc_ps);
:>        control_cleanup(&env->sc_ps->ps_csock);
:>        carp_demote_shutdown();
:> -       if (env->sc_flags & F_DEMOTE)
:> -               carp_demote_reset(env->sc_demote_group, 128);
:>
:>        free(env->sc_ps);
:>        free(env);
:> Index: relayd.conf.5
:> ===================================================================
:> RCS file: /cvs/src/usr.sbin/relayd/relayd.conf.5,v
:> retrieving revision 1.124
:> diff -u -p -u -r1.124 relayd.conf.5
:> --- relayd.conf.5       24 Jun 2011 14:42:36 -0000      1.124
:> +++ relayd.conf.5       13 Jan 2012 14:31:05 -0000
:> @@ -115,17 +115,6 @@ table \*(Ltwebhosts\*(Gt {
:>  .Sh GLOBAL CONFIGURATION
:>  Here are the settings that can be set globally:
:>  .Bl -tag -width Ds
:> -.It Ic demote Ar group
:> -Enable the global
:> -.Xr carp 4
:> -demotion option, resetting the carp demotion counter for the
:> -specified interface group to zero on startup and to 128 on shutdown of
:> -the daemon.
:> -For more information on interface groups,
:> -see the
:> -.Ic group
:> -keyword in
:> -.Xr ifconfig 8 .
:>  .It Ic interval Ar number
:>  Set the interval in seconds at which the hosts will be checked.
:>  The default interval is 10 seconds.
:

-- 
If everybody minded their own business, the world would go
around a deal faster.
                -- The Duchess, "Through the Looking Glass"

Reply via email to