svn commit: r185960 - in projects/arpv2_merge_1: contrib/bsnmp/snmp_mibII libexec/bootpd sbin/route sbin/routed usr.bin/netstat usr.sbin/ppp

Kip Macy kmacy at FreeBSD.org
Thu Dec 11 17:01:03 PST 2008


Author: kmacy
Date: Fri Dec 12 01:01:03 2008
New Revision: 185960
URL: http://svn.freebsd.org/changeset/base/185960

Log:
  - remove or hide cloning related flags from world compile
  - refcnt is now an int - update netstat/route.c

Modified:
  projects/arpv2_merge_1/contrib/bsnmp/snmp_mibII/mibII.c
  projects/arpv2_merge_1/contrib/bsnmp/snmp_mibII/mibII_route.c
  projects/arpv2_merge_1/libexec/bootpd/rtmsg.c
  projects/arpv2_merge_1/sbin/route/route.c
  projects/arpv2_merge_1/sbin/routed/table.c
  projects/arpv2_merge_1/usr.bin/netstat/route.c
  projects/arpv2_merge_1/usr.sbin/ppp/route.c

Modified: projects/arpv2_merge_1/contrib/bsnmp/snmp_mibII/mibII.c
==============================================================================
--- projects/arpv2_merge_1/contrib/bsnmp/snmp_mibII/mibII.c	Fri Dec 12 01:00:38 2008	(r185959)
+++ projects/arpv2_merge_1/contrib/bsnmp/snmp_mibII/mibII.c	Fri Dec 12 01:01:03 2008	(r185960)
@@ -48,9 +48,15 @@ static void *route_fd;
 /* if-index allocator */
 static uint32_t next_if_index = 1;
 
+#if 0
+/*
+ * XXX - Qing
+ *
+ */
 /* re-fetch arp table */
 static int update_arp;
 static int in_update_arp;
+#endif
 
 /* OR registrations */
 static u_int ifmib_reg;
@@ -910,9 +916,12 @@ mib_find_ifa(struct in_addr addr)
 	return (NULL);
 }
 
+#if 0
 /*
+ * Qing -- fix
  * Process a new ARP entry
  */
+
 static void
 process_arp(const struct rt_msghdr *rtm, const struct sockaddr_dl *sdl,
     const struct sockaddr_in *sa)
@@ -939,7 +948,7 @@ process_arp(const struct rt_msghdr *rtm,
 		at->flags &= ~MIBARP_PERM;
 	at->flags |= MIBARP_FOUND;
 }
-
+#endif
 /*
  * Handle a routing socket message.
  */
@@ -1083,6 +1092,11 @@ handle_rtmsg(struct rt_msghdr *rtm)
 
 	  case RTM_GET:
 		mib_extract_addrs(rtm->rtm_addrs, (u_char *)(rtm + 1), addrs);
+#if 0
+		/*
+		 * XXX - Qing fix
+		 *
+		 */
 		if (rtm->rtm_flags & RTF_LLINFO) {
 			if (addrs[RTAX_DST] == NULL ||
 			    addrs[RTAX_GATEWAY] == NULL ||
@@ -1093,14 +1107,22 @@ handle_rtmsg(struct rt_msghdr *rtm)
 			    (struct sockaddr_dl *)(void *)addrs[RTAX_GATEWAY],
 			    (struct sockaddr_in *)(void *)addrs[RTAX_DST]);
 		} else {
+#endif			
 			if (rtm->rtm_errno == 0 && (rtm->rtm_flags & RTF_UP))
 				mib_sroute_process(rtm, addrs[RTAX_GATEWAY],
 				    addrs[RTAX_DST], addrs[RTAX_NETMASK]);
+#if 0
 		}
+#endif		
 		break;
 
 	  case RTM_ADD:
 		mib_extract_addrs(rtm->rtm_addrs, (u_char *)(rtm + 1), addrs);
+#if 0
+		/*
+		 * XXX - Qing fix
+		 *
+		 */
 		if (rtm->rtm_flags & RTF_LLINFO) {
 			if (addrs[RTAX_DST] == NULL ||
 			    addrs[RTAX_GATEWAY] == NULL ||
@@ -1111,15 +1133,18 @@ handle_rtmsg(struct rt_msghdr *rtm)
 			    (struct sockaddr_dl *)(void *)addrs[RTAX_GATEWAY],
 			    (struct sockaddr_in *)(void *)addrs[RTAX_DST]);
 		} else {
+#endif			
 			if (rtm->rtm_errno == 0 && (rtm->rtm_flags & RTF_UP))
 				mib_sroute_process(rtm, addrs[RTAX_GATEWAY],
 				    addrs[RTAX_DST], addrs[RTAX_NETMASK]);
+#if 0
 		}
+#endif		
 		break;
 
 	  case RTM_DELETE:
 		mib_extract_addrs(rtm->rtm_addrs, (u_char *)(rtm + 1), addrs);
-		if (rtm->rtm_errno == 0 && !(rtm->rtm_flags & RTF_LLINFO))
+		if (rtm->rtm_errno == 0)
 			mib_sroute_process(rtm, addrs[RTAX_GATEWAY],
 			    addrs[RTAX_DST], addrs[RTAX_NETMASK]);
 		break;
@@ -1289,7 +1314,10 @@ update_ifa_info(void)
 
 /*
  * Update arp table
- */
+ *
+ * XXX - Qing
+*/
+#if 0
 void
 mib_arp_update(void)
 {
@@ -1305,11 +1333,15 @@ mib_arp_update(void)
 	TAILQ_FOREACH(at, &mibarp_list, link)
 		at->flags &= ~MIBARP_FOUND;
 
+	/*
+	 * XXX - Qing fix
+	 *
+	 */
 	if ((buf = mib_fetch_rtab(AF_INET, NET_RT_FLAGS, RTF_LLINFO, &needed)) == NULL) {
 		in_update_arp = 0;
 		return;
 	}
-
+	
 	next = buf;
 	while (next < buf + needed) {
 		rtm = (struct rt_msghdr *)(void *)next;
@@ -1329,6 +1361,7 @@ mib_arp_update(void)
 	update_arp = 0;
 	in_update_arp = 0;
 }
+#endif
 
 
 /*
@@ -1631,11 +1664,22 @@ mibII_idle(void)
 
 		mib_refresh_iflist();
 		update_ifa_info();
+#if 0
+		/*
+		 * XXX Qing
+		 *
+		 */
 		mib_arp_update();
+#endif		
 		mib_iflist_bad = 0;
 	}
+#if 0
+	/*
+	 * XXX Qing
+	 */
 	if (update_arp)
 		mib_arp_update();
+#endif
 }
 
 

Modified: projects/arpv2_merge_1/contrib/bsnmp/snmp_mibII/mibII_route.c
==============================================================================
--- projects/arpv2_merge_1/contrib/bsnmp/snmp_mibII/mibII_route.c	Fri Dec 12 01:00:38 2008	(r185959)
+++ projects/arpv2_merge_1/contrib/bsnmp/snmp_mibII/mibII_route.c	Fri Dec 12 01:01:03 2008	(r185960)
@@ -186,8 +186,7 @@ mib_sroute_process(struct rt_msghdr *rtm
 	memcpy(r->index, key.index, sizeof(r->index));
 	r->ifindex = (ifp == NULL) ? 0 : ifp->index;
 
-	r->type = (rtm->rtm_flags & RTF_LLINFO) ? 3 :
-	    (rtm->rtm_flags & RTF_REJECT) ? 2 : 4;
+	r->type = (rtm->rtm_flags & RTF_REJECT) ? 2 : 4;
 
 	/* cannot really know, what protocol it runs */
 	r->proto = (rtm->rtm_flags & RTF_LOCAL) ? 2 :

Modified: projects/arpv2_merge_1/libexec/bootpd/rtmsg.c
==============================================================================
--- projects/arpv2_merge_1/libexec/bootpd/rtmsg.c	Fri Dec 12 01:00:38 2008	(r185959)
+++ projects/arpv2_merge_1/libexec/bootpd/rtmsg.c	Fri Dec 12 01:01:03 2008	(r185960)
@@ -152,13 +152,6 @@ tryagain:
 	sdl = (struct sockaddr_dl *)(sin->sin_len + (char *)sin);
 	if (sin->sin_addr.s_addr == sin_m.sin_addr.s_addr) {
 		if (sdl->sdl_family == AF_LINK &&
-#if 0
-		    /*
-		     * XXX Qing - what should be here?
-		     *
-		     */
-		    (rtm->rtm_flags & RTF_LLINFO) &&
-#endif
 		    !(rtm->rtm_flags & RTF_GATEWAY)) switch (sdl->sdl_type) {
 		case IFT_ETHER: case IFT_FDDI: case IFT_ISO88023:
 		case IFT_ISO88024: case IFT_ISO88025:

Modified: projects/arpv2_merge_1/sbin/route/route.c
==============================================================================
--- projects/arpv2_merge_1/sbin/route/route.c	Fri Dec 12 01:00:38 2008	(r185959)
+++ projects/arpv2_merge_1/sbin/route/route.c	Fri Dec 12 01:01:03 2008	(r185960)
@@ -605,6 +605,14 @@ newroute(argc, argv)
 			case K_NOSTATIC:
 				flags &= ~RTF_STATIC;
 				break;
+#if 0
+			case K_CLONING:
+				flags |= RTF_CLONING;
+				break;
+			case K_LLINFO:
+				flags |= RTF_LLINFO;
+				break;
+#endif
 			case K_LOCK:
 				locking = 1;
 				break;

Modified: projects/arpv2_merge_1/sbin/routed/table.c
==============================================================================
--- projects/arpv2_merge_1/sbin/routed/table.c	Fri Dec 12 01:00:38 2008	(r185959)
+++ projects/arpv2_merge_1/sbin/routed/table.c	Fri Dec 12 01:01:03 2008	(r185960)
@@ -1103,14 +1103,13 @@ flush_kern(void)
 		    || INFO_DST(&info)->sa_family != AF_INET)
 			continue;
 
+#if defined (RTF_LLINFO)		
 		/* ignore ARP table entries on systems with a merged route
 		 * and ARP table.
 		 */
-#if defined(RTF_LLINFO)
 		if (rtm->rtm_flags & RTF_LLINFO)
 			continue;
 #endif
-		
 #if defined(RTF_WASCLONED) && defined(__FreeBSD__)
 		/* ignore cloned routes
 		 */
@@ -1262,12 +1261,14 @@ read_rt(void)
 			trace_act("ignore multicast %s", str);
 			continue;
 		}
+
 #if defined(RTF_LLINFO) 
 		if (m.r.rtm.rtm_flags & RTF_LLINFO) {
 			trace_act("ignore ARP %s", str);
 			continue;
 		}
 #endif
+		
 #if defined(RTF_WASCLONED) && defined(__FreeBSD__)
 		if (m.r.rtm.rtm_flags & RTF_WASCLONED) {
 			trace_act("ignore cloned %s", str);

Modified: projects/arpv2_merge_1/usr.bin/netstat/route.c
==============================================================================
--- projects/arpv2_merge_1/usr.bin/netstat/route.c	Fri Dec 12 01:00:38 2008	(r185959)
+++ projects/arpv2_merge_1/usr.bin/netstat/route.c	Fri Dec 12 01:01:03 2008	(r185960)
@@ -347,7 +347,7 @@ size_cols_rtentry(struct rtentry *rt)
 	wid_flags = MAX(len, wid_flags);
 
 	if (addr.u_sa.sa_family == AF_INET || Wflag) {
-		len = snprintf(buffer, sizeof(buffer), "%ld", rt->rt_refcnt);
+		len = snprintf(buffer, sizeof(buffer), "%d", rt->rt_refcnt);
 		wid_refs = MAX(len, wid_refs);
 		len = snprintf(buffer, sizeof(buffer), "%lu", rt->rt_use);
 		wid_use = MAX(len, wid_use);
@@ -772,7 +772,7 @@ p_rtentry(struct rtentry *rt)
 	snprintf(buffer, sizeof(buffer), "%%-%d.%ds ", wid_flags, wid_flags);
 	p_flags(rt->rt_flags, buffer);
 	if (addr.u_sa.sa_family == AF_INET || Wflag) {
-		printf("%*ld %*lu ", wid_refs, rt->rt_refcnt,
+		printf("%*d %*lu ", wid_refs, rt->rt_refcnt,
 				     wid_use, rt->rt_use);
 		if (Wflag) {
 			if (rt->rt_rmx.rmx_mtu != 0)

Modified: projects/arpv2_merge_1/usr.sbin/ppp/route.c
==============================================================================
--- projects/arpv2_merge_1/usr.sbin/ppp/route.c	Fri Dec 12 01:00:38 2008	(r185959)
+++ projects/arpv2_merge_1/usr.sbin/ppp/route.c	Fri Dec 12 01:01:03 2008	(r185960)
@@ -158,7 +158,10 @@ static struct bits {
   { RTF_MODIFIED, 'M' },
   { RTF_DONE, 'd' },
   { RTF_XRESOLVE, 'X' },
-    { RTF_STATIC, 'S' },
+#ifdef RTF_CLONING
+  { RTF_CLONING, 'C' },
+#endif
+  { RTF_STATIC, 'S' },
   { RTF_PROTO1, '1' },
   { RTF_PROTO2, '2' },
   { RTF_BLACKHOLE, 'B' },


More information about the svn-src-projects mailing list