View | Details | Raw Unified | Return to bug 245181
Collapse All | Expand All

(-)if_ether.c (-3 / +16 lines)
Lines 1048-1055 Link Here
1048
			if (!V_arp_proxyall)
1048
			if (!V_arp_proxyall)
1049
				goto drop;
1049
				goto drop;
1050
1050
1051
			u_int fib = ifp->if_fib;
1052
			ARP_LOG(LOG_INFO, "proxy: request"
1053
			    " from %s via %s, fib %d\n",
1054
			    inet_ntoa_r(isaddr, addrbuf),
1055
			    ifp->if_xname,
1056
			    fib);
1057
1051
			/* XXX MRT use table 0 for arp reply  */
1058
			/* XXX MRT use table 0 for arp reply  */
1052
			if (fib4_lookup_nh_basic(0, itaddr, 0, 0, &nh4) != 0)
1059
			if (fib4_lookup_nh_basic(fib, itaddr, 0, 0, &nh4) != 0)
1053
				goto drop;
1060
				goto drop;
1054
1061
1055
			/*
1062
			/*
Lines 1057-1064 Link Here
1057
			 * as this one came out of, or we'll get into a fight
1064
			 * as this one came out of, or we'll get into a fight
1058
			 * over who claims what Ether address.
1065
			 * over who claims what Ether address.
1059
			 */
1066
			 */
1060
			if (nh4.nh_ifp == ifp)
1067
			if (nh4.nh_ifp == ifp) {
1068
				ARP_LOG(LOG_INFO, "proxy: request"
1069
				    " from %s via %s, fib %d (dropping same if)\n",
1070
				    inet_ntoa_r(isaddr, addrbuf),
1071
				    ifp->if_xname,
1072
				    fib);
1061
				goto drop;
1073
				goto drop;
1074
			}
1062
1075
1063
			(void)memcpy(ar_tha(ah), ar_sha(ah), ah->ar_hln);
1076
			(void)memcpy(ar_tha(ah), ar_sha(ah), ah->ar_hln);
1064
			(void)memcpy(ar_sha(ah), enaddr, ah->ar_hln);
1077
			(void)memcpy(ar_sha(ah), enaddr, ah->ar_hln);
Lines 1071-1077 Link Here
1071
			 */
1084
			 */
1072
1085
1073
			/* XXX MRT use table 0 for arp checks */
1086
			/* XXX MRT use table 0 for arp checks */
1074
			if (fib4_lookup_nh_basic(0, isaddr, 0, 0, &nh4) != 0)
1087
			if (fib4_lookup_nh_basic(fib, isaddr, 0, 0, &nh4) != 0)
1075
				goto drop;
1088
				goto drop;
1076
			if (nh4.nh_ifp != ifp) {
1089
			if (nh4.nh_ifp != ifp) {
1077
				ARP_LOG(LOG_INFO, "proxy: ignoring request"
1090
				ARP_LOG(LOG_INFO, "proxy: ignoring request"

Return to bug 245181