public inbox for b.a.t.m.a.n@lists.open-mesh.org
 help / color / mirror / Atom feed
* [B.A.T.M.A.N.] [PATCHv4 00/13] make the Translation Table component VLAN-aware
@ 2013-06-04 10:11 Antonio Quartulli
  2013-06-04 10:11 ` [B.A.T.M.A.N.] [PATCHv4 01/13] batman-adv: add the VLAN ID attribute to the TT entry Antonio Quartulli
                   ` (12 more replies)
  0 siblings, 13 replies; 21+ messages in thread
From: Antonio Quartulli @ 2013-06-04 10:11 UTC (permalink / raw)
  To: b.a.t.m.a.n; +Cc: Antonio Quartulli

Hello people,

with this patchset I want to introduce a new feature in the TT code which makes
it VLAN aware. This means that now clients belonging to different VLANs created
on top of a generic bat0 are treated differently.

One of the major reason for bringing this change is to allow BLA to selectively
ignore TT entries belonging to a given VLAN.
To allow the latter behaviour, the CRC logic has been divided on a per-VLAN
basis. This means that the local TT table is logically divided in sub-tables
containing all the entries belonging to the same VLAN and the CRC is then
computed on each of them.
As a natural consequence, each node now stores a set of local CRCs instead of
one only. Due to this also the way the TVLV-TT object is built and announced has
been changed.


This patchset gives the possibility to:
- enable AP isolation only on a selected VLAN rather than on all the traffic
- make DAT work correctly when the same IP subnet is used on different VLANs
- make BLA refuse global entries from certain VLANs
- leave the possibility to future developers to implement more VLAN specific
  attributes


Somebody asked me to send the AP Isolation improvement in a separate patchset,
but I did not do that because it is only one patch and it is not worth.



This patchset is based on top of master plus these two patches:
"batman-adv: implement batadv_tt_entries"
"batman-adv: make batadv_tt_save_orig_buffer() generic"



Changes from v3:
- split the per-VLAN CRC patch in two:
	- generalise the VLAN structures to be used by the "untagged" lan
	- introduce per-VLAN CRC logic
- initialize sysfs earlier to allow the VLAN code to create the subfolders
  during soft_iface init
- changed path for ap_isolation in sysfs-class-net-mesh

Changes from v2:
- CRC logic divided on a VLAN-basis
- BLA can now select the TT entries to ignore based on the VLAN

Changes from v1:
- improved kernel doc
- created batadv_get_vid() function
- improved documentation for CRC computation
- added compat code for kfree_rcu (struct batadv_priv_vlan)



Cheers,

Antonio Quartulli (13):
  batman-adv: add the VLAN ID attribute to the TT entry
  batman-adv: use vid when computing local and global TT CRC
  batman-adv: print the VID together with the TT entries
  batman-adv: make the GW module correctly talk to the new VLAN-TT
  batman-adv: make the Distributed ARP Table vlan aware
  batman-adv: add per VLAN interface attribute framework
  batman-adv: initialise sysfs folder in softif_create()
  batman-adv: treat bat0 like yet another VLAN
  batman-adv: add sysfs framework for VLAN
  batman-adv: make the AP isolation attribute VLAN specific
  batman-adv: make the backbone gw check VLAN specific
  batman-adv: make the TT global purge routine VLAN specific
  batman-adv: make the TT CRC logic VLAN specific

 bridge_loop_avoidance.c |   58 ++-
 bridge_loop_avoidance.h |   10 +-
 compat.c                |   18 +
 compat.h                |   25 ++
 distributed-arp-table.c |  125 ++++--
 gateway_client.c        |   18 +-
 hard-interface.c        |    5 +-
 main.c                  |   72 +++-
 main.h                  |   13 +-
 originator.c            |  100 ++++-
 originator.h            |    7 +
 packet.h                |   32 +-
 routing.c               |   28 +-
 send.c                  |    8 +-
 send.h                  |   16 +-
 soft-interface.c        |  174 +++++++-
 sysfs-class-net-mesh    |    2 +-
 sysfs.c                 |  148 ++++++-
 sysfs.h                 |   10 +
 translation-table.c     | 1070 +++++++++++++++++++++++++++++++++++------------
 translation-table.h     |   23 +-
 types.h                 |   68 ++-
 22 files changed, 1613 insertions(+), 417 deletions(-)

-- 
1.8.1.5


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2013-06-09 14:20 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-04 10:11 [B.A.T.M.A.N.] [PATCHv4 00/13] make the Translation Table component VLAN-aware Antonio Quartulli
2013-06-04 10:11 ` [B.A.T.M.A.N.] [PATCHv4 01/13] batman-adv: add the VLAN ID attribute to the TT entry Antonio Quartulli
2013-06-09 13:50   ` Marek Lindner
2013-06-04 10:11 ` [B.A.T.M.A.N.] [PATCHv4 02/13] batman-adv: use vid when computing local and global TT CRC Antonio Quartulli
2013-06-09 13:55   ` Marek Lindner
2013-06-04 10:11 ` [B.A.T.M.A.N.] [PATCHv4 03/13] batman-adv: print the VID together with the TT entries Antonio Quartulli
2013-06-09 13:58   ` Marek Lindner
2013-06-04 10:11 ` [B.A.T.M.A.N.] [PATCHv4 04/13] batman-adv: make the GW module correctly talk to the new VLAN-TT Antonio Quartulli
2013-06-09 14:02   ` Marek Lindner
2013-06-04 10:11 ` [B.A.T.M.A.N.] [PATCHv4 05/13] batman-adv: make the Distributed ARP Table vlan aware Antonio Quartulli
2013-06-09 14:11   ` Marek Lindner
2013-06-04 10:11 ` [B.A.T.M.A.N.] [PATCHv4 06/13] batman-adv: add per VLAN interface attribute framework Antonio Quartulli
2013-06-04 10:11 ` [B.A.T.M.A.N.] [PATCHv4 07/13] batman-adv: initialise sysfs folder in softif_create() Antonio Quartulli
2013-06-04 10:11 ` [B.A.T.M.A.N.] [PATCHv4 08/13] batman-adv: treat bat0 like yet another VLAN Antonio Quartulli
2013-06-09 14:13   ` Marek Lindner
2013-06-09 14:20     ` Antonio Quartulli
2013-06-04 10:11 ` [B.A.T.M.A.N.] [PATCHv4 09/13] batman-adv: add sysfs framework for VLAN Antonio Quartulli
2013-06-04 10:11 ` [B.A.T.M.A.N.] [PATCHv4 10/13] batman-adv: make the AP isolation attribute VLAN specific Antonio Quartulli
2013-06-04 10:11 ` [B.A.T.M.A.N.] [PATCHv4 11/13] batman-adv: make the backbone gw check " Antonio Quartulli
2013-06-04 10:11 ` [B.A.T.M.A.N.] [PATCHv4 12/13] batman-adv: make the TT global purge routine " Antonio Quartulli
2013-06-04 10:11 ` [B.A.T.M.A.N.] [PATCHv4 13/13] batman-adv: make the TT CRC logic " Antonio Quartulli

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox