vnic_rss.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /*
  2. * Copyright 2008 Cisco Systems, Inc. All rights reserved.
  3. * Copyright 2007 Nuova Systems, Inc. All rights reserved.
  4. *
  5. * This program is free software; you may redistribute it and/or modify
  6. * it under the terms of the GNU General Public License as published by
  7. * the Free Software Foundation; version 2 of the License.
  8. *
  9. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  10. * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  11. * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  12. * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
  13. * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
  14. * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  15. * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  16. * SOFTWARE.
  17. */
  18. #ifndef _VNIC_RSS_H_
  19. #define _VNIC_RSS_H_
  20. /* RSS key array */
  21. union vnic_rss_key {
  22. struct {
  23. u8 b[10];
  24. u8 b_pad[6];
  25. } key[4];
  26. u64 raw[8];
  27. };
  28. /* RSS cpu array */
  29. union vnic_rss_cpu {
  30. struct {
  31. u8 b[4] ;
  32. u8 b_pad[4];
  33. } cpu[32];
  34. u64 raw[32];
  35. };
  36. void vnic_set_rss_key(union vnic_rss_key *rss_key, u8 *key);
  37. void vnic_set_rss_cpu(union vnic_rss_cpu *rss_cpu, u8 *cpu);
  38. void vnic_get_rss_key(union vnic_rss_key *rss_key, u8 *key);
  39. void vnic_get_rss_cpu(union vnic_rss_cpu *rss_cpu, u8 *cpu);
  40. #endif /* _VNIC_RSS_H_ */