The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/dev/liquidio/lio_rss.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*
    2  *   BSD LICENSE
    3  *
    4  *   Copyright(c) 2017 Cavium, Inc.. All rights reserved.
    5  *   All rights reserved.
    6  *
    7  *   Redistribution and use in source and binary forms, with or without
    8  *   modification, are permitted provided that the following conditions
    9  *   are met:
   10  *
   11  *     * Redistributions of source code must retain the above copyright
   12  *       notice, this list of conditions and the following disclaimer.
   13  *     * Redistributions in binary form must reproduce the above copyright
   14  *       notice, this list of conditions and the following disclaimer in
   15  *       the documentation and/or other materials provided with the
   16  *       distribution.
   17  *     * Neither the name of Cavium, Inc. nor the names of its
   18  *       contributors may be used to endorse or promote products derived
   19  *       from this software without specific prior written permission.
   20  *
   21  *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
   22  *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
   23  *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
   24  *   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
   25  *   OWNER(S) OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   26  *   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   27  *   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
   28  *   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
   29  *   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   30  *   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
   31  *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   32  */
   33 /*$FreeBSD$*/
   34 
   35 #ifndef __LIO_RSS_H__
   36 #define __LIO_RSS_H__
   37 
   38 #ifdef RSS
   39 
   40 #include <net/rss_config.h>
   41 #include <netinet/in_rss.h>
   42 
   43 #define LIO_RSS_TABLE_SZ        128
   44 #define LIO_RSS_KEY_SZ          40
   45 
   46 struct lio_rss_params {
   47 #define LIO_RSS_PARAM_SIZE      16
   48         struct param {
   49 #if BYTE_ORDER == LITTLE_ENDIAN
   50                 uint64_t        flags:16;
   51                 uint64_t        hashinfo:32;
   52                 uint64_t        itablesize:16;
   53 
   54                 uint64_t        hashkeysize:16;
   55                 uint64_t        reserved:48;
   56 #elif BYTE_ORDER == BIG_ENDIAN
   57                 uint64_t        itablesize:16;
   58                 uint64_t        hashinfo:32;
   59                 uint64_t        flags:16;
   60 
   61                 uint64_t        reserved:48;
   62                 uint64_t        hashkeysize:16;
   63 #else
   64 #error Undefined BYTE_ORDER
   65 #endif
   66         }       param;
   67 
   68         uint8_t itable[LIO_RSS_TABLE_SZ];
   69         uint8_t key[LIO_RSS_KEY_SZ];
   70 
   71 };
   72 
   73 struct lio_rss_params_set {
   74         uint8_t         key[LIO_RSS_KEY_SZ];
   75         uint8_t         fw_itable[LIO_RSS_TABLE_SZ];
   76         uint64_t        hashinfo;
   77 
   78 };
   79 
   80 #endif  /* RSS */
   81 
   82 #define LIO_RSS_HASH_IPV4               0x100
   83 #define LIO_RSS_HASH_TCP_IPV4           0x200
   84 #define LIO_RSS_HASH_IPV6               0x400
   85 #define LIO_RSS_HASH_IPV6_EX            0x800
   86 #define LIO_RSS_HASH_TCP_IPV6           0x1000
   87 #define LIO_RSS_HASH_TCP_IPV6_EX        0x2000
   88 
   89 #endif  /* __LIO_RSS_H__ */

Cache object: b1cc726905e5ebe5ebe35ab5c572202d


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.