1. 30 Aug, 2013 35 commits
  2. 29 Aug, 2013 5 commits
    • Daniel Borkmann's avatar
      net: packet: document available fanout policies · 7ec06da8
      Daniel Borkmann authored
      Update documentation to add fanout policies that are available.
      Signed-off-by: default avatarDaniel Borkmann <dborkman@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7ec06da8
    • Daniel Borkmann's avatar
      net: packet: use reciprocal_divide in fanout_demux_hash · f55d112e
      Daniel Borkmann authored
      Instead of hard-coding reciprocal_divide function, use the inline
      function from reciprocal_div.h.
      Signed-off-by: default avatarDaniel Borkmann <dborkman@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f55d112e
    • Daniel Borkmann's avatar
      net: packet: add randomized fanout scheduler · 5df0ddfb
      Daniel Borkmann authored
      We currently allow for different fanout scheduling policies in pf_packet
      such as scheduling by skb's rxhash, round-robin, by cpu, and rollover.
      Also allow for a random, equidistributed selection of the socket from the
      fanout process group.
      Signed-off-by: default avatarDaniel Borkmann <dborkman@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5df0ddfb
    • Sergei Shtylyov's avatar
      sh_eth: no need to call ether_setup() · 48859488
      Sergei Shtylyov authored
      There's no need to call ether_setup() in the driver since prior alloc_etherdev()
      call already arranges for it.
      Suggested-by: default avatarDenis Kirjanov <kda@linux-powerpc.org>
      Signed-off-by: default avatarSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      48859488
    • David S. Miller's avatar
      Merge branch 'bond_vlan' · d7ef9b04
      David S. Miller authored
      Veaceslav Falico says:
      
      ====================
      bonding: remove vlan special handling
      
      v1: Per Jiri's advice, remove the exported netdev_upper struct to keep it
          inside dev.c only, and instead implement a macro to iterate over the
          list and return only net_device *.
      v2: Jiri noted that we need to see every upper device, but not only the
          first level. Modify the netdev_upper logic to include a list of lower
          devices and for both upper/lower lists every device would see both its
          first-level devices and every other devices that is lower/upper of it.
          Also, convert some annoying spamming warnings to pr_debug in
          bond_arp_send_all.
      v3: move renaming part completely to patch 1 (did I forget to git add
          before commiting?) and address Jiri's input about comments/style of
          patch 2.
      v4: as Vlad found spotted, bond_arp_send_all() won't work in a config where
          we have a device with ip on top of our upper vlan. It fails to send
          packets because we don't tag the packet, while the device on top of
          vlan will emit tagged packets through this vlan. Fix this by first
          searching for all upper vlans, and for each vlan - for the devs on top
          of it. If we find the dev - then tag the packet with the underling's
          vlan_id, otherwise just search the old way - for all devices on top of
          bonding. Also, move the version changes under "---" so they won't get
          into the commit message, if/when applied.
      
      The aim of this patchset is to remove bondings' own vlan handling as much
      as possible and replace it with the netdev upper device functionality.
      
      The upper device functionality is extended to include also lower devices
      and to have, for each device, a full view of every lower and upper device,
      but not only the first-level ones. This might permit in the future to
      avoid, for any grouping/teaming/upper/lower devices, to maintain its own
      lists of slaves/vlans/etc.
      
      This is achieved by adding a helper function to upper dev list handling -
      netdev_upper_get_next_dev(dev, iter), which returns the next device after
      the list_head **iter, and sets *iter to the next list_head *. This patchset
      also adds netdev_for_each_upper_dev(dev, upper, iter), which iterates
      through the whole dev->upper_dev_list, setting upper to the net_device.
      The only special treatment of vlans remains in rlb code.
      
      This patchset solves several issues with bonding, simplifies it overall,
      RCUify further and exports upper list functions for any other users which
      might also want to get rid of its own vlan_lists or slaves.
      
      I'm testing it continuously currently, no issues found, will update on
      anything.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d7ef9b04