From: sleybo Date: Thu, 23 Nov 2006 14:18:13 +0000 (+0000) Subject: [IPOIB] filter out packets with payload MTU bigger then our adapter payload MTU X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=e5b7739039ce170198f29cfae7ee1e83ad4da526;p=~shefty%2Frdma-win.git [IPOIB] filter out packets with payload MTU bigger then our adapter payload MTU git-svn-id: svn://openib.tc.cornell.edu/gen1@547 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86 --- diff --git a/trunk/ulp/ipoib/kernel/ipoib_port.c b/trunk/ulp/ipoib/kernel/ipoib_port.c index 36ef5861..26c6ee2f 100644 --- a/trunk/ulp/ipoib/kernel/ipoib_port.c +++ b/trunk/ulp/ipoib/kernel/ipoib_port.c @@ -1886,6 +1886,17 @@ __recv_mgr_filter( continue; } + if((len - sizeof(ipoib_hdr_t)) > p_port->p_adapter->params.payload_mtu) + { + IPOIB_PRINT( TRACE_LEVEL_ERROR, IPOIB_DBG_ERROR, + ("Received ETH packet > payload MTU (%d)\n", + p_port->p_adapter->params.payload_mtu) ); + ipoib_inc_recv_stat( p_port->p_adapter, IP_STAT_ERROR, 0 ); + cl_qlist_insert_tail( p_bad_list, &p_desc->item.list_item ); + ipoib_port_deref( p_port, ref_recv_inv_len ); + continue; + + } /* Successful completion. Get the receive information. */ cl_perf_start( GetRecvEndpts ); __recv_get_endpts( p_port, p_desc, p_wc, &p_src, &p_dst );