Hi! Today I was hunting down an issue where "brctl stp br0 off" always failed on mips64be with n32 userland.
It turned out that the ioctl(fd, SIOCDEVPRIVATE, &ifr) with BRCTL_SET_BRIDGE_STP_STATE returned -EOPNOTSUPP. First I thought that this is a plain ABI issue on mips as in old_dev_ioctl() the ioctl() argument was 0x1 instead of the expected BRCTL_SET_BRIDGE_STP_STATE (0x14) Further investigation showed that brctl first tries to open the sysfs file "/sys/class/net/br0/stp_state" and falls back to the legacy ioctl() upon failure. On my mips setup old_dev_ioctl() seems not to work. And the function's comment is correct: /* * Legacy ioctl's through SIOCDEVPRIVATE * This interface is deprecated because it was too difficult to * to do the translation for 32/64bit ioctl compatibility. */ Later I've realized that the sysfs path is wrong, the "bridge/" directory part is missing. On most setups nobody would notice as the fallback ioctl() works. Debian's bridge-utils package carries a patch which fixes the sysfs paths. Can we please have this patch also in upstream bridge-utils? Thanks, //richard -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html