[ofw] [Patch] [IPoIB_NDIS6_CM] Calling receive statistics twice
Smith, Stan
stan.smith at intel.com
Wed Jan 13 09:43:49 PST 2010
Revision: 2657
Author: stansmith
Date: 9:39:56 AM, Wednesday, January 13, 2010
Message:
[IPOIB/IPOIB_NDIS6_CM] fix the problem when IPoIB increments the receive statistics twice.
Signed-off by: Tzachi Dar (tzachid at mellanox.co.il)
Signed-off by: Alex Naslednikov (xalex at mellanox.co.il)
----
Modified : /gen1/branches/WOF2-2/ulp/ipoib/kernel/ipoib_port.c
Modified : /gen1/branches/WOF2-2/ulp/ipoib_NDIS6_CM/kernel/ipoib_port.cpp
Modified : /gen1/trunk/ulp/ipoib/kernel/ipoib_port.c
Modified : /gen1/trunk/ulp/ipoib_NDIS6_CM/kernel/ipoib_port.cpp
Alex Naslednikov wrote:
> This patch fixes the same problem
> when reporting the statistic twice
> for IPoIB based on NDIS 5.3
>
> Index: ipoib_port.c
> ===================================================================
> --- ipoib_port.c (revision 5436)
> +++ ipoib_port.c (working copy)
> @@ -2136,7 +2136,6 @@
> }
> else
> {
> - ip_stat_sel_t ip_stat;
> p_desc->len =
> len + sizeof(eth_hdr_t) -
> sizeof(ipoib_hdr_t);
> if( p_dst->h_mcast)
> @@ -2147,22 +2146,18 @@
>
> p_dst->dgid.multicast.raw_group_id[13] == 0xFF )
> {
> p_desc->type = PKT_TYPE_BCAST;
> - ip_stat = IP_STAT_BCAST_BYTES;
> }
> else
> {
> p_desc->type = PKT_TYPE_MCAST;
> - ip_stat = IP_STAT_MCAST_BYTES;
> }
> }
> else
> {
> p_desc->type = PKT_TYPE_UCAST;
> - ip_stat = IP_STAT_UCAST_BYTES;
>
> }
> cl_qlist_insert_tail( p_done_list,
> &p_desc->item.list_item );
> - ipoib_inc_recv_stat( p_port->p_adapter,ip_stat ,
> p_desc->len );
> }
> }
>
>
> -----Original Message-----
> From: Alex Naslednikov
> Sent: Monday, January 04, 2010 1:02 PM
> To: ofw at lists.openfabrics.org
> Cc: Tzachi Dar
> Subject: [ofw] [Patch] [IPoIB_NDIS6_CM] Calling receive statistics
> twice
>
> This patch fixes the problem when IPoIB increments the receive
> statistics twice Signed-off by: Tzachi Dar (tzachid at mellanox.co.il)
> Index:
> D:/windows/MLNX_WinOF_trunk/ulp/ipoib_NDIS6_CM/kernel/ipoib_port.cpp
> ===================================================================
> ---
> D:/windows/MLNX_WinOF_trunk/ulp/ipoib_NDIS6_CM/kernel/ipoib_port.cpp
> (revision 5415) +++
> D:/windows/MLNX_WinOF_trunk/ulp/ipoib_NDIS6_CM/kernel/ipoib_port.cpp
>
> +++ (revision 5416)
> @@ -2958,7 +2958,6 @@
> {
> NDIS_STATUS status;
> uint32_t pkt_filter;
> - ip_stat_sel_t type;
> //NDIS60
> NDIS_TCP_IP_CHECKSUM_NET_BUFFER_LIST_INFO chksum;
> //NDIS_TCP_IP_CHECKSUM_PACKET_INFO chksum; @@ -2980,14 +2979,12 @@
> pkt_filter & NDIS_PACKET_TYPE_DIRECTED )
> {
> /* OK to report. */
> - type = IP_STAT_UCAST_BYTES;
> status = NDIS_STATUS_SUCCESS;
> IPOIB_PRINT( TRACE_LEVEL_VERBOSE, IPOIB_DBG_ERROR,
> ("Received UCAST PKT.\n"));
> }
> else
> {
> - type = IP_STAT_DROPPED;
> status = NDIS_STATUS_FAILURE;
> IPOIB_PRINT( TRACE_LEVEL_ERROR, IPOIB_DBG_ERROR,
> ("Received UCAST PKT with ERROR !!!!\n")); @@ -2998,14 +2995,12
> @@ pkt_filter & NDIS_PACKET_TYPE_BROADCAST )
> {
> /* OK to report. */
> - type = IP_STAT_BCAST_BYTES;
> status = NDIS_STATUS_SUCCESS;
> IPOIB_PRINT( TRACE_LEVEL_VERBOSE, IPOIB_DBG_RECV,
> ("Received BCAST PKT.\n"));
> }
> else
> {
> - type = IP_STAT_DROPPED;
> status = NDIS_STATUS_FAILURE;
> IPOIB_PRINT( TRACE_LEVEL_ERROR, IPOIB_DBG_ERROR,
> ("Received BCAST PKT with ERROR !!!!\n")); @@ -3017,14 +3012,12 @@
> pkt_filter & NDIS_PACKET_TYPE_MULTICAST )
> {
> /* OK to report. */
> - type = IP_STAT_MCAST_BYTES;
> status = NDIS_STATUS_SUCCESS;
> IPOIB_PRINT( TRACE_LEVEL_VERBOSE, IPOIB_DBG_RECV,
> ("Received UCAST PKT.\n"));
> }
> else
> {
> - type = IP_STAT_DROPPED;
> status = NDIS_STATUS_FAILURE;
> IPOIB_PRINT( TRACE_LEVEL_ERROR, IPOIB_DBG_ERROR,
> ("Received MCAST PKT with ERROR !!!!\n")); @@ -3034,7 +3027,6 @@
>
> if( status != NDIS_STATUS_SUCCESS )
> {
> - ipoib_inc_recv_stat( p_port->p_adapter, type, 0, 0 );
> /* Return the receive descriptor to the pool. */
> __buf_mgr_put_recv( p_port, p_desc, NULL );
> IPOIB_PRINT_EXIT( TRACE_LEVEL_ERROR, IPOIB_DBG_ERROR, @@ -3088,7
> +3080,6 @@
> (void*)(uintn_t)chksum.Value;
> break;
> }
> - ipoib_inc_recv_stat( p_port->p_adapter, type, p_desc->len, 1 );
>
> IPOIB_EXIT( IPOIB_DBG_RECV );
> return IB_SUCCESS;
>
> _______________________________________________
> ofw mailing list
> ofw at lists.openfabrics.org
> http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw
More information about the ofw
mailing list