Reread what I wrote...
There's still the false impression that disabling IPv6 on the router,
IPv6 will mysteriously disappear from all the devices on the network...
When in reality, if you're not careful, it can still pass through the router... reaching all devices...
If you really wanted to be sure, ignoring other switches and various APs that could still put the peripherals in direct contact:
# this block IPv6 regardless if disable-ipv6 is on or off, but only inside the bridges, not on other interfaces
/interface bridge filter
add action=drop chain=input mac-protocol=ipv6
add action=drop chain=forward mac-protocol=ipv6
add action=drop chain=output mac-protocol=ipv6
# obviously work only if disable-ipv6=no
/ipv6 firewall raw
add action=drop chain=prerouting
add action=drop chain=output
# obviously work only if disable-ipv6=no
/ipv6 firewall filter
add chain=input action=drop
add chain=forward action=drop
add chain=output action=drop
# obviously settings valid only if disable-ipv6=no
/ipv6 settings
set accept-redirects=no accept-router-advertisements=no disable-ipv6=no forward=no
# obviously setting valid only if disable-ipv6=no
/ipv6 nd
set [ find default=yes ] disabled=yes
For some devices with one or more switch chips that support the function (MUST be supported from the model used):
# FOR not-ACL type switches
# this block IPv6 regardless if disable-ipv6 is on or off
/interface ethernet switch port
:foreach item in=[find] do={
:local pt [get $item name ]
:local sw [get $item switch]
/interface ethernet switch rule add mac-protocol=ipv6 new-dst-ports="" ports=$pt switch=$sw
}
# FOR ACL type switches
# this block IPv6 regardless if disable-ipv6 is on or off
/interface ethernet switch acl
add action=drop mac-protocol=ipv6 table=ingress
add action=drop mac-protocol=ipv6 table=egress
new-dst-ports="" simply drop