Skip to content
  1. Feb 18, 2016
  2. Feb 17, 2016
    • Jesse Brandeburg's avatar
      i40e: trivial: drop duplicate definition · f3699b3c
      Jesse Brandeburg authored
      
      
      The probe routine already had a u32 val declared, no need
      to do it again.  Found by W=2 compile.
      
      Change-ID: Id7b65f6d0ef6bb71067d0557f5be0202b6d8741e
      Signed-off-by: default avatarJesse Brandeburg <jesse.brandeburg@intel.com>
      Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      f3699b3c
    • David S. Miller's avatar
      Merge branch '40GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue · f5515885
      David S. Miller authored
      
      
      Jeff Kirsher says:
      
      ====================
      40GbE Intel Wired LAN Driver Updates 2016-02-16
      
      This series contains updates to i40e/i40evf only.
      
      Shannon adds flags to MAC allocation requests to signify that the MAC VLAN
      filters should come from the shared resource pool.  Added a new "set switch
      config" admin queue command and the new Cisco VXLAN-GPE cloud tunnel type
      for the admin queue commands.  Added more detail to the NVM update debug
      message in order to see the full ethtool request data.  Also added a few
      more bits of netdev data into the debugfs output for dump VSI.
      
      Pandi fixes the width of two datatypes which were being declared a different
      size from what they are assigned.
      
      Anjali fixes an issue where we were not doing write-back on interrupt
      throttle for legacy case in x722.
      
      Mitch adds a counter for ARQ overflows since sometimes an ever-growing
      number indicates that something bad is happening.  Also added 20G speed for
      Tx bandwidth calculations.
      
      Jesse refactors the DCB function based on a community suggestion to change
      the multi-level if statement into a switch statement.  Cleans up VF device
      IDs in the PF, since it does not need to know them.
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f5515885
    • David S. Miller's avatar
      Merge branch 'tc-hw-offload' · 86f44778
      David S. Miller authored
      
      
      John Fastabend says:
      
      ====================
      tc offload for cls_u32 on ixgbe
      
      This extends the setup_tc framework so it can support more than just
      the mqprio offload and push other classifiers and qdiscs into the
      hardware. The series here targets the u32 classifier and ixgbe
      driver. I worked out the u32 classifier because it is protocol
      oblivious and aligns with multiple hardware devices I have access
      to. I did an initial implementation on ixgbe because (a) I have one
      in my box (b) its a stable driver and (c) it is relatively simple
      compared to the other devices I have here but still has enough
      flexibility to exercise the features of cls_u32.
      
      I intentionally limited the scope of this series to the basic
      feature set. Specifically this uses a 'big hammer' feature bit
      to do the offload or not. If the bit is set you get offloaded rules
      if it is not then rules will not be offloaded. If we can agree on
      this patch series there are some more patches on my queue we can
      talk about to make the offload decision per rule using flags similar
      to how we do l2 mac updates. Additionally the error strategy can
      be improved to be hard aborting, log and continue, etc. I think
      these are nice to have improvements but shouldn't block this series.
      
      Also by adding get_parse_graph and set_parse_graph attributes as
      in my previous flow_api work we can build programmable devices
      and programmatically learn when rules can or can not be loaded
      into the hardware. Again future work.
      
      ... v3 includes a couple style fixups suggested by Jiri and a
      quick fix to ixgbe to check features flag and not dev_features
      flag the latter being always set.
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      86f44778
    • John Fastabend's avatar
      net: ixgbe: abort with cls u32 divisor groups greater than 1 · db956ae8
      John Fastabend authored
      
      
      This patch ensures ixgbe will not try to offload hash tables from the
      u32 module. The device class does not currently support this so until
      it is enabled just abort on these tables.
      
      Interestingly the more flexible your hardware is the less code you
      need to implement to guard against these cases.
      
      Signed-off-by: default avatarJohn Fastabend <john.r.fastabend@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      db956ae8
    • John Fastabend's avatar
      net: ixgbe: add support for tc_u32 offload · b82b17d9
      John Fastabend authored
      
      
      This adds initial support for offloading the u32 tc classifier. This
      initial implementation only implements a few base matches and actions
      to illustrate the use of the infrastructure patches.
      
      However it is an interesting subset because it handles the u32 next
      hdr logic to correctly map tcp packets from ip headers using the ihl
      and protocol fields. After this is accepted we can extend the match
      and action fields easily by updating the model header file.
      
      Also only the drop action is supported initially.
      
      Here is a short test script,
      
       #tc qdisc add dev eth4 ingress
       #tc filter add dev eth4 parent ffff: protocol ip \
      	u32 ht 800: order 1 \
      	match ip dst 15.0.0.1/32 match ip src 15.0.0.2/32 action drop
      
      <-- hardware has dst/src ip match rule installed -->
      
       #tc filter del dev eth4 parent ffff: prio 49152
       #tc filter add dev eth4 parent ffff: protocol ip prio 99 \
      	handle 1: u32 divisor 1
       #tc filter add dev eth4 protocol ip parent ffff: prio 99 \
      	u32 ht 800: order 1 link 1: \
      	offset at 0 mask 0f00 shift 6 plus 0 eat match ip protocol 6 ff
       #tc filter add dev eth4 parent ffff: protocol ip \
      	u32 ht 1: order 3 match tcp src 23 ffff action drop
      
      <-- hardware has tcp src port rule installed -->
      
       #tc qdisc del dev eth4 parent ffff:
      
      <-- hardware cleaned up -->
      
      Signed-off-by: default avatarJohn Fastabend <john.r.fastabend@intel.com>
      Acked-by: default avatarJamal Hadi Salim <jhs@mojatatu.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b82b17d9
    • John Fastabend's avatar
      net: ixgbe: add minimal parser details for ixgbe · 9d35cf06
      John Fastabend authored
      
      
      This adds an ixgbe data structure that is used to determine what
      headers:fields can be matched and in what order they are supported.
      
      For hardware devices this can be a bit tricky because typically
      only pre-programmed (firmware, ucode, rtl) parse graphs will be
      supported and we don't yet have an interface to change these from
      the OS. So its sort of a you get whatever your friendly vendor
      provides affair at the moment.
      
      In the future we can add the get routines and set routines to
      update this data structure. One interesting thing to note here
      is the data structure here identifies ethernet, ip, and tcp
      fields without having to hardcode them as enumerations or use
      other identifiers.
      
      Signed-off-by: default avatarJohn Fastabend <john.r.fastabend@intel.com>
      Acked-by: default avatarJamal Hadi Salim <jhs@mojatatu.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9d35cf06
    • John Fastabend's avatar
      net: tc: helper functions to query action types · 3b01cf56
      John Fastabend authored
      
      
      This is a helper function drivers can use to learn if the
      action type is a drop action.
      
      Signed-off-by: default avatarJohn Fastabend <john.r.fastabend@intel.com>
      Acked-by: default avatarJiri Pirko <jiri@mellanox.com>
      Acked-by: default avatarJamal Hadi Salim <jhs@mojatatu.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3b01cf56