diff options
9 files changed, 4 insertions, 457 deletions
diff --git a/patches/ethtool-6+20090323.orig/001_remove_support_for_rx_hashing_by_port.patch b/patches/ethtool-6+20090323.orig/001_remove_support_for_rx_hashing_by_port.patch deleted file mode 100644 index f33e80472..000000000 --- a/patches/ethtool-6+20090323.orig/001_remove_support_for_rx_hashing_by_port.patch +++ /dev/null @@ -1,65 +0,0 @@ -Subject: ethtool: Remove support for RX hashing by port -From: Ben Hutchings <bhutchings@solarflare.com> -Date: Thu, 30 Apr 2009 13:36:49 +0100 - -The kernel-side support for this was removed by: - -commit 59089d8d162ddcb5c434672e915331964d38a754 -Author: Santwona Behera <santwona.behera@sun.com> -Date: Fri Feb 20 00:58:13 2009 -0800 - - ethtool: Add RX pkt classification interface - -Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> ---- - ethtool.8 | 3 --- - ethtool.c | 8 +------- - 2 files changed, 1 insertions(+), 10 deletions(-) - -diff --git a/ethtool.8 b/ethtool.8 -index 178f6ea..7a6f52b 100644 ---- a/ethtool.8 -+++ b/ethtool.8 -@@ -473,9 +473,6 @@ Configures the hash options for the specified network traffic type. - .RS - .PD 0 - .TP 3 --.B p --Hash on the device port number on which the packet was received. --.TP 3 - .B m - Hash on the Layer 2 destination address of the rx packet. - .TP 3 -diff --git a/ethtool.c b/ethtool.c -index 43ec2bf..5c45b2d 100644 ---- a/ethtool.c -+++ b/ethtool.c -@@ -191,7 +191,7 @@ static struct option { - { "-N", "--config-nfc", MODE_SNFC, "Configure Rx network flow " - "classification options", - " [ rx-flow-hash tcp4|udp4|ah4|sctp4|" -- "tcp6|udp6|ah6|sctp6 p|m|v|t|s|d|f|n|r... ]\n" }, -+ "tcp6|udp6|ah6|sctp6 m|v|t|s|d|f|n|r... ]\n" }, - { "-h", "--help", MODE_HELP, "Show this help" }, - {} - }; -@@ -1090,9 +1090,6 @@ static int parse_rxfhashopts(char *optstr, u32 *data) - *data = 0; - while (*optstr) { - switch (*optstr) { -- case 'p': -- *data |= RXH_DEV_PORT; -- break; - case 'm': - *data |= RXH_L2DA; - break; -@@ -1132,9 +1129,6 @@ static char *unparse_rxfhashopts(u64 opts) - memset(buf, 0, sizeof(buf)); - - if (opts) { -- if (opts & RXH_DEV_PORT) { -- strcat(buf, "Dev port\n"); -- } - if (opts & RXH_L2DA) { - strcat(buf, "L2DA\n"); - } diff --git a/patches/ethtool-6+20090323.orig/002_update_ethtool-copy-h.patch b/patches/ethtool-6+20090323.orig/002_update_ethtool-copy-h.patch deleted file mode 100644 index 3e14db5cb..000000000 --- a/patches/ethtool-6+20090323.orig/002_update_ethtool-copy-h.patch +++ /dev/null @@ -1,210 +0,0 @@ -Subject: ethtool: Update ethtool-copy.h -From: Ben Hutchings <bhutchings@solarflare.com> -Date: Thu, 30 Apr 2009 13:33:16 +0100 - -Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> ---- -This comes from net-next-2.6 as of today. - -Ben. - - ethtool-copy.h | 107 ++++++++++++++++++++++++++++++++++++++++++++++++++++---- - 1 files changed, 100 insertions(+), 7 deletions(-) - -diff --git a/ethtool-copy.h b/ethtool-copy.h -index 3ca4e2c..d9bb957 100644 ---- a/ethtool-copy.h -+++ b/ethtool-copy.h -@@ -7,11 +7,14 @@ - * Portions Copyright 2002 Intel (eli.kupermann@intel.com, - * christopher.leech@intel.com, - * scott.feldman@intel.com) -+ * Portions Copyright (C) Sun Microsystems 2008 - */ - - #ifndef _LINUX_ETHTOOL_H - #define _LINUX_ETHTOOL_H - -+#include <linux/types.h> -+ - /* This should work for both 32 and 64 bit userland. */ - struct ethtool_cmd { - __u32 cmd; -@@ -23,14 +26,16 @@ struct ethtool_cmd { - __u8 phy_address; - __u8 transceiver; /* Which transceiver to use */ - __u8 autoneg; /* Enable or disable autonegotiation */ -+ __u8 mdio_support; - __u32 maxtxpkt; /* Tx pkts before generating tx int */ - __u32 maxrxpkt; /* Rx pkts before generating rx int */ - __u16 speed_hi; - __u16 reserved2; -- __u32 reserved[3]; -+ __u32 lp_advertising; /* Features the link partner advertises */ -+ __u32 reserved[2]; - }; - --static inline void ethtool_cmd_speed_set(struct ethtool_cmd *ep, -+static __inline__ void ethtool_cmd_speed_set(struct ethtool_cmd *ep, - __u32 speed) - { - -@@ -38,7 +43,7 @@ static inline void ethtool_cmd_speed_set(struct ethtool_cmd *ep, - ep->speed_hi = (__u16)(speed >> 16); - } - --static inline __u32 ethtool_cmd_speed(struct ethtool_cmd *ep) -+static __inline__ __u32 ethtool_cmd_speed(struct ethtool_cmd *ep) - { - return (ep->speed_hi << 16) | ep->speed; - } -@@ -285,12 +290,78 @@ enum ethtool_flags { - ETH_FLAG_LRO = (1 << 15), /* LRO is enabled */ - }; - --struct ethtool_rxnfc { -- __u32 cmd; -+/* The following structures are for supporting RX network flow -+ * classification configuration. Note, all multibyte fields, e.g., -+ * ip4src, ip4dst, psrc, pdst, spi, etc. are expected to be in network -+ * byte order. -+ */ -+struct ethtool_tcpip4_spec { -+ __be32 ip4src; -+ __be32 ip4dst; -+ __be16 psrc; -+ __be16 pdst; -+ __u8 tos; -+}; -+ -+struct ethtool_ah_espip4_spec { -+ __be32 ip4src; -+ __be32 ip4dst; -+ __be32 spi; -+ __u8 tos; -+}; -+ -+struct ethtool_rawip4_spec { -+ __be32 ip4src; -+ __be32 ip4dst; -+ __u8 hdata[64]; -+}; -+ -+struct ethtool_ether_spec { -+ __be16 ether_type; -+ __u8 frame_size; -+ __u8 eframe[16]; -+}; -+ -+#define ETH_RX_NFC_IP4 1 -+#define ETH_RX_NFC_IP6 2 -+ -+struct ethtool_usrip4_spec { -+ __be32 ip4src; -+ __be32 ip4dst; -+ __be32 l4_4_bytes; -+ __u8 tos; -+ __u8 ip_ver; -+ __u8 proto; -+}; -+ -+struct ethtool_rx_flow_spec { - __u32 flow_type; -- __u64 data; -+ union { -+ struct ethtool_tcpip4_spec tcp_ip4_spec; -+ struct ethtool_tcpip4_spec udp_ip4_spec; -+ struct ethtool_tcpip4_spec sctp_ip4_spec; -+ struct ethtool_ah_espip4_spec ah_ip4_spec; -+ struct ethtool_ah_espip4_spec esp_ip4_spec; -+ struct ethtool_rawip4_spec raw_ip4_spec; -+ struct ethtool_ether_spec ether_spec; -+ struct ethtool_usrip4_spec usr_ip4_spec; -+ __u8 hdata[64]; -+ } h_u, m_u; /* entry, mask */ -+ __u64 ring_cookie; -+ __u32 location; - }; - -+struct ethtool_rxnfc { -+ __u32 cmd; -+ __u32 flow_type; -+ /* The rx flow hash value or the rule DB size */ -+ __u64 data; -+ struct ethtool_rx_flow_spec fs; -+ __u32 rule_cnt; -+ __u32 rule_locs[0]; -+}; -+ -+ - /* CMDs currently supported */ - #define ETHTOOL_GSET 0x00000001 /* Get settings. */ - #define ETHTOOL_SSET 0x00000002 /* Set settings. */ -@@ -338,6 +409,12 @@ struct ethtool_rxnfc { - #define ETHTOOL_SRXFH 0x0000002a /* Set RX flow hash configuration */ - #define ETHTOOL_GGRO 0x0000002b /* Get GRO enable (ethtool_value) */ - #define ETHTOOL_SGRO 0x0000002c /* Set GRO enable (ethtool_value) */ -+#define ETHTOOL_GRXRINGS 0x0000002d /* Get RX rings available for LB */ -+#define ETHTOOL_GRXCLSRLCNT 0x0000002e /* Get RX class rule count */ -+#define ETHTOOL_GRXCLSRULE 0x0000002f /* Get RX classification rule */ -+#define ETHTOOL_GRXCLSRLALL 0x00000030 /* Get all RX classification rule */ -+#define ETHTOOL_SRXCLSRLDEL 0x00000031 /* Delete RX classification rule */ -+#define ETHTOOL_SRXCLSRLINS 0x00000032 /* Insert RX classification rule */ - - /* compatibility with older code */ - #define SPARC_ETH_GSET ETHTOOL_GSET -@@ -360,6 +437,11 @@ struct ethtool_rxnfc { - #define SUPPORTED_Pause (1 << 13) - #define SUPPORTED_Asym_Pause (1 << 14) - #define SUPPORTED_2500baseX_Full (1 << 15) -+#define SUPPORTED_Backplane (1 << 16) -+#define SUPPORTED_1000baseKX_Full (1 << 17) -+#define SUPPORTED_10000baseKX4_Full (1 << 18) -+#define SUPPORTED_10000baseKR_Full (1 << 19) -+#define SUPPORTED_10000baseR_FEC (1 << 20) - - /* Indicates what features are advertised by the interface. */ - #define ADVERTISED_10baseT_Half (1 << 0) -@@ -378,6 +460,11 @@ struct ethtool_rxnfc { - #define ADVERTISED_Pause (1 << 13) - #define ADVERTISED_Asym_Pause (1 << 14) - #define ADVERTISED_2500baseX_Full (1 << 15) -+#define ADVERTISED_Backplane (1 << 16) -+#define ADVERTISED_1000baseKX_Full (1 << 17) -+#define ADVERTISED_10000baseKX4_Full (1 << 18) -+#define ADVERTISED_10000baseKR_Full (1 << 19) -+#define ADVERTISED_10000baseR_FEC (1 << 20) - - /* The following are all involved in forcing a particular link - * mode for the device for setting things. When getting the -@@ -402,6 +489,7 @@ struct ethtool_rxnfc { - #define PORT_MII 0x02 - #define PORT_FIBRE 0x03 - #define PORT_BNC 0x04 -+#define PORT_OTHER 0xff - - /* Which transceiver to use. */ - #define XCVR_INTERNAL 0x00 -@@ -434,9 +522,13 @@ struct ethtool_rxnfc { - #define UDP_V6_FLOW 0x06 - #define SCTP_V6_FLOW 0x07 - #define AH_ESP_V6_FLOW 0x08 -+#define AH_V4_FLOW 0x09 -+#define ESP_V4_FLOW 0x0a -+#define AH_V6_FLOW 0x0b -+#define ESP_V6_FLOW 0x0c -+#define IP_USER_FLOW 0x0d - - /* L3-L4 network traffic flow hash options */ --#define RXH_DEV_PORT (1 << 0) - #define RXH_L2DA (1 << 1) - #define RXH_VLAN (1 << 2) - #define RXH_L3_PROTO (1 << 3) -@@ -446,5 +538,6 @@ struct ethtool_rxnfc { - #define RXH_L4_B_2_3 (1 << 7) /* dst port in case of TCP/UDP/SCTP */ - #define RXH_DISCARD (1 << 31) - -+#define RX_CLS_FLOW_DISC 0xffffffffffffffffULL - - #endif /* _LINUX_ETHTOOL_H */ - diff --git a/patches/ethtool-6+20090323.orig/003_decode_port_other.patch b/patches/ethtool-6+20090323.orig/003_decode_port_other.patch deleted file mode 100644 index f8a2e0325..000000000 --- a/patches/ethtool-6+20090323.orig/003_decode_port_other.patch +++ /dev/null @@ -1,23 +0,0 @@ -Subject: ethtool: Decode PORT_OTHER -From: Ben Hutchings <bhutchings@solarflare.com> -Date: Thu, 30 Apr 2009 13:37:14 +0100 - -Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> ---- - ethtool.c | 3 +++ - 1 files changed, 3 insertions(+), 0 deletions(-) - -diff --git a/ethtool.c b/ethtool.c -index 5c45b2d..08165eb 100644 ---- a/ethtool.c -+++ b/ethtool.c -@@ -941,6 +941,9 @@ static int dump_ecmd(struct ethtool_cmd *ep) - case PORT_FIBRE: - fprintf(stdout, "FIBRE\n"); - break; -+ case PORT_OTHER: -+ fprintf(stdout, "Other\n"); -+ break; - default: - fprintf(stdout, "Unknown! (%i)\n", ep->port); - break; diff --git a/patches/ethtool-6+20090323.orig/004_report_link_partner_advertising.patch b/patches/ethtool-6+20090323.orig/004_report_link_partner_advertising.patch deleted file mode 100644 index 62386afe1..000000000 --- a/patches/ethtool-6+20090323.orig/004_report_link_partner_advertising.patch +++ /dev/null @@ -1,85 +0,0 @@ -Subject: ethtool: Report link partner advertising -From: Ben Hutchings <bhutchings@solarflare.com> -Date: Thu, 30 Apr 2009 13:37:43 +0100 - - -Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> ---- - ethtool.c | 20 +++++++++++--------- - 1 files changed, 11 insertions(+), 9 deletions(-) - -diff --git a/ethtool.c b/ethtool.c -index 08165eb..0d188af 100644 ---- a/ethtool.c -+++ b/ethtool.c -@@ -839,12 +839,13 @@ static void dump_supported(struct ethtool_cmd *ep) - fprintf(stdout, "No\n"); - } - --static void dump_advertised(struct ethtool_cmd *ep) -+static void dump_advertised(struct ethtool_cmd *ep, -+ const char *prefix, u_int32_t mask) - { -- u_int32_t mask = ep->advertising; -+ int indent = strlen(prefix) + 14; - int did1; - -- fprintf(stdout, " Advertised link modes: "); -+ fprintf(stdout, " %s link modes: ", prefix); - did1 = 0; - if (mask & ADVERTISED_10baseT_Half) { - did1++; fprintf(stdout, "10baseT/Half "); -@@ -854,7 +855,7 @@ static void dump_advertised(struct ethtool_cmd *ep) - } - if (did1 && (mask & (ADVERTISED_100baseT_Half|ADVERTISED_100baseT_Full))) { - fprintf(stdout, "\n"); -- fprintf(stdout, " "); -+ fprintf(stdout, " %*s", indent, ""); - } - if (mask & ADVERTISED_100baseT_Half) { - did1++; fprintf(stdout, "100baseT/Half "); -@@ -864,7 +865,7 @@ static void dump_advertised(struct ethtool_cmd *ep) - } - if (did1 && (mask & (ADVERTISED_1000baseT_Half|ADVERTISED_1000baseT_Full))) { - fprintf(stdout, "\n"); -- fprintf(stdout, " "); -+ fprintf(stdout, " %*s", indent, ""); - } - if (mask & ADVERTISED_1000baseT_Half) { - did1++; fprintf(stdout, "1000baseT/Half "); -@@ -874,14 +875,14 @@ static void dump_advertised(struct ethtool_cmd *ep) - } - if (did1 && (mask & ADVERTISED_2500baseX_Full)) { - fprintf(stdout, "\n"); -- fprintf(stdout, " "); -+ fprintf(stdout, " %*s", indent, ""); - } - if (mask & ADVERTISED_2500baseX_Full) { - did1++; fprintf(stdout, "2500baseX/Full "); - } - if (did1 && (mask & ADVERTISED_10000baseT_Full)) { - fprintf(stdout, "\n"); -- fprintf(stdout, " "); -+ fprintf(stdout, " %*s", indent, ""); - } - if (mask & ADVERTISED_10000baseT_Full) { - did1++; fprintf(stdout, "10000baseT/Full "); -@@ -890,7 +891,7 @@ static void dump_advertised(struct ethtool_cmd *ep) - fprintf(stdout, "Not reported"); - fprintf(stdout, "\n"); - -- fprintf(stdout, " Advertised auto-negotiation: "); -+ fprintf(stdout, " %s auto-negotiation: ", prefix); - if (mask & ADVERTISED_Autoneg) - fprintf(stdout, "Yes\n"); - else -@@ -902,7 +903,8 @@ static int dump_ecmd(struct ethtool_cmd *ep) - u32 speed; - - dump_supported(ep); -- dump_advertised(ep); -+ dump_advertised(ep, "Advertised", ep->advertising); -+ dump_advertised(ep, "Link partner advertised", ep->lp_advertising); - - fprintf(stdout, " Speed: "); - speed = ethtool_cmd_speed(ep); diff --git a/patches/ethtool-6+20090323.orig/005_report_pause_autonegotiation_flags.patch b/patches/ethtool-6+20090323.orig/005_report_pause_autonegotiation_flags.patch deleted file mode 100644 index 7c5338ca8..000000000 --- a/patches/ethtool-6+20090323.orig/005_report_pause_autonegotiation_flags.patch +++ /dev/null @@ -1,33 +0,0 @@ -Subject: ethtool: Report pause auto-negotiation flags -From: Ben Hutchings <bhutchings@solarflare.com> -Date: Thu, 30 Apr 2009 13:38:06 +0100 - -Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> ---- - ethtool.c | 13 +++++++++++++ - 1 files changed, 13 insertions(+), 0 deletions(-) - -diff --git a/ethtool.c b/ethtool.c -index 0d188af..c40603c 100644 ---- a/ethtool.c -+++ b/ethtool.c -@@ -891,6 +891,19 @@ static void dump_advertised(struct ethtool_cmd *ep, - fprintf(stdout, "Not reported"); - fprintf(stdout, "\n"); - -+ fprintf(stdout, " %s pause frame use: ", prefix); -+ if (mask & ADVERTISED_Pause) { -+ fprintf(stdout, "Symmetric"); -+ if (mask & ADVERTISED_Asym_Pause) -+ fprintf(stdout, " Receive-only"); -+ fprintf(stdout, "\n"); -+ } else { -+ if (mask & ADVERTISED_Asym_Pause) -+ fprintf(stdout, "Transmit-only\n"); -+ else -+ fprintf(stdout, "No\n"); -+ } -+ - fprintf(stdout, " %s auto-negotiation: ", prefix); - if (mask & ADVERTISED_Autoneg) - fprintf(stdout, "Yes\n"); diff --git a/patches/ethtool-6+20090323.orig/006_use_asm-types-h.patch b/patches/ethtool-6+20090323.orig/006_use_asm-types-h.patch deleted file mode 100644 index f3f50c6fe..000000000 --- a/patches/ethtool-6+20090323.orig/006_use_asm-types-h.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/ethtool-util.h b/ethtool-util.h -index 5572771..8ae7e47 100644 ---- a/ethtool-util.h -+++ b/ethtool-util.h -@@ -5,11 +5,7 @@ - - #include <sys/types.h> - --/* hack, so we may include kernel's ethtool.h */ --typedef unsigned long long __u64; --typedef __uint32_t __u32; /* ditto */ --typedef __uint16_t __u16; /* ditto */ --typedef __uint8_t __u8; /* ditto */ -+#include "ethtool-copy.h" - - /* historical: we used to use kernel-like types; remove these once cleaned */ - typedef unsigned long long u64; -@@ -17,8 +13,6 @@ typedef __uint32_t u32; /* ditto */ - typedef __uint16_t u16; /* ditto */ - typedef __uint8_t u8; /* ditto */ - --#include "ethtool-copy.h" -- - /* National Semiconductor DP83815, DP83816 */ - int natsemi_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs); - int natsemi_dump_eeprom(struct ethtool_drvinfo *info, diff --git a/patches/ethtool-6+20090323.orig/autogen.sh b/patches/ethtool-6+20090323.orig/autogen.sh deleted file mode 120000 index 9f8a4cb7d..000000000 --- a/patches/ethtool-6+20090323.orig/autogen.sh +++ /dev/null @@ -1 +0,0 @@ -../autogen.sh
\ No newline at end of file diff --git a/patches/ethtool-6+20090323.orig/series b/patches/ethtool-6+20090323.orig/series deleted file mode 100644 index eb494561d..000000000 --- a/patches/ethtool-6+20090323.orig/series +++ /dev/null @@ -1,10 +0,0 @@ -# -# these patches come from -# http://ftp.de.debian.org/debian/pool/main/e/ethtool/ethtool_6+20090323-2.diff.gz -# -001_remove_support_for_rx_hashing_by_port.patch -002_update_ethtool-copy-h.patch -003_decode_port_other.patch -004_report_link_partner_advertising.patch -005_report_pause_autonegotiation_flags.patch -006_use_asm-types-h.patch diff --git a/rules/ethtool.make b/rules/ethtool.make index c63f1d0c8..698122b5b 100644 --- a/rules/ethtool.make +++ b/rules/ethtool.make @@ -1,6 +1,7 @@ # -*-makefile-*- # # Copyright (C) 2007 by Sascha Hauer +# 2010 by Marc Kleine-Budde <mkl@pengutronix.de> # # See CREDITS for details about who has contributed to this project. # @@ -16,12 +17,11 @@ PACKAGES-$(PTXCONF_ETHTOOL) += ethtool # # Paths and names # -ETHTOOL_VERSION := 6+20090323.orig +ETHTOOL_VERSION := 2.6.33 ETHTOOL_SUFFIX := tar.gz ETHTOOL := ethtool-$(ETHTOOL_VERSION) -ETHTOOL_TARBALL := ethtool_$(ETHTOOL_VERSION).$(ETHTOOL_SUFFIX) -ETHTOOL_URL := $(PTXCONF_SETUP_DEBMIRROR)/pool/main/e/ethtool/$(ETHTOOL_TARBALL) -ETHTOOL_SOURCE := $(SRCDIR)/$(ETHTOOL_TARBALL) +ETHTOOL_URL := $(PTXCONF_SETUP_SFMIRROR)/gkernel/ethtool/2.6.33/$(ETHTOOL).$(ETHTOOL_SUFFIX) +ETHTOOL_SOURCE := $(SRCDIR)/$(ETHTOOL).$(ETHTOOL_SUFFIX) ETHTOOL_DIR := $(BUILDDIR)/$(ETHTOOL) # ---------------------------------------------------------------------------- |