On Saturday, January 26, 2019 11:47:20 AM CET Sven Eckelmann wrote:
Aggregated OGM is currently defined as:
according to batctl manpage:
aggregation|ag [0|1] If no parameter is given the current aggregation setting is displayed. Otherwise the parameter is used to enable or disable OGM packet aggregation.
according to sysfs ABI:
What: /sys/class/net/<mesh_iface>/mesh/aggregated_ogms Date: May 2010 Contact: Marek Lindner mareklindner@neomailbox.ch Description: Indicates whether the batman protocol messages of the mesh <mesh_iface> shall be aggregated or not.
So sysfs is only one possible backend for the batctl command. There is currently nothing which I would assume to be aggregatable beside OGMs but let us assume for now that there is now something and some way to aggregate things beside OGMs in a save and backward compatible way. Let's call this FOO - so we have BATADV_ATTR_AGGREGATION_OGM_ENABLED and BATADV_ATTR_AGGREGATION_FOO_ENABLED. Or we have BATADV_ATTR_AGGREGATION as an u32 and just use the second bit as marker for FOO (and of course the first bit as marker for OGM).
Would it now be more preferable to use BATADV_ATTR_AGGREGATION_OGM_ENABLED as u8 (boolean) or to to switch to BATADV_ATTR_AGGREGATION (u32) & assign single bits to packet types.
I'd prefer BATADV_ATTR_AGGREGATION_OGM_ENABLED (as we have your patchset now). Although it may be technically possible to aggregate other things (e.g. broadcasts), I don't think this will be implemented anytime soon, if at all. And if we do, we can just make another BATADV_ATTR_AGGREGATION_FOO_ENABLED flag.
Cheers, Simon