On Sun, Jul 20, 2025 at 01:47:16PM -0000, Stuart Henderson wrote:
> welcome to relayd ;)

thanks!

I gave look at the source code and finally understand when I was lost:
the manual says:

Tables
           Table definitions describe a list of hosts, in a similar fashion to
           pf(4) tables.  They are used for relay, redirection, and router
           target selection with the described options and health checking on
           the host they contain.

As I don't know pf, my brain focus on what I already know ("a list of hosts")
but tables are more than tags:

table <bb>      {prometheus}
table <default> {prometheus}

those are not the same list even if they are equal. because in the
relay:

relay katzele {
        listen on vio0 port 8200
        protocol katzele
        forward to <bb> port 8200
        forward to <default> port 80
}

the line

        forward to <bb> port 8200

means "if something was passed to bb, forward with those options".
and in the protocol:

http protocol katzele {
        pass request quick \
                header "Host" value "something.codelib.re" \
                forward to <bb>
        pass forward to <default>
}

"quick" is like "return" in a programming langage: we're done searching
for what to do with the thing. so what we wrote here is:

        if ( header "Host" value "something.codelib.re" )
                return forward to <bb>
        )
        return forward to <default>

thanks everyone for helping!

regards
Marc

Attachment: signature.asc
Description: PGP signature

Reply via email to