Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 1 Apr 2010 11:56:32 GMT
From:      Ana Kukec <anchie@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 176403 for review
Message-ID:  <201004011156.o31BuWWY038070@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/chv.cgi?CH=176403

Change 176403 by anchie@anchie_malimis on 2010/04/01 11:56:27

	Code cleanup: removing old routing socket related code.	

Affected files ...

.. //depot/projects/soc2009/anchie_send/src/sys/net/rtsock.c#23 edit
.. //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.c#40 edit
.. //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.h#19 edit

Differences ...

==== //depot/projects/soc2009/anchie_send/src/sys/net/rtsock.c#23 (text+ko) ====

@@ -106,7 +106,6 @@
 static struct mbuf *rt_msg1(int type, struct rt_addrinfo *rtinfo);
 static int	rt_msg2(int type, struct rt_addrinfo *rtinfo,
 			caddr_t cp, struct walkarg *w);
-static void	rt_msg3(struct mbuf *, void *, size_t);
 static int	rt_xaddrs(caddr_t cp, caddr_t cplim,
 			struct rt_addrinfo *rtinfo);
 static int	sysctl_dumpentry(struct radix_node *rn, void *vw);
@@ -502,14 +501,12 @@
 		senderr(EINVAL);
 	}
 	info.rti_flags = rtm->rtm_flags;
-	if (rtm->rtm_type != RTM_SND) {
 		if (info.rti_info[RTAX_DST] == NULL ||
 	    		info.rti_info[RTAX_DST]->sa_family >= AF_MAX ||
 	    		(info.rti_info[RTAX_GATEWAY] != NULL &&
 	     		info.rti_info[RTAX_GATEWAY]->sa_family >= AF_MAX)) {
 			senderr(EINVAL);
 		}
-	}
 	/*
 	 * Verify that the caller has the appropriate privilege; RTM_GET
 	 * is the only operation the non-superuser is allowed.
@@ -556,44 +553,6 @@
 	switch (rtm->rtm_type) {
 		struct rtentry *saved_nrt;
 
-	case RTM_SND:
-		switch (rtm->rtm_seq) {
-			struct mbuf *n;
-
-		case RTM_SND_IN: 
-			ifp = ifnet_byindex(rtm->rtm_index);
-			if (!ifp)
-				senderr(EINVAL);
-
-			if ((n = m_dup(m, M_DONTWAIT)) == NULL)
-				senderr(ENOBUFS);
-			m_adj(n, sizeof(struct rt_msghdr));
-
-			printf("%s: RTM_SND_IN ifp=%p(%s), mbuf=%p\n",
-			    __func__, ifp, ifp->if_xname, n);
-			error = send_output_hook(n, ifp, SND_IN);
-			if (error)
-				senderr(error);
-			goto flush;
-		case RTM_SND_OUT:
-			ifp = ifnet_byindex(rtm->rtm_index);
-			if (!ifp)
-				senderr(EINVAL);
-
-			if ((n = m_dup(m, M_DONTWAIT)) == NULL)
-				senderr(ENOBUFS);
-			m_adj(n, sizeof(struct rt_msghdr));
-
-			printf("%s: RTM_SND_OUT ifp=%p(%s), mbuf=%p\n",
-			    __func__, ifp, ifp->if_xname, n);
-			error = send_output_hook(n, ifp, SND_OUT);
-			if (error)
-				senderr(error);
-			goto flush;
-		default:
-			senderr(EOPNOTSUPP);
-		}
-
 	case RTM_ADD:
 		if (info.rti_info[RTAX_GATEWAY] == NULL)
 			senderr(EINVAL);
@@ -988,7 +947,6 @@
 
 	case RTM_IFANNOUNCE:
 	case RTM_IEEE80211:
-	case RTM_SND:
 		len = sizeof(struct if_announcemsghdr);
 		break;
 
@@ -1281,66 +1239,6 @@
 }
 
 /*
- * Generation of the routing socket message indicating SeND event.
- */
-void
-rt_securendmsg(struct ifnet *ifp, int direction, void *data, size_t data_len)
-{
-	struct mbuf *m = NULL;
-	struct rt_addrinfo info;
-
-	switch (direction) {
-	case SND_IN:
-		/* Incoming traffic sent to userspace for SeND validation. */
-		m = rt_makeifannouncemsg(ifp, RTM_SND, RTM_SND_IN, &info);
-		break;
-	case SND_OUT:	
-		/* Outgoing traffic sent to userspace for SeND protection. */
-		m = rt_makeifannouncemsg(ifp, RTM_SND, RTM_SND_OUT, &info);
-		break;
-	}
-
-	rt_msg3(m, data, data_len);
-}
-
-void
-rt_msg3(struct mbuf *m, void *data, size_t data_len)
-{
-
-	if (m != NULL) {
-		/*
-		 * Append the ieee80211 or ND/SEND data. Try to stick it in the
-		 * mbuf containing the ifannounce msg; otherwise allocate
-		 * a new mbuf and append.
-		 *
-		 * NB: we assume m is a single mbuf.
-		 */
-
-		m_copyback(m, m->m_len, data_len, data);
-#if 0
-		if (data_len > M_TRAILINGSPACE(m)) {
-			struct mbuf *n = m_get(M_NOWAIT, MT_DATA);
-			if (n == NULL) {
-				m_freem(m);
-				return;
-			}
-			bcopy(data, mtod(n, void *), data_len);
-			printf("rtsock.c: rt_msg3(), nakon bcopy!\n");
-			n->m_len = data_len;
-			m->m_next = n;
-		} else if (data_len > 0) {
-			bcopy(data, mtod(m, u_int8_t *) + m->m_len, data_len);
-			m->m_len += data_len;
-		}
-		if (m->m_flags & M_PKTHDR)
-			m->m_pkthdr.len += data_len;
-#endif
-		mtod(m, struct if_announcemsghdr *)->ifan_msglen += data_len;
-		rt_dispatch(m, NULL);
-	}
-}
-
-/*
  * This is called to generate routing socket messages indicating
  * IEEE80211 wireless events.
  * XXX we piggyback on the RTM_IFANNOUNCE msg format in a clumsy way.
@@ -1352,10 +1250,6 @@
 	struct rt_addrinfo info;
 
 	m = rt_makeifannouncemsg(ifp, RTM_IEEE80211, what, &info);
-
-	rt_msg3(m, data, data_len);
-
-#if 0
 	if (m != NULL) {
 		/*
 		 * Append the ieee80211 data.  Try to stick it in the
@@ -1382,7 +1276,6 @@
 		mtod(m, struct if_announcemsghdr *)->ifan_msglen += data_len;
 		rt_dispatch(m, NULL);
 	}
-#endif
 }
 
 /*

==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.c#40 (text+ko) ====

@@ -161,7 +161,7 @@
 	if (V_send_so != NULL)
 		return (EEXIST);
 
-	/* XXX: Revisit this, hardocoded! */
+	/* XXX: Revisit this, hardocoded! This was a hack for PR_ATOMIC. */
 	/* so->so_snd.sb_hiwat = 8192; */
 
 	V_send_so = so;
@@ -180,9 +180,6 @@
 
 	snd_hdr = mtod(m, struct snd_hdr *);
 
-	int mlen = m->m_len;
-	int mpkthdrlen = m->m_pkthdr.len;
-
 	struct mbuf *m0;
 	m0 = m_getcl(M_NOWAIT, MT_DATA, M_PKTHDR);
 	if (m0 == NULL) {
@@ -191,9 +188,6 @@
 	}
 	m_move_pkthdr(m, m0);
 
-	m->m_len = mlen;
-	m->m_pkthdr.len = mpkthdrlen;
-
 	ifp = ifnet_byindex_ref(snd_hdr->ifidx);
 	m_adj(m, SEND_HDR_LEN);
 	m_fixhdr(m);

==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.h#19 (text+ko) ====

@@ -27,9 +27,6 @@
 #define	SND_OUT		0	/* Outgoing traffic */ 
 #define	SND_IN		1	/* Incoming traffic. */
 
-#define RTM_SND_OUT	0	/* Outgoing RTM SeND packet sent to user space */
-#define RTM_SND_IN	1	/* Incoming RTM SeND packet sent to user space */
-
 #define SEND_HDR_LEN	sizeof(struct snd_hdr)
 
 struct snd_hdr {
@@ -37,7 +34,4 @@
         int             ifidx;
 };
 
-extern int      (*send_input_hook)(struct mbuf *, struct ifnet *, int, int);
-extern int      (*send_output_hook)(struct mbuf *, struct ifnet *, int);
-
 extern int      (*send_sendso_input_hook)(struct socket *, struct mbuf *, int, int);



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