1. 18 2月, 2016 36 次提交
  2. 17 2月, 2016 4 次提交
    • J
      i40e: trivial: drop duplicate definition · f3699b3c
      Jesse Brandeburg 提交于
      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: NJesse Brandeburg <jesse.brandeburg@intel.com>
      Tested-by: NAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      f3699b3c
    • J
      net: ixgbe: abort with cls u32 divisor groups greater than 1 · db956ae8
      John Fastabend 提交于
      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: NJohn Fastabend <john.r.fastabend@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      db956ae8
    • J
      net: ixgbe: add support for tc_u32 offload · b82b17d9
      John Fastabend 提交于
      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: NJohn Fastabend <john.r.fastabend@intel.com>
      Acked-by: NJamal Hadi Salim <jhs@mojatatu.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b82b17d9
    • J
      net: ixgbe: add minimal parser details for ixgbe · 9d35cf06
      John Fastabend 提交于
      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: NJohn Fastabend <john.r.fastabend@intel.com>
      Acked-by: NJamal Hadi Salim <jhs@mojatatu.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9d35cf06