+ struct netdev_rxq_bsd *rxq = netdev_rxq_bsd_cast(rxq_);
+ struct netdev *netdev = rxq->up.netdev;
+ struct ofpbuf *buffer;
+ ssize_t retval;
+ int mtu;
+
+ if (netdev_bsd_get_mtu(netdev, &mtu)) {
+ mtu = ETH_PAYLOAD_MAX;
+ }
+
+ buffer = ofpbuf_new_with_headroom(VLAN_ETH_HEADER_LEN + mtu, DP_NETDEV_HEADROOM);
+
+ retval = (rxq->pcap_handle
+ ? netdev_rxq_bsd_recv_pcap(rxq, buffer)
+ : netdev_rxq_bsd_recv_tap(rxq, buffer));