Bonjour,

Le 02/02/2014 00:44, Jérémie Courrèges-Anglas a écrit :
> 
> Pour faire écho à Vigdis, [email protected] est aussi un bon endroit pour
> de l'aide sur une conf, là c'est un peu plus compliqué et lié à un
> problème d'implémentation donc tech@ me paraît plus approprié.
> 

Certes, d’où mon hésitation à poster ici. Dans le cas présent , on est à
la limite entre le réseau et le système, j'ai tenté ma chance.
(adresses des ML notées pour l'avenir).

>>
>> Tenté (cas 1), ce qui semblait assez naturel d'un premier abord :
> 
> C'est ce qui devrait fonctionner mais qui n'est pas géré.
> 

OK, ce n'est donc pas une erreur de conf, mais l'OS qui ne le gère pas.
Me voila rassuré, et voila une nouvelle piste à explorer. Merci pour
l'info.

> 
> Pas testé, pas même compilé, use at your own risk :
> 
> Index: net/pf.c
> ===================================================================
> RCS file: /cvs/src/sys/net/pf.c,v
> retrieving revision 1.696.2.1
> diff -u -p -r1.696.2.1 pf.c
> --- net/pf.c    16 Feb 2011 19:13:21 -0000      1.696.2.1
> +++ net/pf.c    1 Feb 2014 23:35:30 -0000
> @@ -5958,7 +5958,7 @@ pf_test6(int dir, struct ifnet *ifp, str
>         pd.sidx = (dir == PF_IN) ? 0 : 1;
>         pd.didx = (dir == PF_IN) ? 1 : 0;
>         pd.af = AF_INET6;
> -       pd.tos = 0;
> +       pd.tos = (ntohl(h->ip6_flow) & 0x0ff00000) >> 20;
>         pd.tot_len = ntohs(h->ip6_plen) + sizeof(struct ip6_hdr);
>         pd.eh = eh;
> 

En effet, ça y ressemble beaucoup :) .

Après parcours, la section associée dans le code de la 5.4 semble ne pas
le gérer non plus :

===
        pd->src = (struct pf_addr *)&h->ip6_src;
        pd->dst = (struct pf_addr *)&h->ip6_dst;
        pd->virtual_proto = pd->proto;
        pd->tot_len = ntohs(h->ip6_plen) + sizeof(struct ip6_hdr);
=>      pd->tos = 0;
        pd->ttl = h->ip6_hlim;
===

Merci messieurs pour ces pistes qui vont me permettre d'avancer ;) .

A bientôt.
Christophe.


---------------------------
Liste de diffusion du FRnOG
http://www.frnog.org/

Répondre à