Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 11 May 2013 19:05:38 +0000 (UTC)
From:      Hiroki Sato <hrs@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r250523 - in head/sys: net netinet
Message-ID:  <201305111905.r4BJ5cFO022984@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: hrs
Date: Sat May 11 19:05:38 2013
New Revision: 250523
URL: http://svnweb.freebsd.org/changeset/base/250523

Log:
  Add IFF_MONITOR support to gre(4).
  
  Tested by:	Chip Marshall
  MFC after:	1 week

Modified:
  head/sys/net/if_gre.c
  head/sys/netinet/ip_gre.c

Modified: head/sys/net/if_gre.c
==============================================================================
--- head/sys/net/if_gre.c	Sat May 11 18:06:51 2013	(r250522)
+++ head/sys/net/if_gre.c	Sat May 11 19:05:38 2013	(r250523)
@@ -341,6 +341,12 @@ gre_output(struct ifnet *ifp, struct mbu
 	if (bpf_peers_present(ifp->if_bpf))
 		bpf_mtap2(ifp->if_bpf, &af, sizeof(af), m);
 
+	if ((ifp->if_flags & IFF_MONITOR) != 0) {
+		m_freem(m);
+		error = ENETDOWN;
+		goto end;
+	}
+
 	m->m_flags &= ~(M_BCAST|M_MCAST);
 
 	if (sc->g_proto == IPPROTO_MOBILE) {

Modified: head/sys/netinet/ip_gre.c
==============================================================================
--- head/sys/netinet/ip_gre.c	Sat May 11 18:06:51 2013	(r250522)
+++ head/sys/netinet/ip_gre.c	Sat May 11 19:05:38 2013	(r250523)
@@ -205,6 +205,11 @@ gre_input2(struct mbuf *m ,int hlen, u_c
 		bpf_mtap2(GRE2IFP(sc)->if_bpf, &af, sizeof(af), m);
 	}
 
+	if ((GRE2IFP(sc)->if_flags & IFF_MONITOR) != 0) {
+		m_freem(m);
+		return(NULL);
+	}
+
 	m->m_pkthdr.rcvif = GRE2IFP(sc);
 
 	netisr_queue(isr, m);
@@ -287,6 +292,11 @@ gre_mobile_input(struct mbuf *m, int hle
 		bpf_mtap2(GRE2IFP(sc)->if_bpf, &af, sizeof(af), m);
 	}
 
+	if ((GRE2IFP(sc)->if_flags & IFF_MONITOR) != 0) {
+		m_freem(m);
+		return;
+	}
+
 	m->m_pkthdr.rcvif = GRE2IFP(sc);
 
 	netisr_queue(NETISR_IP, m);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201305111905.r4BJ5cFO022984>