Signed-off-by: Michael Brown <mcb30@ipxe.org>
struct ipoib_mac ll_src;
struct ipoib_peer *src;
+ /* Record errors */
if ( rc != 0 ) {
netdev_rx_err ( netdev, iobuf, rc );
return;
return;
}
ipoib_hdr = iobuf->data;
+ if ( ! av ) {
+ DBGC ( ipoib, "IPoIB %p received packet without address "
+ "vector\n", ipoib );
+ netdev_rx_err ( netdev, iobuf, -ENOTTY );
+ return;
+ }
/* Parse source address */
if ( av->gid_present ) {
IB_QPT_GSI,
IB_QPT_UD,
IB_QPT_RC,
+ IB_QPT_ETH,
};
/** An Infiniband Queue Pair */
*
* @v ibdev Infiniband device
* @v qp Queue pair
- * @v av Address vector
+ * @v av Address vector, or NULL
* @v iobuf I/O buffer
* @v rc Completion status code
*/