socsvn commit: r305303 - soc2016/vincenzo/head/sys/dev/netmap

vincenzo at FreeBSD.org vincenzo at FreeBSD.org
Fri Jun 17 16:26:21 UTC 2016


Author: vincenzo
Date: Fri Jun 17 16:26:20 2016
New Revision: 305303
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=305303

Log:
   freebsd: ptnet_transmit: drop if no available space in the ring

Modified:
  soc2016/vincenzo/head/sys/dev/netmap/if_ptnet.c

Modified: soc2016/vincenzo/head/sys/dev/netmap/if_ptnet.c
==============================================================================
--- soc2016/vincenzo/head/sys/dev/netmap/if_ptnet.c	Fri Jun 17 16:26:11 2016	(r305302)
+++ soc2016/vincenzo/head/sys/dev/netmap/if_ptnet.c	Fri Jun 17 16:26:20 2016	(r305303)
@@ -764,6 +764,14 @@
 	nmbuf = NMB(na, slot);
 	nmbuf_bytes = 0;
 
+	if (head == ring->tail) {
+		device_printf(sc->dev, "%s: Drop, no free slots\n", __func__);
+		m_freem(m);
+		ptring->guest_need_kick = 1;
+
+		return 0;
+	}
+
 	for (mf = m; mf; mf = mf->m_next) {
 		uint8_t *mdata = mf->m_data;
 		int mlen = mf->m_len;


More information about the svn-soc-all mailing list