Hello!

I noticed that ixgbe driver doesn't report SUPPORTED_Pause and
ADVERTISED_Pause flags to ethtool. This means that ethtool
always reports:
        Supported pause frame use: No
        Advertised pause frame use: No
I added reporting for capabilities and advertising.
I tested it with our ixgbe card and latest ethtool
 from git repo. I also need to add capability to
change advertising parameters with "ethtool -s advertise %x",
but will send in a different patch if this patch looks ok.

Signed-off-by: Esa-Pekka Pyokkimies <esa-pekka.pyokkim...@stonesoft.com>
---
diff --git a/drivers/net/ixgbe/ixgbe_ethtool.c  
b/drivers/net/ixgbe/ixgbe_ethtool.c
index cb1555b..6005116 100644
--- a/drivers/net/ixgbe/ixgbe_ethtool.c
+++ b/drivers/net/ixgbe/ixgbe_ethtool.c
@@ -150,6 +150,7 @@ static int ixgbe_get_settings(struct net_device  
*netdev,
        bool link_up;

        ecmd->supported = SUPPORTED_10000baseT_Full;
+       ecmd->supported |= SUPPORTED_Pause;
        ecmd->autoneg = AUTONEG_ENABLE;
        ecmd->transceiver = XCVR_EXTERNAL;
        if ((hw->phy.media_type == ixgbe_media_type_copper) ||
@@ -231,6 +232,21 @@ static int ixgbe_get_settings(struct net_device  
*netdev,
                ecmd->autoneg = AUTONEG_DISABLE;
        }

+       if (hw->fc.current_mode == ixgbe_fc_full) {
+               ecmd->advertising |= ADVERTISED_Pause;
+       } else if (hw->fc.current_mode == ixgbe_fc_rx_pause) {
+               ecmd->advertising |= ADVERTISED_Pause;
+               ecmd->advertising |= ADVERTISED_Asym_Pause;
+       } else if (hw->fc.current_mode == ixgbe_fc_tx_pause) {
+               ecmd->advertising |= ADVERTISED_Asym_Pause;
+       } else if (hw->fc.current_mode == ixgbe_fc_none) {
+               /* Correctly initialized */
+       } else if (hw->fc.current_mode == ixgbe_fc_pfc) {
+               /* Ethtool doesn't know about this mode */
+       } else {
+               /* Future modes */
+       }
+
        /* Get PHY type */
        switch (adapter->hw.phy.type) {
        case ixgbe_phy_tn:


-- 
Using Opera's revolutionary email client: http://www.opera.com/mail/

------------------------------------------------------------------------------
Simplify data backup and recovery for your virtual environment with vRanger.
Installation's a snap, and flexible recovery options mean your data is safe,
secure and there when you need it. Discover what all the cheering's about.
Get your free trial download today. 
http://p.sf.net/sfu/quest-dev2dev2 
_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel&#174; Ethernet, visit 
http://communities.intel.com/community/wired

Reply via email to