Home | History | Annotate | Line # | Download | only in net
rss_config.c revision 1.2
      1  1.2  knakahar /*	$NetBSD: rss_config.c,v 1.2 2019/11/20 08:17:01 knakahara Exp $  */
      2  1.1  knakahar 
      3  1.1  knakahar /*
      4  1.1  knakahar  * Copyright (c) 2018 Internet Initiative Japan Inc.
      5  1.1  knakahar  * All rights reserved.
      6  1.1  knakahar  *
      7  1.1  knakahar  * Redistribution and use in source and binary forms, with or without
      8  1.1  knakahar  * modification, are permitted provided that the following conditions
      9  1.1  knakahar  * are met:
     10  1.1  knakahar  * 1. Redistributions of source code must retain the above copyright
     11  1.1  knakahar  *    notice, this list of conditions and the following disclaimer.
     12  1.1  knakahar  * 2. Redistributions in binary form must reproduce the above copyright
     13  1.1  knakahar  *    notice, this list of conditions and the following disclaimer in the
     14  1.1  knakahar  *    documentation and/or other materials provided with the distribution.
     15  1.1  knakahar  *
     16  1.1  knakahar  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
     17  1.1  knakahar  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
     18  1.1  knakahar  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     19  1.1  knakahar  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
     20  1.1  knakahar  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     21  1.1  knakahar  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     22  1.1  knakahar  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     23  1.1  knakahar  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     24  1.1  knakahar  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     25  1.1  knakahar  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     26  1.1  knakahar  * POSSIBILITY OF SUCH DAMAGE.
     27  1.1  knakahar  */
     28  1.1  knakahar 
     29  1.1  knakahar #include <sys/cdefs.h>
     30  1.2  knakahar __KERNEL_RCSID(0, "$NetBSD: rss_config.c,v 1.2 2019/11/20 08:17:01 knakahara Exp $");
     31  1.1  knakahar 
     32  1.1  knakahar #include <sys/param.h>
     33  1.1  knakahar #include <sys/systm.h>
     34  1.1  knakahar #include <sys/kernel.h>
     35  1.1  knakahar 
     36  1.1  knakahar #include <net/rss_config.h>
     37  1.1  knakahar 
     38  1.1  knakahar /*
     39  1.1  knakahar  * Same as FreeBSD.
     40  1.1  knakahar  *
     41  1.1  knakahar  * This rss key is assumed for verification suite in many intel Gigabit and
     42  1.1  knakahar  * 10 Gigabit Controller specifications.
     43  1.1  knakahar  */
     44  1.1  knakahar static uint8_t rss_default_key[RSS_KEYSIZE] = {
     45  1.1  knakahar 	0x6d, 0x5a, 0x56, 0xda, 0x25, 0x5b, 0x0e, 0xc2,
     46  1.1  knakahar 	0x41, 0x67, 0x25, 0x3d, 0x43, 0xa3, 0x8f, 0xb0,
     47  1.1  knakahar 	0xd0, 0xca, 0x2b, 0xcb, 0xae, 0x7b, 0x30, 0xb4,
     48  1.1  knakahar 	0x77, 0xcb, 0x2d, 0xa3, 0x80, 0x30, 0xf2, 0x0c,
     49  1.1  knakahar 	0x6a, 0x42, 0xb7, 0x3b, 0xbe, 0xac, 0x01, 0xfa,
     50  1.1  knakahar };
     51  1.1  knakahar 
     52  1.1  knakahar #ifdef NOTYET
     53  1.1  knakahar /*
     54  1.1  knakahar  * Same as DragonFlyBSD.
     55  1.1  knakahar  *
     56  1.1  knakahar  * This rss key make rss hash value symmetric, that is, the hash value
     57  1.1  knakahar  * calculated by func("source address", "destination address") equals to
     58  1.1  knakahar  * the hash value calculated by func("destination address", "source address").
     59  1.1  knakahar  */
     60  1.1  knakahar static uint8_t rss_symmetric_key[RSS_KEYSIZE] = {
     61  1.1  knakahar 	0x6d, 0x5a, 0x6d, 0x5a, 0x6d, 0x5a, 0x6d, 0x5a,
     62  1.1  knakahar 	0x6d, 0x5a, 0x6d, 0x5a, 0x6d, 0x5a, 0x6d, 0x5a,
     63  1.1  knakahar 	0x6d, 0x5a, 0x6d, 0x5a, 0x6d, 0x5a, 0x6d, 0x5a,
     64  1.1  knakahar 	0x6d, 0x5a, 0x6d, 0x5a, 0x6d, 0x5a, 0x6d, 0x5a,
     65  1.2  knakahar 	0x6d, 0x5a, 0x6d, 0x5a, 0x6d, 0x5a, 0x6d, 0x5a,
     66  1.1  knakahar };
     67  1.1  knakahar #endif
     68  1.1  knakahar 
     69  1.1  knakahar /*
     70  1.1  knakahar  * sizeof(key) must be more than or equal to RSS_KEYSIZE.
     71  1.1  knakahar  */
     72  1.1  knakahar void
     73  1.1  knakahar rss_getkey(uint8_t *key)
     74  1.1  knakahar {
     75  1.1  knakahar 
     76  1.1  knakahar 	memcpy(key, rss_default_key, sizeof(rss_default_key));
     77  1.1  knakahar }
     78