#!/bin/sh IFACE="$1" EVENT="$2" # On ne traite que enp8s0, événement up [ "$IFACE" = "enp8s0" ] || exit 0 #[ "$EVENT" = "up" ] || exit 0 case "$EVENT" in up|dhcp6-change|connectivity-change) ;; *) exit 0 ;; esac # Attend quelques secondes que DHCPv6 ait posé l'IPv6 for i in $(seq 1 7200); do ULA=$(ip -6 addr show dev "$IFACE" | awk '/fec0:10:90:6::[0-9a-f]/ {print $2; exit}') if [ -n "$ULA" ]; then break fi sleep 1 done # Si on a une ULA dans le /64, s'assurer de la route on-link if [ -n "$ULA" ]; then ip -6 route show dev "$IFACE" | grep -q 'fec0:10:90:6::/64' \ || ip -6 route add fec0:10:90:6::/64 dev "$IFACE" fi exit 0