En IPv6 je fais avec de mangle rules. J'avais besoin seulement pour le premier packet de DHCPv4 car il part depuis un raw socket (sans adresse IP).
Pour IPv6 j'utilise ça :
/ipv6 firewall mangle
add action=jump chain=output comment="icmpv6 to LLA/multicast - Jump to output6-prio6_dscp48" dst-address=fe00::/7 jump-target=output6-prio6_dscp48 out-interface=vlan-wan \
protocol=icmpv6
add action=jump chain=output comment="DHCPv6 - Jump to output6-prio6_dscp48" dst-port=547 jump-target=output6-prio6_dscp48 out-interface=vlan-wan protocol=udp src-port=546
add action=set-priority chain=output6-prio6_dscp48 comment="Set PCP to 6" new-priority=6
add action=change-dscp chain=output6-prio6_dscp48 comment="Set DSCP to 48 (CS6)" new-dscp=48
add action=accept chain=output6-prio6_dscp48 comment="Default accept (output6-prio6_dscp48)"