Re: ixl(4): add ID for X710 10G SFP+

2021-03-15 Thread Mark Kettenis
> Date: Mon, 15 Mar 2021 19:25:56 +0100
> From: Patrick Wildt 
> 
> Am Mon, Mar 15, 2021 at 08:59:05AM +0100 schrieb Jan Klemkow:
> > On Mon, Mar 15, 2021 at 01:35:28AM -0600, Theo de Raadt wrote:
> > > My comments are about the "text name", which goes into every kernel
> > > anyone compiles.
> > > 
> > > It should be as short as possible.
> > 
> > Sorry, I missed that point.
> > 
> > > But the reason why 10G is incorrect is because surely the port can
> > > accept 1G, or a variety of other SFPs...  It is simply too exact,
> > > and wasting kernel bytes.
> > 
> > OK?
> > 
> > Thanks,
> > Jan
> > 
> > Index: if_ixl.c
> > ===
> > RCS file: /cvs/src/sys/dev/pci/if_ixl.c,v
> > retrieving revision 1.73
> > diff -u -p -r1.73 if_ixl.c
> > --- if_ixl.c26 Feb 2021 10:36:45 -  1.73
> > +++ if_ixl.c15 Mar 2021 07:42:48 -
> > @@ -1611,6 +1611,7 @@ struct ixl_device {
> >  
> >  static const struct ixl_device ixl_devices[] = {
> > { _710, PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_X710_10G_SFP },
> > +   { _710, PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_X710_10G_SFP_2 },
> 
> Looks like so far we have ordered this list in the same order as it is
> in pcidevs (for X710).  If we want to keep that order, _2 should be
> the first entry.  If we don't want to keep that order, then this diff
> should be fine.  jsg@, dlg@: any preference or do you not care?

I don't think it makes sense to make _2 the first entry.

> > { _710, PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_XL710_40G_BP },
> > { _710, PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_X710_10G_BP, },
> > { _710, PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_XL710_QSFP_1 },
> > Index: pcidevs
> > ===
> > RCS file: /cvs/src/sys/dev/pci/pcidevs,v
> > retrieving revision 1.1960
> > diff -u -p -r1.1960 pcidevs
> > --- pcidevs 14 Mar 2021 01:09:29 -  1.1960
> > +++ pcidevs 15 Mar 2021 07:42:19 -
> > @@ -3702,6 +3702,7 @@ product INTEL ICH8_IGP_AMT0x104a  ICH8 I
> >  product INTEL ICH8_IGP_C   0x104b  ICH8 IGP C
> >  product INTEL ICH8_IFE 0x104c  ICH8 IFE
> >  product INTEL ICH8_IGP_M   0x104d  ICH8 IGP M
> > +product INTEL X710_10G_SFP_2   0x104e  X710 SFP+
> >  product INTEL PRO_100_VE_4 0x1050  PRO/100 VE
> >  product INTEL PRO_100_VE_5 0x1051  PRO/100 VE
> >  product INTEL PRO_100_VM_6 0x1052  PRO/100 VM
> > Index: pcidevs.h
> > ===
> > RCS file: /cvs/src/sys/dev/pci/pcidevs.h,v
> > retrieving revision 1.1954
> > diff -u -p -r1.1954 pcidevs.h
> > --- pcidevs.h   14 Mar 2021 01:10:35 -  1.1954
> > +++ pcidevs.h   15 Mar 2021 07:42:21 -
> > @@ -3707,6 +3707,7 @@
> >  #definePCI_PRODUCT_INTEL_ICH8_IGP_C0x104b  /* ICH8 IGP C */
> >  #definePCI_PRODUCT_INTEL_ICH8_IFE  0x104c  /* ICH8 IFE */
> >  #definePCI_PRODUCT_INTEL_ICH8_IGP_M0x104d  /* ICH8 IGP M */
> > +#definePCI_PRODUCT_INTEL_X710_10G_SFP_20x104e  /* X710 
> > SFP+ */
> >  #definePCI_PRODUCT_INTEL_PRO_100_VE_4  0x1050  /* PRO/100 VE */
> >  #definePCI_PRODUCT_INTEL_PRO_100_VE_5  0x1051  /* PRO/100 VE */
> >  #definePCI_PRODUCT_INTEL_PRO_100_VM_6  0x1052  /* PRO/100 VM */
> > Index: pcidevs_data.h
> > ===
> > RCS file: /cvs/src/sys/dev/pci/pcidevs_data.h,v
> > retrieving revision 1.1949
> > diff -u -p -r1.1949 pcidevs_data.h
> > --- pcidevs_data.h  14 Mar 2021 01:10:35 -  1.1949
> > +++ pcidevs_data.h  15 Mar 2021 07:42:21 -
> > @@ -12252,6 +12252,10 @@ static const struct pci_known_product pc
> > "ICH8 IGP M",
> > },
> > {
> > +   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_X710_10G_SFP_2,
> > +   "X710 SFP+",
> > +   },
> > +   {
> > PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_PRO_100_VE_4,
> > "PRO/100 VE",
> > },
> > 
> 
> 



Re: ixl(4): add ID for X710 10G SFP+

2021-03-15 Thread Patrick Wildt
Am Mon, Mar 15, 2021 at 08:59:05AM +0100 schrieb Jan Klemkow:
> On Mon, Mar 15, 2021 at 01:35:28AM -0600, Theo de Raadt wrote:
> > My comments are about the "text name", which goes into every kernel
> > anyone compiles.
> > 
> > It should be as short as possible.
> 
> Sorry, I missed that point.
> 
> > But the reason why 10G is incorrect is because surely the port can
> > accept 1G, or a variety of other SFPs...  It is simply too exact,
> > and wasting kernel bytes.
> 
> OK?
> 
> Thanks,
> Jan
> 
> Index: if_ixl.c
> ===
> RCS file: /cvs/src/sys/dev/pci/if_ixl.c,v
> retrieving revision 1.73
> diff -u -p -r1.73 if_ixl.c
> --- if_ixl.c  26 Feb 2021 10:36:45 -  1.73
> +++ if_ixl.c  15 Mar 2021 07:42:48 -
> @@ -1611,6 +1611,7 @@ struct ixl_device {
>  
>  static const struct ixl_device ixl_devices[] = {
>   { _710, PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_X710_10G_SFP },
> + { _710, PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_X710_10G_SFP_2 },

Looks like so far we have ordered this list in the same order as it is
in pcidevs (for X710).  If we want to keep that order, _2 should be
the first entry.  If we don't want to keep that order, then this diff
should be fine.  jsg@, dlg@: any preference or do you not care?

Patrick

>   { _710, PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_XL710_40G_BP },
>   { _710, PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_X710_10G_BP, },
>   { _710, PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_XL710_QSFP_1 },
> Index: pcidevs
> ===
> RCS file: /cvs/src/sys/dev/pci/pcidevs,v
> retrieving revision 1.1960
> diff -u -p -r1.1960 pcidevs
> --- pcidevs   14 Mar 2021 01:09:29 -  1.1960
> +++ pcidevs   15 Mar 2021 07:42:19 -
> @@ -3702,6 +3702,7 @@ product INTEL ICH8_IGP_AMT  0x104a  ICH8 I
>  product INTEL ICH8_IGP_C 0x104b  ICH8 IGP C
>  product INTEL ICH8_IFE   0x104c  ICH8 IFE
>  product INTEL ICH8_IGP_M 0x104d  ICH8 IGP M
> +product INTEL X710_10G_SFP_2 0x104e  X710 SFP+
>  product INTEL PRO_100_VE_4   0x1050  PRO/100 VE
>  product INTEL PRO_100_VE_5   0x1051  PRO/100 VE
>  product INTEL PRO_100_VM_6   0x1052  PRO/100 VM
> Index: pcidevs.h
> ===
> RCS file: /cvs/src/sys/dev/pci/pcidevs.h,v
> retrieving revision 1.1954
> diff -u -p -r1.1954 pcidevs.h
> --- pcidevs.h 14 Mar 2021 01:10:35 -  1.1954
> +++ pcidevs.h 15 Mar 2021 07:42:21 -
> @@ -3707,6 +3707,7 @@
>  #define  PCI_PRODUCT_INTEL_ICH8_IGP_C0x104b  /* ICH8 IGP C */
>  #define  PCI_PRODUCT_INTEL_ICH8_IFE  0x104c  /* ICH8 IFE */
>  #define  PCI_PRODUCT_INTEL_ICH8_IGP_M0x104d  /* ICH8 IGP M */
> +#define  PCI_PRODUCT_INTEL_X710_10G_SFP_20x104e  /* X710 
> SFP+ */
>  #define  PCI_PRODUCT_INTEL_PRO_100_VE_4  0x1050  /* PRO/100 VE */
>  #define  PCI_PRODUCT_INTEL_PRO_100_VE_5  0x1051  /* PRO/100 VE */
>  #define  PCI_PRODUCT_INTEL_PRO_100_VM_6  0x1052  /* PRO/100 VM */
> Index: pcidevs_data.h
> ===
> RCS file: /cvs/src/sys/dev/pci/pcidevs_data.h,v
> retrieving revision 1.1949
> diff -u -p -r1.1949 pcidevs_data.h
> --- pcidevs_data.h14 Mar 2021 01:10:35 -  1.1949
> +++ pcidevs_data.h15 Mar 2021 07:42:21 -
> @@ -12252,6 +12252,10 @@ static const struct pci_known_product pc
>   "ICH8 IGP M",
>   },
>   {
> + PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_X710_10G_SFP_2,
> + "X710 SFP+",
> + },
> + {
>   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_PRO_100_VE_4,
>   "PRO/100 VE",
>   },
> 



Re: ixl(4): add ID for X710 10G SFP+

2021-03-15 Thread Jan Klemkow
On Mon, Mar 15, 2021 at 01:35:28AM -0600, Theo de Raadt wrote:
> My comments are about the "text name", which goes into every kernel
> anyone compiles.
> 
> It should be as short as possible.

Sorry, I missed that point.

> But the reason why 10G is incorrect is because surely the port can
> accept 1G, or a variety of other SFPs...  It is simply too exact,
> and wasting kernel bytes.

OK?

Thanks,
Jan

Index: if_ixl.c
===
RCS file: /cvs/src/sys/dev/pci/if_ixl.c,v
retrieving revision 1.73
diff -u -p -r1.73 if_ixl.c
--- if_ixl.c26 Feb 2021 10:36:45 -  1.73
+++ if_ixl.c15 Mar 2021 07:42:48 -
@@ -1611,6 +1611,7 @@ struct ixl_device {
 
 static const struct ixl_device ixl_devices[] = {
{ _710, PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_X710_10G_SFP },
+   { _710, PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_X710_10G_SFP_2 },
{ _710, PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_XL710_40G_BP },
{ _710, PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_X710_10G_BP, },
{ _710, PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_XL710_QSFP_1 },
Index: pcidevs
===
RCS file: /cvs/src/sys/dev/pci/pcidevs,v
retrieving revision 1.1960
diff -u -p -r1.1960 pcidevs
--- pcidevs 14 Mar 2021 01:09:29 -  1.1960
+++ pcidevs 15 Mar 2021 07:42:19 -
@@ -3702,6 +3702,7 @@ product INTEL ICH8_IGP_AMT0x104a  ICH8 I
 product INTEL ICH8_IGP_C   0x104b  ICH8 IGP C
 product INTEL ICH8_IFE 0x104c  ICH8 IFE
 product INTEL ICH8_IGP_M   0x104d  ICH8 IGP M
+product INTEL X710_10G_SFP_2   0x104e  X710 SFP+
 product INTEL PRO_100_VE_4 0x1050  PRO/100 VE
 product INTEL PRO_100_VE_5 0x1051  PRO/100 VE
 product INTEL PRO_100_VM_6 0x1052  PRO/100 VM
Index: pcidevs.h
===
RCS file: /cvs/src/sys/dev/pci/pcidevs.h,v
retrieving revision 1.1954
diff -u -p -r1.1954 pcidevs.h
--- pcidevs.h   14 Mar 2021 01:10:35 -  1.1954
+++ pcidevs.h   15 Mar 2021 07:42:21 -
@@ -3707,6 +3707,7 @@
 #definePCI_PRODUCT_INTEL_ICH8_IGP_C0x104b  /* ICH8 IGP C */
 #definePCI_PRODUCT_INTEL_ICH8_IFE  0x104c  /* ICH8 IFE */
 #definePCI_PRODUCT_INTEL_ICH8_IGP_M0x104d  /* ICH8 IGP M */
+#definePCI_PRODUCT_INTEL_X710_10G_SFP_20x104e  /* X710 
SFP+ */
 #definePCI_PRODUCT_INTEL_PRO_100_VE_4  0x1050  /* PRO/100 VE */
 #definePCI_PRODUCT_INTEL_PRO_100_VE_5  0x1051  /* PRO/100 VE */
 #definePCI_PRODUCT_INTEL_PRO_100_VM_6  0x1052  /* PRO/100 VM */
Index: pcidevs_data.h
===
RCS file: /cvs/src/sys/dev/pci/pcidevs_data.h,v
retrieving revision 1.1949
diff -u -p -r1.1949 pcidevs_data.h
--- pcidevs_data.h  14 Mar 2021 01:10:35 -  1.1949
+++ pcidevs_data.h  15 Mar 2021 07:42:21 -
@@ -12252,6 +12252,10 @@ static const struct pci_known_product pc
"ICH8 IGP M",
},
{
+   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_X710_10G_SFP_2,
+   "X710 SFP+",
+   },
+   {
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_PRO_100_VE_4,
"PRO/100 VE",
},



Re: ixl(4): add ID for X710 10G SFP+

2021-03-15 Thread Jan Klemkow
On Sun, Mar 14, 2021 at 12:39:42PM -0600, Theo de Raadt wrote:
> > +product INTEL X710_10G_SFP_2   0x104e  X710 10G SFP+
> 
> You only need:
> 
> X710 SFP+
> 
> Adding 10G is incorrect.

OK?

Thanks,
Jan

Index: if_ixl.c
===
RCS file: /cvs/src/sys/dev/pci/if_ixl.c,v
retrieving revision 1.73
diff -u -p -r1.73 if_ixl.c
--- if_ixl.c26 Feb 2021 10:36:45 -  1.73
+++ if_ixl.c15 Mar 2021 07:17:14 -
@@ -1611,6 +1611,7 @@ struct ixl_device {
 
 static const struct ixl_device ixl_devices[] = {
{ _710, PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_X710_10G_SFP },
+   { _710, PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_X710_SFP },
{ _710, PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_XL710_40G_BP },
{ _710, PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_X710_10G_BP, },
{ _710, PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_XL710_QSFP_1 },
Index: pcidevs
===
RCS file: /cvs/src/sys/dev/pci/pcidevs,v
retrieving revision 1.1960
diff -u -p -r1.1960 pcidevs
--- pcidevs 14 Mar 2021 01:09:29 -  1.1960
+++ pcidevs 15 Mar 2021 07:15:22 -
@@ -3702,6 +3702,7 @@ product INTEL ICH8_IGP_AMT0x104a  ICH8 I
 product INTEL ICH8_IGP_C   0x104b  ICH8 IGP C
 product INTEL ICH8_IFE 0x104c  ICH8 IFE
 product INTEL ICH8_IGP_M   0x104d  ICH8 IGP M
+product INTEL X710_SFP 0x104e  X710 SFP+
 product INTEL PRO_100_VE_4 0x1050  PRO/100 VE
 product INTEL PRO_100_VE_5 0x1051  PRO/100 VE
 product INTEL PRO_100_VM_6 0x1052  PRO/100 VM
Index: pcidevs.h
===
RCS file: /cvs/src/sys/dev/pci/pcidevs.h,v
retrieving revision 1.1954
diff -u -p -r1.1954 pcidevs.h
--- pcidevs.h   14 Mar 2021 01:10:35 -  1.1954
+++ pcidevs.h   15 Mar 2021 07:15:24 -
@@ -3707,6 +3707,7 @@
 #definePCI_PRODUCT_INTEL_ICH8_IGP_C0x104b  /* ICH8 IGP C */
 #definePCI_PRODUCT_INTEL_ICH8_IFE  0x104c  /* ICH8 IFE */
 #definePCI_PRODUCT_INTEL_ICH8_IGP_M0x104d  /* ICH8 IGP M */
+#definePCI_PRODUCT_INTEL_X710_SFP  0x104e  /* X710 SFP+ */
 #definePCI_PRODUCT_INTEL_PRO_100_VE_4  0x1050  /* PRO/100 VE */
 #definePCI_PRODUCT_INTEL_PRO_100_VE_5  0x1051  /* PRO/100 VE */
 #definePCI_PRODUCT_INTEL_PRO_100_VM_6  0x1052  /* PRO/100 VM */
Index: pcidevs_data.h
===
RCS file: /cvs/src/sys/dev/pci/pcidevs_data.h,v
retrieving revision 1.1949
diff -u -p -r1.1949 pcidevs_data.h
--- pcidevs_data.h  14 Mar 2021 01:10:35 -  1.1949
+++ pcidevs_data.h  15 Mar 2021 07:15:24 -
@@ -12252,6 +12252,10 @@ static const struct pci_known_product pc
"ICH8 IGP M",
},
{
+   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_X710_SFP,
+   "X710 SFP+",
+   },
+   {
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_PRO_100_VE_4,
"PRO/100 VE",
},



ixl(4): add ID for X710 10G SFP+

2021-03-14 Thread Jan Klemkow
Hi,

This diff attaches the Intel x710 10G SFP+ NIC in ixl(4).

ixl2 at pci11 dev 0 function 2 "Intel X710 10G SFP+" rev 0x02: port 1, FW 
8.1.63299 API 1.12, msix, 8 queues, address 3c:ec:ef:1f:c3:bc
ixl3 at pci11 dev 0 function 3 "Intel X710 10G SFP+" rev 0x02: port 3, FW 
8.1.63299 API 1.12, msix, 8 queues, address 3c:ec:ef:1f:c3:bd

ixl2: flags=8802 mtu 1500
lladdr 3c:ec:ef:1f:c3:bc
index 3 priority 0 llprio 3
media: Ethernet autoselect
status: no carrier
ixl3: flags=8802 mtu 1500
lladdr 3c:ec:ef:1f:c3:bd
index 4 priority 0 llprio 3
media: Ethernet autoselect
status: no carrier

OK?

bye,
Jan

Index: pci/if_ixl.c
===
RCS file: /cvs/src/sys/dev/pci/if_ixl.c,v
retrieving revision 1.73
diff -u -p -r1.73 if_ixl.c
--- pci/if_ixl.c26 Feb 2021 10:36:45 -  1.73
+++ pci/if_ixl.c13 Mar 2021 23:56:13 -
@@ -1611,6 +1611,7 @@ struct ixl_device {
 
 static const struct ixl_device ixl_devices[] = {
{ _710, PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_X710_10G_SFP },
+   { _710, PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_X710_10G_SFP_2 },
{ _710, PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_XL710_40G_BP },
{ _710, PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_X710_10G_BP, },
{ _710, PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_XL710_QSFP_1 },
Index: pci/pcidevs
===
RCS file: /cvs/src/sys/dev/pci/pcidevs,v
retrieving revision 1.1960
diff -u -p -r1.1960 pcidevs
--- pci/pcidevs 14 Mar 2021 01:09:29 -  1.1960
+++ pci/pcidevs 14 Mar 2021 11:33:27 -
@@ -3702,6 +3702,7 @@ product INTEL ICH8_IGP_AMT0x104a  ICH8 I
 product INTEL ICH8_IGP_C   0x104b  ICH8 IGP C
 product INTEL ICH8_IFE 0x104c  ICH8 IFE
 product INTEL ICH8_IGP_M   0x104d  ICH8 IGP M
+product INTEL X710_10G_SFP_2   0x104e  X710 10G SFP+
 product INTEL PRO_100_VE_4 0x1050  PRO/100 VE
 product INTEL PRO_100_VE_5 0x1051  PRO/100 VE
 product INTEL PRO_100_VM_6 0x1052  PRO/100 VM
Index: pci/pcidevs.h
===
RCS file: /cvs/src/sys/dev/pci/pcidevs.h,v
retrieving revision 1.1954
diff -u -p -r1.1954 pcidevs.h
--- pci/pcidevs.h   14 Mar 2021 01:10:35 -  1.1954
+++ pci/pcidevs.h   14 Mar 2021 11:33:27 -
@@ -3707,6 +3707,7 @@
 #definePCI_PRODUCT_INTEL_ICH8_IGP_C0x104b  /* ICH8 IGP C */
 #definePCI_PRODUCT_INTEL_ICH8_IFE  0x104c  /* ICH8 IFE */
 #definePCI_PRODUCT_INTEL_ICH8_IGP_M0x104d  /* ICH8 IGP M */
+#definePCI_PRODUCT_INTEL_X710_10G_SFP_20x104e  /* X710 
10G SFP+ */
 #definePCI_PRODUCT_INTEL_PRO_100_VE_4  0x1050  /* PRO/100 VE */
 #definePCI_PRODUCT_INTEL_PRO_100_VE_5  0x1051  /* PRO/100 VE */
 #definePCI_PRODUCT_INTEL_PRO_100_VM_6  0x1052  /* PRO/100 VM */
Index: pci/pcidevs_data.h
===
RCS file: /cvs/src/sys/dev/pci/pcidevs_data.h,v
retrieving revision 1.1949
diff -u -p -r1.1949 pcidevs_data.h
--- pci/pcidevs_data.h  14 Mar 2021 01:10:35 -  1.1949
+++ pci/pcidevs_data.h  14 Mar 2021 11:33:27 -
@@ -12252,6 +12252,10 @@ static const struct pci_known_product pc
"ICH8 IGP M",
},
{
+   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_X710_10G_SFP_2,
+   "X710 10G SFP+",
+   },
+   {
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_PRO_100_VE_4,
"PRO/100 VE",
},