Author: jhb
Date: Fri Aug 19 17:49:49 2016
New Revision: 304479
URL: https://svnweb.freebsd.org/changeset/base/304479

Log:
  Add structures for VF-specific adapter parameters.
  
  While here, mark which parameters are PF-specific and which are
  VF-specific.
  
  Sponsored by: Chelsio Communications
  Differential Revision:        https://reviews.freebsd.org/D7508

Modified:
  head/sys/dev/cxgbe/common/common.h

Modified: head/sys/dev/cxgbe/common/common.h
==============================================================================
--- head/sys/dev/cxgbe/common/common.h  Fri Aug 19 17:49:35 2016        
(r304478)
+++ head/sys/dev/cxgbe/common/common.h  Fri Aug 19 17:49:49 2016        
(r304479)
@@ -280,12 +280,52 @@ struct chip_params {
        u16 mps_tcam_size;
 };
 
+/* VF-only parameters. */
+
+/*
+ * Global Receive Side Scaling (RSS) parameters in host-native format.
+ */
+struct rss_params {
+       unsigned int mode;              /* RSS mode */
+       union {
+           struct {
+               u_int synmapen:1;       /* SYN Map Enable */
+               u_int syn4tupenipv6:1;  /* enable hashing 4-tuple IPv6 SYNs */
+               u_int syn2tupenipv6:1;  /* enable hashing 2-tuple IPv6 SYNs */
+               u_int syn4tupenipv4:1;  /* enable hashing 4-tuple IPv4 SYNs */
+               u_int syn2tupenipv4:1;  /* enable hashing 2-tuple IPv4 SYNs */
+               u_int ofdmapen:1;       /* Offload Map Enable */
+               u_int tnlmapen:1;       /* Tunnel Map Enable */
+               u_int tnlalllookup:1;   /* Tunnel All Lookup */
+               u_int hashtoeplitz:1;   /* use Toeplitz hash */
+           } basicvirtual;
+       } u;
+};
+
+/*
+ * Maximum resources provisioned for a PCI VF.
+ */
+struct vf_resources {
+       unsigned int nvi;               /* N virtual interfaces */
+       unsigned int neq;               /* N egress Qs */
+       unsigned int nethctrl;          /* N egress ETH or CTRL Qs */
+       unsigned int niqflint;          /* N ingress Qs/w free list(s) & intr */
+       unsigned int niq;               /* N ingress Qs */
+       unsigned int tc;                /* PCI-E traffic class */
+       unsigned int pmask;             /* port access rights mask */
+       unsigned int nexactf;           /* N exact MPS filters */
+       unsigned int r_caps;            /* read capabilities */
+       unsigned int wx_caps;           /* write/execute capabilities */
+};
+
 struct adapter_params {
        struct sge_params sge;
-       struct tp_params  tp;
+       struct tp_params  tp;           /* PF-only */
        struct vpd_params vpd;
        struct pci_params pci;
-       struct devlog_params devlog;
+       struct devlog_params devlog;    /* PF-only */
+       struct rss_params rss;          /* VF-only */
+       struct vf_resources vfres;      /* VF-only */
 
        unsigned int sf_size;             /* serial flash size in bytes */
        unsigned int sf_nsec;             /* # of flash sectors */
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to