| /* |
| * Copyright (C) 2005 - 2008 ServerEngines |
| * All rights reserved. |
| * |
| * This program is free software; you can redistribute it and/or |
| * modify it under the terms of the GNU General Public License version 2 |
| * as published by the Free Software Foundation. The full GNU General |
| * Public License is included in this distribution in the file called COPYING. |
| * |
| * Contact Information: |
| * linux-drivers@serverengines.com |
| * |
| * ServerEngines |
| * 209 N. Fair Oaks Ave |
| * Sunnyvale, CA 94085 |
| */ |
| /* |
| * Autogenerated by srcgen version: 0127 |
| */ |
| #ifndef __fwcmd_eth_bmap_h__ |
| #define __fwcmd_eth_bmap_h__ |
| #include "fwcmd_hdr_bmap.h" |
| #include "fwcmd_types_bmap.h" |
| |
| struct MIB_ETH_STATISTICS_PARAMS_IN { |
| u32 rsvd0; |
| } __packed; |
| |
| struct BE_RXF_STATS { |
| u32 p0recvdtotalbytesLSD; /* DWORD 0 */ |
| u32 p0recvdtotalbytesMSD; /* DWORD 1 */ |
| u32 p0recvdtotalframes; /* DWORD 2 */ |
| u32 p0recvdunicastframes; /* DWORD 3 */ |
| u32 p0recvdmulticastframes; /* DWORD 4 */ |
| u32 p0recvdbroadcastframes; /* DWORD 5 */ |
| u32 p0crcerrors; /* DWORD 6 */ |
| u32 p0alignmentsymerrs; /* DWORD 7 */ |
| u32 p0pauseframesrecvd; /* DWORD 8 */ |
| u32 p0controlframesrecvd; /* DWORD 9 */ |
| u32 p0inrangelenerrors; /* DWORD 10 */ |
| u32 p0outrangeerrors; /* DWORD 11 */ |
| u32 p0frametoolongerrors; /* DWORD 12 */ |
| u32 p0droppedaddressmatch; /* DWORD 13 */ |
| u32 p0droppedvlanmismatch; /* DWORD 14 */ |
| u32 p0ipdroppedtoosmall; /* DWORD 15 */ |
| u32 p0ipdroppedtooshort; /* DWORD 16 */ |
| u32 p0ipdroppedhdrtoosmall; /* DWORD 17 */ |
| u32 p0tcpdroppedlen; /* DWORD 18 */ |
| u32 p0droppedrunt; /* DWORD 19 */ |
| u32 p0recvd64; /* DWORD 20 */ |
| u32 p0recvd65_127; /* DWORD 21 */ |
| u32 p0recvd128_256; /* DWORD 22 */ |
| u32 p0recvd256_511; /* DWORD 23 */ |
| u32 p0recvd512_1023; /* DWORD 24 */ |
| u32 p0recvd1518_1522; /* DWORD 25 */ |
| u32 p0recvd1522_2047; /* DWORD 26 */ |
| u32 p0recvd2048_4095; /* DWORD 27 */ |
| u32 p0recvd4096_8191; /* DWORD 28 */ |
| u32 p0recvd8192_9216; /* DWORD 29 */ |
| u32 p0rcvdipcksmerrs; /* DWORD 30 */ |
| u32 p0recvdtcpcksmerrs; /* DWORD 31 */ |
| u32 p0recvdudpcksmerrs; /* DWORD 32 */ |
| u32 p0recvdnonrsspackets; /* DWORD 33 */ |
| u32 p0recvdippackets; /* DWORD 34 */ |
| u32 p0recvdchute1packets; /* DWORD 35 */ |
| u32 p0recvdchute2packets; /* DWORD 36 */ |
| u32 p0recvdchute3packets; /* DWORD 37 */ |
| u32 p0recvdipsecpackets; /* DWORD 38 */ |
| u32 p0recvdmanagementpackets; /* DWORD 39 */ |
| u32 p0xmitbyteslsd; /* DWORD 40 */ |
| u32 p0xmitbytesmsd; /* DWORD 41 */ |
| u32 p0xmitunicastframes; /* DWORD 42 */ |
| u32 p0xmitmulticastframes; /* DWORD 43 */ |
| u32 p0xmitbroadcastframes; /* DWORD 44 */ |
| u32 p0xmitpauseframes; /* DWORD 45 */ |
| u32 p0xmitcontrolframes; /* DWORD 46 */ |
| u32 p0xmit64; /* DWORD 47 */ |
| u32 p0xmit65_127; /* DWORD 48 */ |
| u32 p0xmit128_256; /* DWORD 49 */ |
| u32 p0xmit256_511; /* DWORD 50 */ |
| u32 p0xmit512_1023; /* DWORD 51 */ |
| u32 p0xmit1518_1522; /* DWORD 52 */ |
| u32 p0xmit1522_2047; /* DWORD 53 */ |
| u32 p0xmit2048_4095; /* DWORD 54 */ |
| u32 p0xmit4096_8191; /* DWORD 55 */ |
| u32 p0xmit8192_9216; /* DWORD 56 */ |
| u32 p0rxfifooverflowdropped; /* DWORD 57 */ |
| u32 p0ipseclookupfaileddropped; /* DWORD 58 */ |
| u32 p1recvdtotalbytesLSD; /* DWORD 59 */ |
| u32 p1recvdtotalbytesMSD; /* DWORD 60 */ |
| u32 p1recvdtotalframes; /* DWORD 61 */ |
| u32 p1recvdunicastframes; /* DWORD 62 */ |
| u32 p1recvdmulticastframes; /* DWORD 63 */ |
| u32 p1recvdbroadcastframes; /* DWORD 64 */ |
| u32 p1crcerrors; /* DWORD 65 */ |
| u32 p1alignmentsymerrs; /* DWORD 66 */ |
| u32 p1pauseframesrecvd; /* DWORD 67 */ |
| u32 p1controlframesrecvd; /* DWORD 68 */ |
| u32 p1inrangelenerrors; /* DWORD 69 */ |
| u32 p1outrangeerrors; /* DWORD 70 */ |
| u32 p1frametoolongerrors; /* DWORD 71 */ |
| u32 p1droppedaddressmatch; /* DWORD 72 */ |
| u32 p1droppedvlanmismatch; /* DWORD 73 */ |
| u32 p1ipdroppedtoosmall; /* DWORD 74 */ |
| u32 p1ipdroppedtooshort; /* DWORD 75 */ |
| u32 p1ipdroppedhdrtoosmall; /* DWORD 76 */ |
| u32 p1tcpdroppedlen; /* DWORD 77 */ |
| u32 p1droppedrunt; /* DWORD 78 */ |
| u32 p1recvd64; /* DWORD 79 */ |
| u32 p1recvd65_127; /* DWORD 80 */ |
| u32 p1recvd128_256; /* DWORD 81 */ |
| u32 p1recvd256_511; /* DWORD 82 */ |
| u32 p1recvd512_1023; /* DWORD 83 */ |
| u32 p1recvd1518_1522; /* DWORD 84 */ |
| u32 p1recvd1522_2047; /* DWORD 85 */ |
| u32 p1recvd2048_4095; /* DWORD 86 */ |
| u32 p1recvd4096_8191; /* DWORD 87 */ |
| u32 p1recvd8192_9216; /* DWORD 88 */ |
| u32 p1rcvdipcksmerrs; /* DWORD 89 */ |
| u32 p1recvdtcpcksmerrs; /* DWORD 90 */ |
| u32 p1recvdudpcksmerrs; /* DWORD 91 */ |
| u32 p1recvdnonrsspackets; /* DWORD 92 */ |
| u32 p1recvdippackets; /* DWORD 93 */ |
| u32 p1recvdchute1packets; /* DWORD 94 */ |
| u32 p1recvdchute2packets; /* DWORD 95 */ |
| u32 p1recvdchute3packets; /* DWORD 96 */ |
| u32 p1recvdipsecpackets; /* DWORD 97 */ |
| u32 p1recvdmanagementpackets; /* DWORD 98 */ |
| u32 p1xmitbyteslsd; /* DWORD 99 */ |
| u32 p1xmitbytesmsd; /* DWORD 100 */ |
| u32 p1xmitunicastframes; /* DWORD 101 */ |
| u32 p1xmitmulticastframes; /* DWORD 102 */ |
| u32 p1xmitbroadcastframes; /* DWORD 103 */ |
| u32 p1xmitpauseframes; /* DWORD 104 */ |
| u32 p1xmitcontrolframes; /* DWORD 105 */ |
| u32 p1xmit64; /* DWORD 106 */ |
| u32 p1xmit65_127; /* DWORD 107 */ |
| u32 p1xmit128_256; /* DWORD 108 */ |
| u32 p1xmit256_511; /* DWORD 109 */ |
| u32 p1xmit512_1023; /* DWORD 110 */ |
| u32 p1xmit1518_1522; /* DWORD 111 */ |
| u32 p1xmit1522_2047; /* DWORD 112 */ |
| u32 p1xmit2048_4095; /* DWORD 113 */ |
| u32 p1xmit4096_8191; /* DWORD 114 */ |
| u32 p1xmit8192_9216; /* DWORD 115 */ |
| u32 p1rxfifooverflowdropped; /* DWORD 116 */ |
| u32 p1ipseclookupfaileddropped; /* DWORD 117 */ |
| u32 pxdroppednopbuf; /* DWORD 118 */ |
| u32 pxdroppednotxpb; /* DWORD 119 */ |
| u32 pxdroppednoipsecbuf; /* DWORD 120 */ |
| u32 pxdroppednoerxdescr; /* DWORD 121 */ |
| u32 pxdroppednotpredescr; /* DWORD 122 */ |
| u32 pxrecvdmanagementportpackets; /* DWORD 123 */ |
| u32 pxrecvdmanagementportbytes; /* DWORD 124 */ |
| u32 pxrecvdmanagementportpauseframes; /* DWORD 125 */ |
| u32 pxrecvdmanagementporterrors; /* DWORD 126 */ |
| u32 pxxmitmanagementportpackets; /* DWORD 127 */ |
| u32 pxxmitmanagementportbytes; /* DWORD 128 */ |
| u32 pxxmitmanagementportpause; /* DWORD 129 */ |
| u32 pxxmitmanagementportrxfifooverflow; /* DWORD 130 */ |
| u32 pxrecvdipsecipcksmerrs; /* DWORD 131 */ |
| u32 pxrecvdtcpsecipcksmerrs; /* DWORD 132 */ |
| u32 pxrecvdudpsecipcksmerrs; /* DWORD 133 */ |
| u32 pxipsecrunt; /* DWORD 134 */ |
| u32 pxipsecaddressmismatchdropped; /* DWORD 135 */ |
| u32 pxipsecrxfifooverflowdropped; /* DWORD 136 */ |
| u32 pxipsecframestoolong; /* DWORD 137 */ |
| u32 pxipsectotalipframes; /* DWORD 138 */ |
| u32 pxipseciptoosmall; /* DWORD 139 */ |
| u32 pxipseciptooshort; /* DWORD 140 */ |
| u32 pxipseciphdrtoosmall; /* DWORD 141 */ |
| u32 pxipsectcphdrbad; /* DWORD 142 */ |
| u32 pxrecvdipsecchute1; /* DWORD 143 */ |
| u32 pxrecvdipsecchute2; /* DWORD 144 */ |
| u32 pxrecvdipsecchute3; /* DWORD 145 */ |
| u32 pxdropped7frags; /* DWORD 146 */ |
| u32 pxdroppedfrags; /* DWORD 147 */ |
| u32 pxdroppedinvalidfragring; /* DWORD 148 */ |
| u32 pxnumforwardedpackets; /* DWORD 149 */ |
| } __packed; |
| |
| union MIB_ETH_STATISTICS_PARAMS { |
| struct MIB_ETH_STATISTICS_PARAMS_IN request; |
| struct BE_RXF_STATS response; |
| } __packed; |
| |
| /* |
| * Query ethernet statistics. All domains may issue this command. The |
| * host domain drivers may optionally reset internal statistic counters |
| * with a query. |
| */ |
| struct FWCMD_ETH_GET_STATISTICS { |
| union FWCMD_HEADER header; |
| union MIB_ETH_STATISTICS_PARAMS params; |
| } __packed; |
| |
| |
| struct FWCMD_ETH_ANON_175_REQUEST { |
| u8 port0_promiscuous; |
| u8 port1_promiscuous; |
| u16 rsvd0; |
| } __packed; |
| |
| struct FWCMD_ETH_ANON_176_RESPONSE { |
| u32 rsvd0; |
| } __packed; |
| |
| union FWCMD_ETH_ANON_174_PARAMS { |
| struct FWCMD_ETH_ANON_175_REQUEST request; |
| struct FWCMD_ETH_ANON_176_RESPONSE response; |
| } __packed; |
| |
| /* Enables/Disables promiscuous ethernet receive mode. */ |
| struct FWCMD_ETH_PROMISCUOUS { |
| union FWCMD_HEADER header; |
| union FWCMD_ETH_ANON_174_PARAMS params; |
| } __packed; |
| |
| struct FWCMD_ETH_ANON_178_REQUEST { |
| u32 new_fragsize_log2; |
| } __packed; |
| |
| struct FWCMD_ETH_ANON_179_RESPONSE { |
| u32 actual_fragsize_log2; |
| } __packed; |
| |
| union FWCMD_ETH_ANON_177_PARAMS { |
| struct FWCMD_ETH_ANON_178_REQUEST request; |
| struct FWCMD_ETH_ANON_179_RESPONSE response; |
| } __packed; |
| |
| /* |
| * Sets the Ethernet RX fragment size. Only host (domain 0) networking |
| * drivers may issue this command. This call will fail for non-host |
| * protection domains. In this situation the MCC CQ status will indicate |
| * a failure due to insufficient priviledges. The response should be |
| * ignored, and the driver should use the FWCMD_ETH_GET_FRAG_SIZE to |
| * query the existing ethernet receive fragment size. It must use this |
| * fragment size for all fragments in the ethernet receive ring. If |
| * the command succeeds, the driver must use the frag size indicated |
| * in the command response since the requested frag size may not be applied |
| * until the next reboot. When the requested fragsize matches the response |
| * fragsize, this indicates the request was applied immediately. |
| */ |
| struct FWCMD_ETH_SET_RX_FRAG_SIZE { |
| union FWCMD_HEADER header; |
| union FWCMD_ETH_ANON_177_PARAMS params; |
| } __packed; |
| |
| struct FWCMD_ETH_ANON_181_REQUEST { |
| u32 rsvd0; |
| } __packed; |
| |
| struct FWCMD_ETH_ANON_182_RESPONSE { |
| u32 actual_fragsize_log2; |
| } __packed; |
| |
| union FWCMD_ETH_ANON_180_PARAMS { |
| struct FWCMD_ETH_ANON_181_REQUEST request; |
| struct FWCMD_ETH_ANON_182_RESPONSE response; |
| } __packed; |
| |
| /* |
| * Queries the Ethernet RX fragment size. All domains may issue this |
| * command. The driver should call this command to determine the minimum |
| * required fragment size for the ethernet RX ring buffers. Drivers |
| * may choose to use a larger size for each fragment buffer, but BladeEngine |
| * will use up to the configured minimum required fragsize in each ethernet |
| * receive fragment buffer. For example, if the ethernet receive fragment |
| * size is configured to 4kB, and a driver uses 8kB fragments, a 6kB |
| * ethernet packet received by BladeEngine will be split accross two |
| * of the driver's receive framgents (4kB in one fragment buffer, and |
| * 2kB in the subsequent fragment buffer). |
| */ |
| struct FWCMD_ETH_GET_RX_FRAG_SIZE { |
| union FWCMD_HEADER header; |
| union FWCMD_ETH_ANON_180_PARAMS params; |
| } __packed; |
| |
| #endif /* __fwcmd_eth_bmap_h__ */ |