1
Remplacer la LiveBox par un routeur / Remplacement de la Livebox par un routeur Openwrt
« Dernier message par fatpat le Aujourd'hui à 10:01:07 »merci pour ton retour, en te lisant, ça m'a fait creuser un peu plus et j'ai opté pour l'utilisation de tc à la place de nftables pour set les priorités.
de la sorte, je set en prio6 uniquement ce qu'il faut et dans la conf egress-qa-map de l'interface on a qqc de logique. Ca supprime la règle nftables par defaut en priorité 1 qui est ensuite remappé en COS0. De plus ça permet d'être explicite sur la règle ARP.
mon fichier /etc/config/tc-cos6.sh
comme ça plus de règle nftables spécifiques et on simplifie la conf de l'interface:
de la sorte, je set en prio6 uniquement ce qu'il faut et dans la conf egress-qa-map de l'interface on a qqc de logique. Ca supprime la règle nftables par defaut en priorité 1 qui est ensuite remappé en COS0. De plus ça permet d'être explicite sur la règle ARP.
mon fichier /etc/config/tc-cos6.sh
Code: [Sélectionner]
#!/bin/sh
DEVICE="${1}"
# Configure a PRIO qdisc on a VLAN interface.
tc qdisc replace dev "${DEVICE}" root handle 1: prio
tc filter del dev "${DEVICE}"
# ARP
tc filter add dev "${DEVICE}" parent 1: prio 1 protocol 0x806 u32 \
match u32 0 0 \
action skbedit priority 0:6
# DHCPv4
tc filter add dev "${DEVICE}" parent 1: prio 2 u32 \
match ip ihl 5 0xf \
match u16 0x0000 0x1fff at 6 \
match ip protocol 17 0xff \
match ip sport 68 0xffff \
match ip dport 67 0xffff \
action skbedit priority 0:6 pipe \
action pedit munge ip tos set 0xc0 retain 0xfc pipe \
action csum ip4h
# DHCPv6
tc filter add dev "${DEVICE}" parent 1: prio 3 protocol ipv6 u32 \
match ip6 dst fe00::/7 \
match ip6 protocol 17 0xff \
match ip6 sport 546 0xffff \
match ip6 dport 547 0xffff \
action skbedit priority 0:6 pipe \
action pedit ex munge ip6 traffic_class set 0xc0 retain 0xfc
# ICMPv6 Router Solicitation (133) to multicast (ff02::/16)
tc filter add dev "${DEVICE}" parent 1: prio 4 protocol ipv6 u32 \
match ip6 dst ff02::/16 \
match ip6 protocol 58 0xff \
match ip6 icmp_type 133 0xff \
action skbedit priority 0:6 pipe \
action pedit ex munge ip6 traffic_class set 0xc0 retain 0xfc
# ICMPv6 Neighbor Solicitation (135) to orange dhcp server (fe80::ba0:bab/128)
tc filter add dev "${DEVICE}" parent 1: prio 5 protocol ipv6 u32 \
match ip6 dst fe80::ba0:bab/128 \
match ip6 protocol 58 0xff \
match ip6 icmp_type 135 0xff \
action skbedit priority 0:6 pipe \
action pedit ex munge ip6 traffic_class set 0xc0 retain 0xfc
# ICMPv6 Neighbor Advertisement (136) to orange dhcp server (fe80::ba0:bab/128)
tc filter add dev "${DEVICE}" parent 1: prio 6 protocol ipv6 u32 \
match ip6 dst fe80::ba0:bab/128 \
match ip6 protocol 58 0xff \
match ip6 icmp_type 136 0xff \
action skbedit priority 0:6 pipe \
action pedit ex munge ip6 traffic_class set 0xc0 retain 0xfc
comme ça plus de règle nftables spécifiques et on simplifie la conf de l'interface:
Code: [Sélectionner]
config device
option name 'eth0.832'
option type '8021q'
option ifname 'eth0'
option vid '832'
list egress_qos_mapping '0:0'
list egress_qos_mapping '6:6'
option macaddr 'xx:xx:xx:xx:xx:xx'