View | Details | Raw Unified | Return to bug 230498 | Differences between
and this patch

Collapse All | Expand All

(-)b/sys/net/rtsock.c (-3 / +5 lines)
Lines 1566-1572 sysctl_dumpentry(struct radix_node *rn, void *vw) Link Here
1566
	info.rti_info[RTAX_NETMASK] = rtsock_fix_netmask(rt_key(rt),
1566
	info.rti_info[RTAX_NETMASK] = rtsock_fix_netmask(rt_key(rt),
1567
	    rt_mask(rt), &ss);
1567
	    rt_mask(rt), &ss);
1568
	info.rti_info[RTAX_GENMASK] = 0;
1568
	info.rti_info[RTAX_GENMASK] = 0;
1569
	if (rt->rt_ifp) {
1569
	if (rt->rt_ifp && !(rt->rt_ifp->if_flags & IFF_DYING)) {
1570
		info.rti_info[RTAX_IFP] = rt->rt_ifp->if_addr->ifa_addr;
1570
		info.rti_info[RTAX_IFP] = rt->rt_ifp->if_addr->ifa_addr;
1571
		info.rti_info[RTAX_IFA] = rt->rt_ifa->ifa_addr;
1571
		info.rti_info[RTAX_IFA] = rt->rt_ifa->ifa_addr;
1572
		if (rt->rt_ifp->if_flags & IFF_POINTOPOINT)
1572
		if (rt->rt_ifp->if_flags & IFF_POINTOPOINT)
Lines 1921-1929 sysctl_rtsock(SYSCTL_HANDLER_ARGS) Link Here
1921
		for (error = 0; error == 0 && i <= lim; i++) {
1921
		for (error = 0; error == 0 && i <= lim; i++) {
1922
			rnh = rt_tables_get_rnh(fib, i);
1922
			rnh = rt_tables_get_rnh(fib, i);
1923
			if (rnh != NULL) {
1923
			if (rnh != NULL) {
1924
				RIB_RLOCK(rnh); 
1924
				RIB_RLOCK(rnh);
1925
			    	error = rnh->rnh_walktree(&rnh->head,
1925
				NET_EPOCH_ENTER();
1926
				error = rnh->rnh_walktree(&rnh->head,
1926
				    sysctl_dumpentry, &w);
1927
				    sysctl_dumpentry, &w);
1928
				NET_EPOCH_EXIT();
1927
				RIB_RUNLOCK(rnh);
1929
				RIB_RUNLOCK(rnh);
1928
			} else if (af != 0)
1930
			} else if (af != 0)
1929
				error = EAFNOSUPPORT;
1931
				error = EAFNOSUPPORT;

Return to bug 230498