Feature #178 » 82573l-jumbo.diff
usr/src/uts/common/io/e1000g/e1000g_main.c | ||
---|---|---|
860 | 860 |
static void |
861 | 861 |
e1000g_setup_max_mtu(struct e1000g *Adapter) |
862 | 862 |
{ |
863 |
struct e1000_mac_info *mac = &Adapter->shared.mac; |
|
864 |
struct e1000_phy_info *phy = &Adapter->shared.phy; |
|
863 |
struct e1000_hw *hw = &Adapter->shared; |
|
864 |
struct e1000_mac_info *mac = &hw->mac; |
|
865 |
struct e1000_phy_info *phy = &hw->phy; |
|
865 | 866 | |
866 | 867 |
switch (mac->type) { |
867 | 868 |
/* types that do not support jumbo frames */ |
868 | 869 |
case e1000_ich8lan: |
869 |
case e1000_82573: |
|
870 | 870 |
case e1000_82583: |
871 | 871 |
Adapter->max_mtu = ETHERMTU; |
872 | 872 |
break; |
873 |
/* 82573L supports jumbo frames, if ASPM is disabled (0x1A[3:2] set to 00b), |
|
874 |
* and ERT is disabled (XXX: no docs found how to do that). |
|
875 |
* 82573E/V do not support jumbo frames. |
|
876 |
* see also errata 17. |
|
877 |
* XXX: assuming here that MAXIMUM_MTU_9K is ok, although the value looks |
|
878 |
* different (docs say 9014/9234, constant is 9216) |
|
879 |
*/ |
|
880 |
case e1000_82573: |
|
881 |
if (hw->device_id == E1000_DEV_ID_82573L) |
|
882 |
Adapter->max_mtu = MAXIMUM_MTU_9K; |
|
883 |
else |
|
884 |
Adapter->max_mtu = ETHERMTU; |
|
885 |
break; |
|
873 | 886 |
/* ich9 supports jumbo frames except on one phy type */ |
874 | 887 |
case e1000_ich9lan: |
875 | 888 |
if (phy->type == e1000_phy_ife) |
usr/src/uts/common/io/e1000g/e1000g_sw.h | ||
---|---|---|
270 | 270 | |
271 | 271 |
#define DEFAULT_MTU ETHERMTU |
272 | 272 |
#define MAXIMUM_MTU_4K 4096 |
273 |
/* XXX: |
|
274 |
* "PCIe* GbE Controllers Open Source Software Developer’s Manual" |
|
275 |
* for 631xESB/632xESB, 82563EB/82564EB, 82571EB/82572EI & 82573E/82573V/82573L |
|
276 |
* says that the mtu is "Ethernet controllers support |
|
277 |
* jumbo packet reception of up to 9014 bytes (9234 byes[sic!] for the |
|
278 |
* 82571EB/82572EI/631xESB/632xESB)." |
|
279 |
*/ |
|
273 | 280 |
#define MAXIMUM_MTU_9K 9216 |
274 | 281 | |
275 | 282 |
#define DEFAULT_FRAME_SIZE \ |