The mesh interface can optimize the flooding of multicast packets based on the content of the global translation tables. To disable this behavior and use the broadcast-like flooding of the packets, forceflood has to be enabled. The BATADV_CMD_SET_MESH/BATADV_CMD_GET_MESH commands allow to set/get the configuration of this feature using the BATADV_ATTR_MULTICAST_FORCEFLOOD_ENABLED attribute. Setting the u8 to zero will disable this feature (allowing multicast optimizations) and setting it to something else is enabling this feature (forcing simple flooding).
Showing the changes to include/uapi/linux (1 of 2 files). Show all
Unified · Split
| @@ -455,6 +455,15 @@ enum batadv_nl_attrs { · 454 unmodified lines | ||
| 455 | 455 | */ |
| 456 | 456 | BATADV_ATTR_LOG_LEVEL, |
| 457 | 457 | |
| 458 | + /** | |
| 459 | + * @BATADV_ATTR_MULTICAST_FORCEFLOOD_ENABLED: whether multicast | |
| 460 | + * optimizations should be replaced by simple broadcast-like flooding | |
| 461 | + * of multicast packets. If set to non-zero then all nodes in the mesh | |
| 462 | + * are going to use classic flooding for any multicast packet with no | |
| 463 | + * optimizations. | |
| 464 | + */ | |
| 465 | + BATADV_ATTR_MULTICAST_FORCEFLOOD_ENABLED, | |
| 466 | + | |
| 458 | 467 | /* add attributes above here, update the policy in netlink.c */ |
| 459 | 468 | |
| 460 | 469 | /** |