tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: altq on a gif tunnel



Hi,

On Wednesday  7 Nov 2018, at 18:29, Kengo NAKAHARA wrote:
> Could you try the following patch?
> ====================
> diff --git a/sys/net/if_gif.c b/sys/net/if_gif.c index
> fa9e63d59fd..169f2013014 100644
> --- a/sys/net/if_gif.c
> +++ b/sys/net/if_gif.c @@ -487,7 +487,10 @@ gif_output(struct ifnet
> *ifp, struct mbuf *m, const struct sockaddr *dst,
>         m->m_pkthdr.csum_flags = 0;
>         m->m_pkthdr.csum_data = 0;
>
> -       error = gif_transmit_direct(var, m);
> +       gif_putref_variant(var, &psref);
> +       var = NULL;
> +       error = if_transmit_lock(ifp, m);
> +
>  end:
>         if (var != NULL)
>                 gif_putref_variant(var, &psref);
> ====================

This does not seem to work: with this patch, no traffic at all is
flowing through the interface.

But looking at if_transmit_lock(), it seems that in the ALTQ case, it
calls if_transmit() while it calls otherwise ifp->if_transmit(). I've
not idea if this is expected?


Home | Main Index | Thread Index | Old Index