Hello folks,
after version 4 I decided to split the bug TT-VLAN batch in several patchsets to make them easier to get digested by the maintainers.
This is the fourth iteration of the first patchset.
Difference from v8: - remove bat_priv->ap_isolation and converts code using it to use vlan->ap_isolation
Difference from v7: - fixed refcounting for mesh_obj (must be increased when used by the untagged LAN) - added kernel doc for batadv_softif_destroy_vlan() - added kernel doc for batadv_vlan_kobj_to_batpriv() - moved changes to sysfs routine from patch 3/3 to 2/3. In this way patch 2 is the only one manipulating the sysfs framework
Differences from v6: - added patch introducing the per-VLAN ap_isolation attribute. It made no sense to have the new framework without a user. This patch introduces it. - removed the "novlan" sysfs folder. To avoid confusion and keep backward compatibility in a sane way, attributes corresponding to the untagged LAN are located in the root sysfs mesh folder (as it was done before). To implement this, some changes to the sysfs routines were needed (with respect to v6). - the array used to build the sysfs subfolder name now has a proper size instead of a too generic "256".
Differences from v5 are: - added "untagged VLAN" removal routine. In the previous code the "untagged VLAN" was added but never removed.
- use the correct vid argument when invoking batadv_tt_local_remove(). One invocation to the mentioned function was getting a vid that was not ORed with the HAS_TAG flag. However, such invocation has been enclosed into the new batadv_softif_destroy_vlan() function introduced to account the previous point.
- bat_priv->softif_vlan_list is now an hlist instead of of a list.
Thanks to Marek for his feedback.
Antonio Quartulli (3): batman-adv: add per VLAN interface attribute framework batman-adv: add sysfs framework for VLAN batman-adv: make the AP isolation attribute VLAN specific
compat.c | 9 +++ compat.h | 24 +++++++ hard-interface.c | 2 + main.c | 5 +- soft-interface.c | 176 ++++++++++++++++++++++++++++++++++++++++++++++++++- soft-interface.h | 4 ++ sysfs-class-net-mesh | 5 +- sysfs.c | 175 +++++++++++++++++++++++++++++++++++++++++++++++++- sysfs.h | 10 +++ translation-table.c | 27 ++++++-- translation-table.h | 2 +- types.h | 25 +++++++- 12 files changed, 445 insertions(+), 19 deletions(-)