Sorry, don't know how I missed that - too much going back and forth
between the "textual" man pages for ssh and gen_tcp, perhaps... And
indeed gen_tcp:listen_option() is also listed for daemon_option(). So
there is no problem whatsoever with setting DSCP at the start of a
connection.
Is there also some "clean" way within ssh to address Christofer's and
Dmytro's original question (below), which I managed to obscure - i.e.
setting DSCP for an already established connection? (Which is needed
for an implementation of RFC 8639.)
--Per
> Let's try:
>
> Eshell V10.6.4 (abort with ^G)
> 1> ssh:start().
> ok
> 2> dbg:start().
> {ok,<0.92.0>}
> 3> dbg:tracer().
> {ok,<0.92.0>}
> 4> dbg:p(all,c).
> {ok,[{matched,nonode@nohost,46}]}
> 5> dbg:tp(gen_tcp,connect,x).
> {ok,[{matched,nonode@nohost,2},{saved,x}]}
> 6>
> 6> ssh:connect(loopback, 22, [{nodelay,true}, {tos,14}, {raw,1,2,<<3>>}]).
> (<0.80.0>) call gen_tcp:connect({127,0,0,1},22,[{active,false},{raw,1,2,<<3>>},{tos,14},{nodelay,true}],infinity)
> (<0.80.0>) returned from gen_tcp:connect/4 -> {ok,#Port<0.6>}
> {ok,<0.99.0>}
> 7>
>
> The gen_tcp options in 6> are really passed down to gen_tcp:connect.
>
> /Hans
>
> --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> *Från:* erlang-questions <
erlang-quest...@erlang.org> för Per Hedeland <
p...@hedeland.org>
> *Skickat:* den 17 februari 2020 20:44
> *Till:*
erlang-q...@erlang.org <
erlang-q...@erlang.org>
> *Ämne:* Re: Setting Dscp (tos, QoS) for ssh sockets