1. 20 8月, 2016 29 次提交
  2. 19 8月, 2016 11 次提交
    • D
      Merge branch 'cxgb-crypto' · 363dc396
      David S. Miller 提交于
      Hariprasad Shenai says:
      
      ====================
      crypto/chcr: Add support for Chelsio Crypto Driver
      
      This patch series adds support for Chelsio Crypto driver.
      
      The patch series has been created against net-next tree and includes
      patches for Chelsio Low Level Driver(cxgb4) and adds the new crypto
      Upper Layer Driver(chcr) under a new directory drivers/crypto/chelsio.
      
      Patch 1/4 ("cxgb4: Add support for dynamic allocation of resources for
      ULD") adds support for dynamic allocation of resources for ULD. The
      objective of this patch is to provide generic interface for upper layer
      drivers to allocate and initialize hardware resources.
      
      The present cxgb4 (network driver) apart from network functionality, also
      initializes hardware and thus acts as lower layer driver for other drivers
      to use hardware resources. Thus it acts as both a Low level driver for
      Upper layer driver's like iw_cxgb4, cxgb4i and cxgb4it and a Network Driver.
      
      Right now the allocation of resources for Upper layer driver's is done
      statically. Patch 1/4 adds a new infrastructure for dynamic allocation of
      resources. cxgb4 will read the hardware capability through firmware and
      allocate/free the queues for Upper layer drivers when the respective
      driver's are loaded and freed when unloaded.
      
      Patch 2/3, 3/4 and 4/4 adds support for Chelsio Crypto Driver. The Crypto
      driver will act as another ULD on top of cxgb4.
      
      In this patch series, the ULD API framework is used only by crypto and other
      ULD's will make use of it in the next series.
      
      This patch series is only for review, if this looks ok we will test it
      thoroughly and send request for merge.
      
      We have included all the maintainers of respective drivers. Kindly
      review the changes and provide feedback on the same.
      
      V3: - Removed crypto queues from cxgb4 and added support for dynamic
            allocation of resources for Upper layer drivers
          - Dependency fix in Kconfig.
      
      V2: - Some residual code cleanup
          - Adds pr_fmt with chcr (KBUILD_MODNAME) added
          - Changes var name to accomodate them <80 columns in the chcr_register_alg
          - Support for printing the crypto queue stats
          - Fix compile warnings reported by kbuild bot for certain architectures
          - Dependency fix in Kconfig.
          - If the request has the MAY_BACKLOG bit set and hardware queue is
            full the request is queued up else -EBUSY is returned to throttle
            the user. The queue when executed and processed returns -EINPROGRESS
            in completion.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      363dc396
    • H
      crypto: Added Chelsio Menu to the Kconfig file · 02038fd6
      Hariprasad Shenai 提交于
      Adds the config entry for the Chelsio Crypto Driver, Makefile changes
      for the same.
      Signed-off-by: NAtul Gupta <atul.gupta@chelsio.com>
      Signed-off-by: NHariprasad Shenai <hariprasad@chelsio.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      02038fd6
    • H
      chcr: Support for Chelsio's Crypto Hardware · 324429d7
      Hariprasad Shenai 提交于
      The Chelsio's Crypto Hardware can perform the following operations:
      SHA1, SHA224, SHA256, SHA384 and SHA512, HMAC(SHA1), HMAC(SHA224),
      HMAC(SHA256), HMAC(SHA384), HAMC(SHA512), AES-128-CBC, AES-192-CBC,
      AES-256-CBC, AES-128-XTS, AES-256-XTS
      
      This patch implements the driver for above mentioned features. This
      driver is an Upper Layer Driver which is attached to Chelsio's LLD
      (cxgb4) and uses the queue allocated by the LLD for sending the crypto
      requests to the Hardware and receiving the responses from it.
      
      The crypto operations can be performed by Chelsio's hardware from the
      userspace applications and/or from within the kernel space using the
      kernel's crypto API.
      
      The above mentioned crypto features have been tested using kernel's
      tests mentioned in testmgr.h. They also have been tested from user
      space using libkcapi and Openssl.
      Signed-off-by: NAtul Gupta <atul.gupta@chelsio.com>
      Signed-off-by: NHariprasad Shenai <hariprasad@chelsio.com>
      Acked-by: NHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      324429d7
    • H
    • H
      cxgb4: Add support for dynamic allocation of resources for ULD · 94cdb8bb
      Hariprasad Shenai 提交于
      Add a new commmon infrastructure to allocate reosurces dynamically to
      Upper layer driver's(ULD) when they register with cxgb4 driver and free
      them during unregistering. All the queues and the interrupts for
      them will be allocated during ULD probe only and freed during remove.
      Signed-off-by: NAtul Gupta <atul.gupta@chelsio.com>
      Signed-off-by: NHariprasad Shenai <hariprasad@chelsio.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      94cdb8bb
    • L
      atm: fore200e: Do not drop const qualifier · b65b24d4
      LABBE Corentin 提交于
      The data member of structure firmware is const and this constness is
      dropped by some cast.
      This patch add some const for keeping the const information.
      Signed-off-by: NLABBE Corentin <clabbe.montjoie@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b65b24d4
    • D
      Merge branch 'bpf-next' · f1c89c03
      David S. Miller 提交于
      Daniel Borkmann says:
      
      ====================
      BPF helper improvements and cleanups
      
      This set adds various improvements to BPF helpers, a cleanup to use
      skb_pkt_type_ok() helper, addition of bpf_skb_change_tail(), a follow
      up for event output helper and removing ifdefs around the cgroupv2
      helper bits. For details please see individual patches.
      
      The set is based against net-next tree, but requires a merge of net
      into net-next first.
      
      Thanks a lot!
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f1c89c03
    • D
      bpf: get rid of cgroup helper related ifdefs · 54fd9c2d
      Daniel Borkmann 提交于
      As recently discussed during the task_under_cgroup_hierarchy() addition,
      we should get rid of the ifdefs surrounding the bpf_skb_under_cgroup()
      helper. If related functionality is not built-in, the helper cannot be
      used anyway, which is also in line with what we do for all other helpers.
      Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net>
      Acked-by: NAlexei Starovoitov <ast@kernel.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      54fd9c2d
    • D
      bpf: enable event output helper also for xdp types · 4de16969
      Daniel Borkmann 提交于
      Follow-up to 555c8a86 ("bpf: avoid stack copy and use skb ctx for
      event output") for also adding the event output helper for XDP typed
      programs. The event output helper has been very useful in particular for
      debugging or event notification purposes, since it's much faster and
      flexible than regular trace printk due to programmatically being able to
      attach meta data. Same flags structure applies as with tc BPF programs.
      Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net>
      Acked-by: NAlexei Starovoitov <ast@kernel.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4de16969
    • D
      bpf: add bpf_skb_change_tail helper · 5293efe6
      Daniel Borkmann 提交于
      This work adds a bpf_skb_change_tail() helper for tc BPF programs. The
      basic idea is to expand or shrink the skb in a controlled manner. The
      eBPF program can then rewrite the rest via helpers like bpf_skb_store_bytes(),
      bpf_lX_csum_replace() and others rather than passing a raw buffer for
      writing here.
      
      bpf_skb_change_tail() is really a slow path helper and intended for
      replies with f.e. ICMP control messages. Concept is similar to other
      helpers like bpf_skb_change_proto() helper to keep the helper without
      protocol specifics and let the BPF program mangle the remaining parts.
      A flags field has been added and is reserved for now should we extend
      the helper in future.
      Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net>
      Acked-by: NAlexei Starovoitov <ast@kernel.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5293efe6
    • D
      bpf: use skb_pkt_type_ok helper in bpf_skb_change_type · 45c7fffa
      Daniel Borkmann 提交于
      Since we have a skb_pkt_type_ok() helper for checking the type before
      mangling, make use of it instead of open coding. Follow-up to commit
      8b10cab6 ("net: simplify and make pkt_type_ok() available for other
      users") that came in after d2485c42 ("bpf: add bpf_skb_change_type
      helper").
      Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net>
      Acked-by: NAlexei Starovoitov <ast@kernel.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      45c7fffa