1. 18 Apr, 2013 3 commits
  2. 17 Apr, 2013 15 commits
  3. 16 Apr, 2013 17 commits
  4. 15 Apr, 2013 5 commits
    • Pravin B Shelar's avatar
      openvswitch: Use generic struct pcpu_tstats. · e0f0ecf3
      Pravin B Shelar authored
      Rather than defining ovs specific stats struct (vport_percpu_stats),
      we can use existing pcpu_tstats to achieve exactly same functionality.
      Signed-off-by: default avatarPravin B Shelar <pshelar@nicira.com>
      Signed-off-by: default avatarJesse Gross <jesse@nicira.com>
      e0f0ecf3
    • Pravin B Shelar's avatar
      openvswitch: Simplify datapath locking. · 8e4e1713
      Pravin B Shelar authored
      Currently OVS uses combination of genl and rtnl lock to protect
      datapath state.  This was done due to networking stack locking.
      But this has complicated locking and there are few lock ordering
      issues with new tunneling protocols.
      Following patch simplifies locking by introducing new ovs mutex
      and now this lock is used to protect entire ovs state.
      Signed-off-by: default avatarPravin B Shelar <pshelar@nicira.com>
      Signed-off-by: default avatarJesse Gross <jesse@nicira.com>
      8e4e1713
    • David S. Miller's avatar
      Merge branch 'sync_multiple' · 61f47132
      David S. Miller authored
      Vlad Yasevich says:
      
      ====================
      Current dev_[uc|mc]_addr_sync() API currently correctly syncs the
      addresses to the first device.  Any subsequent calls to sync will
      not do anything since the synched variable will be set.  This
      variable is used as an optimization to skip over addresses that have
      been synched.
      
      There are some devices (ex: team) that attempt to do the above.  There
      is other work in progress that needs to above to work corretly.
      
      The short series introduces dev_[uc|mc]_addr_synch_multiple() that
      allows multiple calls to sync to multiple different devices.  Original
      API is left alone and still has the limitation.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      61f47132
    • Vlad Yasevich's avatar
      team: Use new sync_multiple api to sync devices adressess. · 72b27032
      Vlad Yasevich authored
      Team drivers attempts to sync addresses to each of the port
      devices; however, the current api doesn't really perform the sync
      for any device after the first one.  Switch to using the new api
      that will actually sync the addresses to all ports.
      
      CC: Jiri Pirko <jiri@resnulli.us>
      Signed-off-by: default avatarVlad Yasevich <vyasevic@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      72b27032
    • Vlad Yasevich's avatar
      net: add dev_uc_sync_multiple() and dev_mc_sync_multiple() api · 4cd729b0
      Vlad Yasevich authored
      The current implementation of dev_uc_sync/unsync() assumes that there is
      a strict 1-to-1 relationship between the source and destination of the sync.
      In other words, once an address has been synced to a destination device, it
      will not be synced to any other device through the sync API.
      However, there are some virtual devices that aggreate a number of lower
      devices and need to sync addresses to all of them.  The current
      API falls short there.
      
      This patch introduces a new dev_uc_sync_multiple() api that can be called
      in the above circumstances and allows sync to work for every invocation.
      
      CC: Jiri Pirko <jiri@resnulli.us>
      Signed-off-by: default avatarVlad Yasevich <vyasevic@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4cd729b0