I was wondering why interactive openssh was odd over ipv6.

Now I need not know any longer. From openssh/packet.c:

static void
packet_set_tos(int tos)
{
#if defined(IP_TOS) && !defined(IP_TOS_IS_BROKEN)
        if (!packet_connection_is_on_socket() ||
            !packet_connection_is_ipv4())
                return;
        debug3("%s: set IP_TOS 0x%02x", __func__, tos);
        if (setsockopt(active_state->connection_in, IPPROTO_IP, IP_TOS, &tos,
            sizeof(tos)) < 0)
                error("setsockopt IP_TOS %d: %.100s:",
                    tos, strerror(errno));
#endif
}


-- void
packet_set_interactive(int interactive, int qos_interactive, int qos_bulk)
{
        if (active_state->set_interactive_called)
                return;
        active_state->set_interactive_called = 1;

        /* Record that we are in interactive mode. */
        active_state->interactive_mode = interactive;

        /* Only set socket options if using a socket.  */
        if (!packet_connection_is_on_socket())
                return;
        set_nodelay(active_state->connection_in);
        packet_set_tos(interactive ? qos_interactive : qos_bulk);
}


Dave Täht
SKYPE: davetaht
US Tel: 1-239-829-5608
http://the-edge.blogspot.com