SEARCH  

NEWS

2010.10.06:11:36:28
OnetVOD: filmy i seriale w pakiecie VODmax
Onet VOD wprowadził pakiet VODmax, który umożliwia nieograniczony dostęp do ponad 200 godzin płatnych materiałów wideo o charakterze premium dostępnych w serwisie: amerykańskich seriali z wytwórni Warner Bros, polskich produkcji, w tym prapremier seriali TVN oraz kilkudziesięciu filmów fabularnych.

 

messageID:510860007164
author:Kyle Moffett
title:Re PATCH 1 2 ethtool h Add defines for u
From: Kyle Moffett <Kyle.D.Moffett@xxxxxxxxxx Date: Fri, 27 Aug 2010 15:42:17 -0400 A large variety of fiber ethernet PHYs and some copper ethernet PHYs support forced "unidirectional link" modes. Some signalling modes are designed for last-mile ethernet plants while others are designed for strict security isolation (fiber with no return-path). In order to configure those kinds of forced modes from userspace, we need to add additional options to the "ethtool" interface. As such "unidirectional" ethernet modes most closely resemble ethernet "duplex", we add two additional DUPLEX_* defines to the ethtool interface: #define DUPLEX_TXONLY 0x02 #define DUPLEX_RXONLY 0x03 Most ethernet PHYs will still need to be configured internally in a mode with autoneg off and duplex full, except for a few model-specific PHY register adjustments. Most PHYs can simply use a regular forced-mode for rx-only configuration, but it may be useful in the ethernet driver to completely disable the TX queues or similar. Signed-off-by: Kyle Moffett <Kyle.D.Moffett@xxxxxxxxxx A fine idea, but youre really going to have to audit all of the networking drivers to clean up the existing uses that assume this thing is a bitmap and that there are only essentially two values (0 and 1). For example: drivers/net/e1000/e1000_main.c: case SPEED_10 + DUPLEX_HALF: drivers/net/e1000/e1000_main.c: case SPEED_100 + DUPLEX_HALF: drivers/net/e1000/e1000_main.c: case SPEED_1000 + DUPLEX_HALF: /* not supported */ drivers/net/e1000e/ethtool.c: case SPEED_10 + DUPLEX_HALF: drivers/net/e1000e/ethtool.c: case SPEED_100 + DUPLEX_HALF: drivers/net/e1000e/ethtool.c: case SPEED_1000 + DUPLEX_HALF: /* not supported */ drivers/net/igb/igb_main.c: case SPEED_10 + DUPLEX_HALF: drivers/net/igb/igb_main.c: case SPEED_100 + DUPLEX_HALF: drivers/net/igb/igb_main.c: case SPEED_1000 + DUPLEX_HALF: /* not supported */ drivers/net/sungem_phy.c: phy- duplex |= DUPLEX_HALF; drivers/net/sungem_phy.c: phy- duplex |= DUPLEX_HALF; Also, drivers/net/mii.c does stuff like: ecmd- duplex = !!(nego & ADVERTISED_1000baseT_Full); It also (probably correctly, I dont know, youll have to decide) rejects anything other than the existing values. if (ecmd- duplex != DUPLEX_HALF && ecmd- duplex != DUPLEX_FULL) return -EINVAL; Finally, phy_ethtool_sset() does this too, so with your patch applied even phylib would reject the new settings: if (cmd- autoneg == AUTONEG_DISABLE && ((cmd- speed != SPEED_1000 && cmd- speed != SPEED_100 && cmd- speed != SPEED_10) || (cmd- duplex != DUPLEX_HALF && cmd- duplex != DUPLEX_FULL))) return -EINVAL; making it impossible to add support for TX-only or RX-only in a phylib using driver. There are probably other similar dragons hiding in various drivers, youll really have to do a full audit of how every driver stores and makes use of duplex settings before we can seriously apply this patch. Thanks! -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at rel="nofollow" vger.kernel.org/majordomo-info.html vger.kernel.org/majordomo-info.html
Index