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

(-)ip_fw_private.h (+1 lines)
Lines 82-87 Link Here
82
 */
82
 */
83
struct ip_fw_args {
83
struct ip_fw_args {
84
	struct mbuf	*m;		/* the mbuf chain		*/
84
	struct mbuf	*m;		/* the mbuf chain		*/
85
	struct ifnet	*iif;		/* intermediate interface	*/
85
	struct ifnet	*oif;		/* output interface		*/
86
	struct ifnet	*oif;		/* output interface		*/
86
	struct sockaddr_in *next_hop;	/* forward address		*/
87
	struct sockaddr_in *next_hop;	/* forward address		*/
87
	struct sockaddr_in6 *next_hop6; /* ipv6 forward address		*/
88
	struct sockaddr_in6 *next_hop6; /* ipv6 forward address		*/
(-)ip_fw_pfil.c (+2 lines)
Lines 145-150 Link Here
145
	}
145
	}
146
146
147
	args.m = *m0;
147
	args.m = *m0;
148
	args.iif = dir == DIR_IN && ifp != args.m->m_pkthdr.rcvif ? ifp : NULL;
148
	args.oif = dir == DIR_OUT ? ifp : NULL;
149
	args.oif = dir == DIR_OUT ? ifp : NULL;
149
	args.inp = inp;
150
	args.inp = inp;
150
151
Lines 341-346 Link Here
341
	m_adj(m, ETHER_HDR_LEN);	/* strip ethernet header */
342
	m_adj(m, ETHER_HDR_LEN);	/* strip ethernet header */
342
343
343
	args.m = m;		/* the packet we are looking at		*/
344
	args.m = m;		/* the packet we are looking at		*/
345
	args.iif = dir == PFIL_IN && ifp != m->m_pkthdr.rcvif ? ifp : NULL;
344
	args.oif = dir == PFIL_OUT ? ifp: NULL;	/* destination, if any	*/
346
	args.oif = dir == PFIL_OUT ? ifp: NULL;	/* destination, if any	*/
345
	args.next_hop = NULL;	/* we do not support forward yet	*/
347
	args.next_hop = NULL;	/* we do not support forward yet	*/
346
	args.next_hop6 = NULL;	/* we do not support forward yet	*/
348
	args.next_hop6 = NULL;	/* we do not support forward yet	*/
(-)ip_fw2.c (-1 / +3 lines)
Lines 914-919 Link Here
914
#endif
914
#endif
915
	int ucred_lookup = 0;
915
	int ucred_lookup = 0;
916
916
917
	struct ifnet *iif = args->iif;
918
917
	/*
919
	/*
918
	 * oif | args->oif	If NULL, ipfw_chk has been called on the
920
	 * oif | args->oif	If NULL, ipfw_chk has been called on the
919
	 *	inbound path (ether_input, ip_input).
921
	 *	inbound path (ether_input, ip_input).
Lines 1384-1390 Link Here
1384
1386
1385
			case O_VIA:
1387
			case O_VIA:
1386
				match = iface_match(oif ? oif :
1388
				match = iface_match(oif ? oif :
1387
				    m->m_pkthdr.rcvif, (ipfw_insn_if *)cmd,
1389
				    iif ? iif : m->m_pkthdr.rcvif, (ipfw_insn_if *)cmd,
1388
				    chain, &tablearg);
1390
				    chain, &tablearg);
1389
				break;
1391
				break;
1390
1392

Return to bug 222768