- /* Attempts to receive batch of packets from 'rx' and place array of
- * pointers into '*pkts'. netdev is responsible for allocating buffers.
- * '*cnt' points to packet count for given batch. Once packets are returned
- * to caller, netdev should give up ownership of ofpbuf data.
- *
- * Implementations should allocate buffer with DP_NETDEV_HEADROOM headroom
- * and add a VLAN header which is obtained out-of-band to the packet.
- *
- * Caller is expected to pass array of size MAX_RX_BATCH.
- * This function may be set to null if it would always return EOPNOTSUPP
- * anyhow. */
+ /* Attempts to receive a batch of packets from 'rx'. The caller supplies
+ * 'pkts' as the pointer to the beginning of an array of MAX_RX_BATCH
+ * pointers to dp_packet. If successful, the implementation stores
+ * pointers to up to MAX_RX_BATCH dp_packets into the array, transferring
+ * ownership of the packets to the caller, stores the number of received
+ * packets into '*cnt', and returns 0.
+ *
+ * The implementation does not necessarily initialize any non-data members
+ * of 'pkts'. That is, the caller must initialize layer pointers and
+ * metadata itself, if desired, e.g. with pkt_metadata_init() and
+ * miniflow_extract().
+ *
+ * Implementations should allocate buffers with DP_NETDEV_HEADROOM bytes of
+ * headroom.
+ *
+ * Returns EAGAIN immediately if no packet is ready to be received or
+ * another positive errno value if an error was encountered. */