1. 19 10月, 2013 2 次提交
    • A
      batman-adv: add sysfs framework for VLAN · 90f4435d
      Antonio Quartulli 提交于
      Each VLAN can now have its own set of attributes which are
      exported through a new subfolder in the sysfs tree.
      Each VLAN created on top of a soft_iface will have its own
      subfolder.
      
      The subfolder is named "vlan%VID" and it is created inside
      the "mesh" sysfs folder belonging to batman-adv.
      
      Attributes corresponding to the untagged LAN are stored in
      the root sysfs folder as before.
      
      This patch also creates all the needed macros and data
      structures to easily handle new VLAN spacific attributes.
      Signed-off-by: NAntonio Quartulli <antonio@open-mesh.com>
      Signed-off-by: NMarek Lindner <lindner_marek@yahoo.de>
      90f4435d
    • A
      batman-adv: add per VLAN interface attribute framework · 5d2c05b2
      Antonio Quartulli 提交于
      Since batman-adv is now fully VLAN-aware, a proper framework
      able to handle per-vlan-interface attributes is needed.
      
      Those attributes will affect the associated VLAN interface
      only, rather than the real soft_iface (which would result
      in every vlan interface having the same attribute
      configuration).
      
      To make the code simpler and easier to extend, attributes
      associated to the standalone soft_iface are now treated
      like belonging to yet another vlan having a special vid.
      This vid is different from the others because it is made up
      by all zeros and the VLAN_HAS_TAG bit is not set.
      Signed-off-by: NAntonio Quartulli <antonio@open-mesh.com>
      Signed-off-by: NMarek Lindner <lindner_marek@yahoo.de>
      5d2c05b2
  2. 27 3月, 2013 2 次提交
  3. 19 1月, 2013 1 次提交
  4. 23 8月, 2012 1 次提交
    • A
      batman-adv: change interface_rx to get orig node · 37135173
      Antonio Quartulli 提交于
      In order to understand  where a broadcast packet is coming from and use
      this information to detect not yet announced clients, this patch modifies the
      interface_rx() function by passing a new argument: the orig node
      corresponding to the node that originated the received packet (if known).
      This new argument if not NULL for broadcast packets only (other packets does not
      have source field).
      Signed-off-by: NAntonio Quartulli <ordex@autistici.org>
      37135173
  5. 02 7月, 2012 1 次提交
  6. 21 6月, 2012 2 次提交
  7. 11 4月, 2012 1 次提交
  8. 17 2月, 2012 1 次提交
  9. 20 6月, 2011 1 次提交
  10. 30 5月, 2011 1 次提交
  11. 05 3月, 2011 2 次提交
  12. 31 1月, 2011 1 次提交
  13. 17 12月, 2010 1 次提交
  14. 30 11月, 2010 1 次提交
    • M
      Staging: batman-adv: softif bridge loop avoidance · 42019357
      Marek Lindner 提交于
      By connecting multiple batman-adv mesh nodes to the same ethernet
      segment a loop can be created when the soft-interface is bridged
      into that ethernet segment. A simple visualization of the loop
      involving the most common case - a LAN as ethernet segment:
      
      node1  <-- LAN  -->  node2
         |                   |
       wifi  <-- mesh -->  wifi
      
      Packets from the LAN (e.g. ARP broadcasts) will circle forever from
      node1 or node2 over the mesh back into the LAN.
      
      This patch adds the functionality to detect other batman-adv nodes
      connected to the LAN and select a 'gateway' to talk to the
      non-batman-adv devices on this LAN. All traffic from and to the mesh
      will be handled by this gateway to avoid the loop. OGMs received via
      the soft-interface are interpreted as 'port announcements' to locate
      potential batman-adv nodes. The patch can also deal with vlans on
      top of batX and offers a list of LAN neighbors via debugfs.
      Signed-off-by: NMarek Lindner <lindner_marek@yahoo.de>
      [sven.eckelmann@gmx.de: Rework on top of current version]
      Signed-off-by: NSven Eckelmann <sven.eckelmann@gmx.de>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      42019357
  15. 05 9月, 2010 3 次提交
  16. 09 7月, 2010 2 次提交
  17. 23 6月, 2010 1 次提交
  18. 12 5月, 2010 1 次提交
  19. 04 3月, 2010 1 次提交
    • S
      Staging: batman-adv: receive packets directly using skbs · e7017195
      Simon Wunderlich 提交于
      This patch removes the (ugly and racy) packet receiving thread and the
      kernel socket usage. Instead, packets are received directly by registering
      the ethernet type and handling skbs instead of self-allocated buffers.
      
      Some consequences and comments:
      
       * we don't copy the payload data when forwarding/sending/receiving data
         anymore. This should boost performance.
       * packets from/to different interfaces can be (theoretically) processed
         simultaneously. Only the big originator hash lock might be in the way.
       * no more polling or sleeping/wakeup/scheduling issues when receiving
         packets
       * this might introduce new race conditions.
       * aggregation and vis code still use packet buffers and are not (yet)
         converted.
       * all spinlocks were converted to irqsave/restore versions to solve
         some lifelock issues when preempted. This might be overkill, some
         of these locks might be reverted later.
       * skb copies are only done if neccesary to avoid overhead
      
      performance differences:
      
       * we made some "benchmarks" with intel laptops.
       * bandwidth on Gigabit Ethernet increased from ~500 MBit/s to ~920 MBit/s
       * ping latency decresed from ~2ms to ~0.2 ms
      
      I did some tests on my 9 node qemu environment and could confirm that
      usual sending/receiving, forwarding, vis, batctl ping etc works.
      Signed-off-by: NSimon Wunderlich <siwu@hrz.tu-chemnitz.de>
      Acked-by: NSven Eckelmann <sven.eckelmann@gmx.de>
      Acked-by: NMarek Lindner <lindner_marek@yahoo.de>
      Acked-by: NLinus Lüssing <linus.luessing@web.de>
      Signed-off-by: NAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      e7017195
  20. 12 12月, 2009 1 次提交