summaryrefslogtreecommitdiff
path: root/debian/patches/libdde_ethtool.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/libdde_ethtool.patch')
-rw-r--r--debian/patches/libdde_ethtool.patch98
1 files changed, 98 insertions, 0 deletions
diff --git a/debian/patches/libdde_ethtool.patch b/debian/patches/libdde_ethtool.patch
new file mode 100644
index 00000000..9e52d1b5
--- /dev/null
+++ b/debian/patches/libdde_ethtool.patch
@@ -0,0 +1,98 @@
+diff --git a/libdde_linux26/contrib/include/linux/ethtool.h b/libdde_linux26/contrib/include/linux/ethtool.h
+index 27c67a5..45f34dc 100644
+--- a/libdde_linux26/contrib/include/linux/ethtool.h
++++ b/libdde_linux26/contrib/include/linux/ethtool.h
+@@ -25,11 +25,14 @@ 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];
++ __u8 eth_tp_mdix;
++ __u8 reserved2;
++ __u32 lp_advertising; /* Features the link partner advertises */
++ __u32 reserved[2];
+ };
+
+ static inline void ethtool_cmd_speed_set(struct ethtool_cmd *ep,
+@@ -469,6 +472,13 @@ struct ethtool_ops {
+ #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 */
++#define ETHTOOL_FLASHDEV 0x00000033 /* Flash firmware to device */
+
+ /* compatibility with older code */
+ #define SPARC_ETH_GSET ETHTOOL_GSET
+@@ -491,6 +501,11 @@ struct ethtool_ops {
+ #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)
+@@ -509,6 +524,11 @@ struct ethtool_ops {
+ #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
+@@ -533,6 +553,7 @@ struct ethtool_ops {
+ #define PORT_MII 0x02
+ #define PORT_FIBRE 0x03
+ #define PORT_BNC 0x04
++#define PORT_OTHER 0xff
+
+ /* Which transceiver to use. */
+ #define XCVR_INTERNAL 0x00
+@@ -547,6 +568,11 @@ struct ethtool_ops {
+ #define AUTONEG_DISABLE 0x00
+ #define AUTONEG_ENABLE 0x01
+
++/* Mode MDI or MDI-X */
++#define ETH_TP_MDI_INVALID 0x00
++#define ETH_TP_MDI 0x01
++#define ETH_TP_MDI_X 0x02
++
+ /* Wake-On-Lan options. */
+ #define WAKE_PHY (1 << 0)
+ #define WAKE_UCAST (1 << 1)
+@@ -565,6 +591,11 @@ struct ethtool_ops {
+ #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)
+@@ -577,5 +608,6 @@ struct ethtool_ops {
+ #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 */