aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/netmap/netmap_generic.c
diff options
context:
space:
mode:
authorLuiz Otavio O Souza <loos@FreeBSD.org>2017-07-21 03:28:35 +0000
committerLuiz Otavio O Souza <loos@FreeBSD.org>2017-07-21 03:28:35 +0000
commita02dbe4ca1d292bc29670c1b8ebbdbd8eee618b5 (patch)
tree7aa44f37f3a1bfa71097e5736eeb4397c362a887 /sys/dev/netmap/netmap_generic.c
parent9ffd0f54a7da25b6870b1cf1fa1049c18430ed48 (diff)
Notes
Diffstat (limited to 'sys/dev/netmap/netmap_generic.c')
-rw-r--r--sys/dev/netmap/netmap_generic.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/dev/netmap/netmap_generic.c b/sys/dev/netmap/netmap_generic.c
index aea1b61096260..30f83a920825d 100644
--- a/sys/dev/netmap/netmap_generic.c
+++ b/sys/dev/netmap/netmap_generic.c
@@ -75,6 +75,7 @@ __FBSDID("$FreeBSD$");
#include <sys/socket.h> /* sockaddrs */
#include <sys/selinfo.h>
#include <net/if.h>
+#include <net/if_types.h>
#include <net/if_var.h>
#include <machine/bus.h> /* bus_dmamap_* in netmap_kern.h */
@@ -1198,6 +1199,13 @@ generic_netmap_attach(struct ifnet *ifp)
int retval;
u_int num_tx_desc, num_rx_desc;
+#ifdef __FreeBSD__
+ if (ifp->if_type == IFT_LOOP) {
+ D("if_loop is not supported by %s", __func__);
+ return EINVAL;
+ }
+#endif
+
num_tx_desc = num_rx_desc = netmap_generic_ringsize; /* starting point */
nm_os_generic_find_num_desc(ifp, &num_tx_desc, &num_rx_desc); /* ignore errors */