1315333Serj/******************************************************************************
2315333Serj
3315333Serj  Copyright (c) 2001-2017, Intel Corporation
4315333Serj  All rights reserved.
5315333Serj
6315333Serj  Redistribution and use in source and binary forms, with or without
7315333Serj  modification, are permitted provided that the following conditions are met:
8315333Serj
9315333Serj   1. Redistributions of source code must retain the above copyright notice,
10315333Serj      this list of conditions and the following disclaimer.
11315333Serj
12315333Serj   2. Redistributions in binary form must reproduce the above copyright
13315333Serj      notice, this list of conditions and the following disclaimer in the
14315333Serj      documentation and/or other materials provided with the distribution.
15315333Serj
16315333Serj   3. Neither the name of the Intel Corporation nor the names of its
17315333Serj      contributors may be used to endorse or promote products derived from
18315333Serj      this software without specific prior written permission.
19315333Serj
20315333Serj  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21315333Serj  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22315333Serj  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23315333Serj  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
24315333Serj  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25315333Serj  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26315333Serj  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27315333Serj  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28315333Serj  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29315333Serj  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30315333Serj  POSSIBILITY OF SUCH DAMAGE.
31315333Serj
32315333Serj******************************************************************************/
33315333Serj/*$FreeBSD: stable/10/sys/dev/ixgbe/ixgbe_rss.h 315333 2017-03-15 21:20:17Z erj $*/
34315333Serj
35315333Serj#ifndef _IXGBE_RSS_H_
36315333Serj#define _IXGBE_RSS_H_
37315333Serj
38315333Serj#ifdef RSS
39315333Serj
40315333Serj#include <net/rss_config.h>
41315333Serj#include <netinet/in_rss.h>
42315333Serj
43315333Serj#else
44315333Serj
45315333Serj#define RSS_HASHTYPE_RSS_IPV4          (1 << 1)
46315333Serj#define RSS_HASHTYPE_RSS_TCP_IPV4      (1 << 2)
47315333Serj#define RSS_HASHTYPE_RSS_IPV6          (1 << 3)
48315333Serj#define RSS_HASHTYPE_RSS_TCP_IPV6      (1 << 4)
49315333Serj#define RSS_HASHTYPE_RSS_IPV6_EX       (1 << 5)
50315333Serj#define RSS_HASHTYPE_RSS_TCP_IPV6_EX   (1 << 6)
51315333Serj#define RSS_HASHTYPE_RSS_UDP_IPV4      (1 << 7)
52315333Serj#define RSS_HASHTYPE_RSS_UDP_IPV4_EX   (1 << 8)
53315333Serj#define RSS_HASHTYPE_RSS_UDP_IPV6      (1 << 9)
54315333Serj#define RSS_HASHTYPE_RSS_UDP_IPV6_EX   (1 << 10)
55315333Serj
56315333Serj#define rss_getcpu(_a) 0
57315333Serj#define rss_getnumbuckets() 1
58315333Serj#define rss_getkey(_a)
59315333Serj#define rss_get_indirection_to_bucket(_a) 0
60315333Serj#define rss_gethashconfig() 0x7E
61315333Serj#define rss_hash2bucket(_a,_b,_c) -1
62315333Serj
63315333Serj#endif
64315333Serj#endif
65