diff --git a/.ethtool.metadata b/.ethtool.metadata new file mode 100644 index 0000000..9ac880d --- /dev/null +++ b/.ethtool.metadata @@ -0,0 +1 @@ +a7149633abb2556ba48e87a2989a5e1a394256b4 SOURCES/ethtool-5.0.tar.xz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..adeaeb9 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/ethtool-5.0.tar.xz diff --git a/SOURCES/0001-ethtool-Add-support-for-200Gbps-50Gbps-per-lane-link.patch b/SOURCES/0001-ethtool-Add-support-for-200Gbps-50Gbps-per-lane-link.patch new file mode 100644 index 0000000..4479bd2 --- /dev/null +++ b/SOURCES/0001-ethtool-Add-support-for-200Gbps-50Gbps-per-lane-link.patch @@ -0,0 +1,162 @@ +From b13bc90142533a7cfe79d1f136a24ed20a75c1fb Mon Sep 17 00:00:00 2001 +From: Aya Levin +Date: Mon, 25 Feb 2019 17:44:34 +0200 +Subject: [PATCH] ethtool: Add support for 200Gbps (50Gbps per lane) link mode + +Introduce 50Gbps per lane link modes and 200Gbps speed, update print +functions and initialization functions accordingly. +In addition, update related man page accordingly. + +Signed-off-by: Aya Levin +Signed-off-by: Tariq Toukan +Reviewed-by: Michal Kubecek +Signed-off-by: John W. Linville +(cherry picked from commit caa4bbef6ff920a0ff1d94c5bff7f2c7c875fca3) +--- + ethtool-copy.h | 18 +++++++++++++++++- + ethtool.8.in | 15 +++++++++++++++ + ethtool.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 77 insertions(+), 1 deletion(-) + +diff --git a/ethtool-copy.h b/ethtool-copy.h +index 6bfbb85..1204076 100644 +--- a/ethtool-copy.h ++++ b/ethtool-copy.h +@@ -1455,6 +1455,21 @@ enum ethtool_link_mode_bit_indices { + ETHTOOL_LINK_MODE_FEC_NONE_BIT = 49, + ETHTOOL_LINK_MODE_FEC_RS_BIT = 50, + ETHTOOL_LINK_MODE_FEC_BASER_BIT = 51, ++ ETHTOOL_LINK_MODE_50000baseKR_Full_BIT = 52, ++ ETHTOOL_LINK_MODE_50000baseSR_Full_BIT = 53, ++ ETHTOOL_LINK_MODE_50000baseCR_Full_BIT = 54, ++ ETHTOOL_LINK_MODE_50000baseLR_ER_FR_Full_BIT = 55, ++ ETHTOOL_LINK_MODE_50000baseDR_Full_BIT = 56, ++ ETHTOOL_LINK_MODE_100000baseKR2_Full_BIT = 57, ++ ETHTOOL_LINK_MODE_100000baseSR2_Full_BIT = 58, ++ ETHTOOL_LINK_MODE_100000baseCR2_Full_BIT = 59, ++ ETHTOOL_LINK_MODE_100000baseLR2_ER2_FR2_Full_BIT = 60, ++ ETHTOOL_LINK_MODE_100000baseDR2_Full_BIT = 61, ++ ETHTOOL_LINK_MODE_200000baseKR4_Full_BIT = 62, ++ ETHTOOL_LINK_MODE_200000baseSR4_Full_BIT = 63, ++ ETHTOOL_LINK_MODE_200000baseLR4_ER4_FR4_Full_BIT = 64, ++ ETHTOOL_LINK_MODE_200000baseDR4_Full_BIT = 65, ++ ETHTOOL_LINK_MODE_200000baseCR4_Full_BIT = 66, + + /* Last allowed bit for __ETHTOOL_LINK_MODE_LEGACY_MASK is bit + * 31. Please do NOT define any SUPPORTED_* or ADVERTISED_* +@@ -1463,7 +1478,7 @@ enum ethtool_link_mode_bit_indices { + */ + + __ETHTOOL_LINK_MODE_LAST +- = ETHTOOL_LINK_MODE_FEC_BASER_BIT, ++ = ETHTOOL_LINK_MODE_200000baseCR4_Full_BIT, + }; + + #define __ETHTOOL_LINK_MODE_LEGACY_MASK(base_name) \ +@@ -1571,6 +1586,7 @@ enum ethtool_link_mode_bit_indices { + #define SPEED_50000 50000 + #define SPEED_56000 56000 + #define SPEED_100000 100000 ++#define SPEED_200000 200000 + + #define SPEED_UNKNOWN -1 + +diff --git a/ethtool.8.in b/ethtool.8.in +index 4053a56..4df6f38 100644 +--- a/ethtool.8.in ++++ b/ethtool.8.in +@@ -650,6 +650,11 @@ lB l lB. + 0x400000000 50000baseCR2 Full + 0x800000000 50000baseKR2 Full + 0x10000000000 50000baseSR2 Full ++0x10000000000000 50000baseKR Full ++0x20000000000000 50000baseSR Full ++0x40000000000000 50000baseCR Full ++0x80000000000000 50000baseLR_ER_FR Full ++0x100000000000000 50000baseDR Full + 0x8000000 56000baseKR4 Full + 0x10000000 56000baseCR4 Full + 0x20000000 56000baseSR4 Full +@@ -658,6 +663,16 @@ lB l lB. + 0x2000000000 100000baseSR4 Full + 0x4000000000 100000baseCR4 Full + 0x8000000000 100000baseLR4_ER4 Full ++0x200000000000000 100000baseKR2 Full ++0x400000000000000 100000baseSR2 Full ++0x800000000000000 100000baseCR2 Full ++0x1000000000000000 100000baseLR2_ER2_FR2 Full ++0x2000000000000000 100000baseDR2 Full ++0x4000000000000000 200000baseKR4 Full ++0x8000000000000000 200000baseSR4 Full ++0x10000000000000000 200000baseLR4_ER4_FR4 Full ++0x20000000000000000 200000baseDR4 Full ++0x40000000000000000 200000baseCR4 Full + .TE + .TP + .BI phyad \ N +diff --git a/ethtool.c b/ethtool.c +index fb4c088..c36aafd 100644 +--- a/ethtool.c ++++ b/ethtool.c +@@ -530,6 +530,21 @@ static void init_global_link_mode_masks(void) + ETHTOOL_LINK_MODE_10000baseER_Full_BIT, + ETHTOOL_LINK_MODE_2500baseT_Full_BIT, + ETHTOOL_LINK_MODE_5000baseT_Full_BIT, ++ ETHTOOL_LINK_MODE_50000baseKR_Full_BIT, ++ ETHTOOL_LINK_MODE_50000baseSR_Full_BIT, ++ ETHTOOL_LINK_MODE_50000baseCR_Full_BIT, ++ ETHTOOL_LINK_MODE_50000baseLR_ER_FR_Full_BIT, ++ ETHTOOL_LINK_MODE_50000baseDR_Full_BIT, ++ ETHTOOL_LINK_MODE_100000baseKR2_Full_BIT, ++ ETHTOOL_LINK_MODE_100000baseSR2_Full_BIT, ++ ETHTOOL_LINK_MODE_100000baseCR2_Full_BIT, ++ ETHTOOL_LINK_MODE_100000baseLR2_ER2_FR2_Full_BIT, ++ ETHTOOL_LINK_MODE_100000baseDR2_Full_BIT, ++ ETHTOOL_LINK_MODE_200000baseKR4_Full_BIT, ++ ETHTOOL_LINK_MODE_200000baseSR4_Full_BIT, ++ ETHTOOL_LINK_MODE_200000baseLR4_ER4_FR4_Full_BIT, ++ ETHTOOL_LINK_MODE_200000baseDR4_Full_BIT, ++ ETHTOOL_LINK_MODE_200000baseCR4_Full_BIT, + }; + static const enum ethtool_link_mode_bit_indices + additional_advertised_flags_bits[] = { +@@ -689,6 +704,36 @@ static void dump_link_caps(const char *prefix, const char *an_prefix, + "2500baseT/Full" }, + { 0, ETHTOOL_LINK_MODE_5000baseT_Full_BIT, + "5000baseT/Full" }, ++ { 0, ETHTOOL_LINK_MODE_50000baseKR_Full_BIT, ++ "50000baseKR/Full" }, ++ { 0, ETHTOOL_LINK_MODE_50000baseSR_Full_BIT, ++ "50000baseSR/Full" }, ++ { 0, ETHTOOL_LINK_MODE_50000baseCR_Full_BIT, ++ "50000baseCR/Full" }, ++ { 0, ETHTOOL_LINK_MODE_50000baseLR_ER_FR_Full_BIT, ++ "50000baseLR_ER_FR/Full" }, ++ { 0, ETHTOOL_LINK_MODE_50000baseDR_Full_BIT, ++ "50000baseDR/Full" }, ++ { 0, ETHTOOL_LINK_MODE_100000baseKR2_Full_BIT, ++ "100000baseKR2/Full" }, ++ { 0, ETHTOOL_LINK_MODE_100000baseSR2_Full_BIT, ++ "100000baseSR2/Full" }, ++ { 0, ETHTOOL_LINK_MODE_100000baseCR2_Full_BIT, ++ "100000baseCR2/Full" }, ++ { 0, ETHTOOL_LINK_MODE_100000baseLR2_ER2_FR2_Full_BIT, ++ "100000baseLR2_ER2_FR2/Full" }, ++ { 0, ETHTOOL_LINK_MODE_100000baseDR2_Full_BIT, ++ "100000baseDR2/Full" }, ++ { 0, ETHTOOL_LINK_MODE_200000baseKR4_Full_BIT, ++ "200000baseKR4/Full" }, ++ { 0, ETHTOOL_LINK_MODE_200000baseSR4_Full_BIT, ++ "200000baseSR4/Full" }, ++ { 0, ETHTOOL_LINK_MODE_200000baseLR4_ER4_FR4_Full_BIT, ++ "200000baseLR4_ER4_FR4/Full" }, ++ { 0, ETHTOOL_LINK_MODE_200000baseDR4_Full_BIT, ++ "200000baseDR4/Full" }, ++ { 0, ETHTOOL_LINK_MODE_200000baseCR4_Full_BIT, ++ "200000baseCR4/Full" }, + }; + int indent; + int did1, new_line_pend, i; +-- +1.8.3.1 + diff --git a/SPECS/ethtool.spec b/SPECS/ethtool.spec new file mode 100644 index 0000000..6720646 --- /dev/null +++ b/SPECS/ethtool.spec @@ -0,0 +1,284 @@ +Name: ethtool +Epoch: 2 +Version: 5.0 +Release: 2%{?dist} +Summary: Settings tool for Ethernet NICs +License: GPLv2 +Group: Applications/System +URL: https://www.kernel.org/pub/software/network/%{name}/ +Source0: https://www.kernel.org/pub/software/network/%{name}/%{name}-%{version}.tar.xz +Conflicts: filesystem < 3 +Patch0: 0001-ethtool-Add-support-for-200Gbps-50Gbps-per-lane-link.patch + +%description +This utility allows querying and changing settings such as speed, +port, auto-negotiation, PCI locations and checksum offload on many +network devices, especially of Ethernet devices. + +%prep +%setup -q +%patch0 -p1 + +%build +%configure +make %{?_smp_mflags} + +%install +make DESTDIR=%{buildroot} INSTALL='install -p' install + +%files +%license COPYING LICENSE +%doc AUTHORS ChangeLog* NEWS README +%{_sbindir}/%{name} +%{_mandir}/man8/%{name}.8* + +%changelog +* Thu May 16 2019 Ivan Vecera - 2:5.0-2 +- Added support for 200Gbps (50Gbps/lane) link mode + +* Wed Mar 13 2019 Ivan Vecera - 2:5.0-1 +- Update to 5.0 (#1688299) + +* Sat Apr 14 2018 Robert Scheck - 2:4.16-1 +- Update to 4.16 (#1567447) + +* Sun Feb 18 2018 Robert Scheck - 2:4.15-1 +- Update to 4.15 (#1541183) + +* Wed Feb 07 2018 Fedora Release Engineering - 2:4.13-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sat Nov 04 2017 Robert Scheck - 2:4.13-1 +- Update to 4.13 (#1507171) + +* Wed Aug 02 2017 Fedora Release Engineering - 2:4.11-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Fri Jul 28 2017 Robert Scheck - 2:4.11-1 +- Update to 4.11 (#1435843) + +* Wed Jul 26 2017 Fedora Release Engineering - 2:4.8-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 2:4.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Nov 28 2016 Robert Scheck - 2:4.8-1 +- Update to 4.8 (#1317497) + +* Wed Feb 03 2016 Fedora Release Engineering - 2:4.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Oct 09 2015 Jaromir Capik - 2:4.2-1 +- Updating to 4.2 (#1270250) + +* Wed Jun 17 2015 Fedora Release Engineering - 2:4.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon Jun 01 2015 Jaromir Capik - 2:4.0-1 +- Update to 4.0 (#1226742) + +* Thu Jan 29 2015 Jaromir Capik - 2:3.18-1 +- Update to 3.18 (#1175150) + +* Tue Sep 23 2014 Jaromir Capik - 2:3.16-1 +- Update to 3.16 (#1144992) + +* Sat Aug 16 2014 Fedora Release Engineering - 2:3.15-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Tue Aug 05 2014 Jaromir Capik - 2:3.15-1 +- Update to 3.15 (#1124044) + +* Sat Jun 07 2014 Fedora Release Engineering - 2:3.14-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Tue Apr 22 2014 Jaromir Capik - 2:3.14-1 +- Update to 3.14 (#1089943) + +* Thu Jan 30 2014 Jaromir Capik - 2:3.13-1 +- Update to 3.13 (#1059565) + +* Mon Nov 18 2013 Jaromir Capik - 2:3.12-1 +- Update to 3.12 (#1030854) + +* Fri Sep 13 2013 Jaromir Capik - 2:3.11-1 +- Update to 3.11 (#1007738) + +* Sat Aug 03 2013 Fedora Release Engineering - 2:3.10-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu Jul 04 2013 Jaromir Capik - 2:3.10-1 +- Update to 3.10 (#981357) + +* Thu May 02 2013 Jaromir Capik - 2:3.9-1 +- Update to 3.9 (#958467) + +* Mon Mar 04 2013 Jaromir Capik - 2:3.8-1 +- Update to 3.8 (#916922) + +* Wed Feb 13 2013 Fedora Release Engineering - 2:3.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Mon Dec 17 2012 Jaromir Capik - 2:3.7-1 +- Update to 3.7 (#887463) + +* Tue Oct 23 2012 Jaromir Capik 2:3.6-1 +- Update to 3.6 (#863774) + +* Tue Sep 25 2012 Jaromir Capik 2:3.5-1 +- Update to 3.5 (#840741) + +* Thu Jul 19 2012 Fedora Release Engineering - 2:3.4.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Thu Jun 28 2012 Jaromir Capik 2:3.4.1-1 +- Update to 3.4.1 (#830263) + +* Wed Jan 25 2012 Harald Hoyer 2:3.2-2 +- install everything in /usr + https://fedoraproject.org/wiki/Features/UsrMove + +* Fri Jan 13 2012 Jaromir Capik 2:3.2-1 +- Update to 3.2 (#781357) +- Minor spec file changes according to the latest guidelines + +* Fri Dec 23 2011 Robert Scheck 2:3.1-1 +- Upgrade to 3.1 (#728480) + +* Sun Jul 17 2011 Robert Scheck 2:2.6.39-1 +- Upgrade to 2.6.39 (#710400) + +* Mon Mar 21 2011 Robert Scheck 2:2.6.38-1 +- Upgrade to 2.6.38 (#667594) + +* Tue Feb 08 2011 Fedora Release Engineering - 2:2.6.36-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Fri Dec 31 2010 Robert Scheck 2:2.6.36-1 +- Upgrade to 2.6.36 (#623094) + +* Wed Jul 14 2010 Jeff Garzik 2:2.6.34-1 +- Update to release 2.6.34. + +* Thu Feb 4 2010 Jeff Garzik 2.6.33-0.1 +- update to version 2.6.33-pre1 + +* Fri Jul 24 2009 Fedora Release Engineering - 6-7.20090323git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Sat Jul 18 2009 Robert Scheck 6-6.20090323git +- Upgrade to GIT 20090323 + +* Thu Jul 16 2009 Jeff Garzik 6-5.20090306git +- minor specfile cleanups + +* Sat Mar 07 2009 Robert Scheck 6-4.20090306git +- Upgrade to GIT 20090306 + +* Mon Feb 23 2009 Robert Scheck 6-3.20090115git +- Rebuild for gcc 4.4 and rpm 4.6 + +* Sat Jan 17 2009 Robert Scheck 6-2.20090115git +- Changes to match with Fedora Packaging Guidelines (#225735) +- Upgrade to GIT 20090115 (#225735, #477498) +- Removed bogus stated need of DEVNAME in -h/--help (#472038) +- Removed completely needless INSTALL file from %%doc (#472034) + +* Wed Mar 12 2008 Tom "spot" Callaway 6-1 +- Upgrade to ethtool version 6 + +* Tue Feb 19 2008 Fedora Release Engineering - 5-2 +- Autorebuild for GCC 4.3 + +* Thu Dec 14 2006 Jay Fenlason 5-1 +- Upgrade to ethtool version 5 to close + bz#184985: RFE: 10gigE support + bz#204840: "buffer overflow detected" when devname's length >=16 of ethtool + Resolves: #184985, #204840 + +* Wed Jul 12 2006 Jesse Keating - 3-1.2.2 +- rebuild + +* Fri Feb 10 2006 Jesse Keating - 3-1.2.1 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jesse Keating - 3-1.2 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Thu Mar 3 2005 Jeff Garzik +- Update to version 3. +- Use %%buildroot macro, rather than RPM_BUILD_ROOT env var, + as recommended by RPM packaging guidelines. + +* Sun Feb 27 2005 Florian La Roche +- Copyright: -> License + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Fri Sep 5 2003 Bill Nottingham 1.8-2 +- remove bogus check for devices starting with ethXX, this time applying + the patch + +* Thu Jul 24 2003 Bill Nottingham 1.8-1 +- update to 1.8 +- remove bogus check for devices starting with ethXX + +* Wed Jun 04 2003 Elliot Lee +- rebuilt + +* Sat Feb 8 2003 Bill Nottingham 1.6-5 +- move to /sbin + +* Wed Jan 22 2003 Tim Powers +- rebuilt + +* Thu Dec 12 2002 Tim Powers 1.6-3 +- rebuild on all arches + +* Fri Jun 21 2002 Tim Powers +- automated rebuild + +* Thu Jun 20 2002 Florian La Roche +- update to 1.6 + +* Thu May 23 2002 Tim Powers +- automated rebuild + +* Mon Mar 4 2002 Bill Nottingham 1.5-1 +- 1.5 + +* Thu Feb 21 2002 Bill Nottingham +- rebuild + +* Wed Jan 09 2002 Tim Powers +- automated rebuild + +* Tue Dec 4 2001 Bill Nottingham +- update to 1.4 + +* Fri Aug 3 2001 Bill Nottingham +- return of ethtool! (#50475) + +* Wed Jul 12 2000 Prospector +- automatic rebuild + +* Sun Jun 18 2000 Matt Wilson +- rebuilt for next release +- use FHS man path + +* Tue Feb 22 2000 Bill Nottingham +- handle compressed manpages + +* Wed Apr 14 1999 Bill Nottingham +- run through with new s/d + +* Tue Apr 13 1999 Jakub Jelinek +- initial package.