Deleted Added
full compact
ip_output.c (46393) ip_output.c (46420)
1/*
2 * Copyright (c) 1982, 1986, 1988, 1990, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 17 unchanged lines hidden (view full) ---

26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 * SUCH DAMAGE.
32 *
33 * @(#)ip_output.c 8.3 (Berkeley) 1/21/94
1/*
2 * Copyright (c) 1982, 1986, 1988, 1990, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 17 unchanged lines hidden (view full) ---

26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 * SUCH DAMAGE.
32 *
33 * @(#)ip_output.c 8.3 (Berkeley) 1/21/94
34 * $Id: ip_output.c,v 1.88 1999/04/20 13:32:06 peter Exp $
34 * $Id: ip_output.c,v 1.89 1999/05/04 09:26:12 luigi Exp $
35 */
36
37#define _IP_VHL
38
39#include "opt_ipfw.h"
40#include "opt_ipdn.h"
41#include "opt_ipdivert.h"
42#include "opt_ipfilter.h"

--- 91 unchanged lines hidden (view full) ---

134
135#if defined(IPFIREWALL) && defined(DUMMYNET)
136 /*
137 * dummynet packet are prepended a vestigial mbuf with
138 * m_type = MT_DUMMYNET and m_data pointing to the matching
139 * rule.
140 */
141 if (m->m_type == MT_DUMMYNET) {
35 */
36
37#define _IP_VHL
38
39#include "opt_ipfw.h"
40#include "opt_ipdn.h"
41#include "opt_ipdivert.h"
42#include "opt_ipfilter.h"

--- 91 unchanged lines hidden (view full) ---

134
135#if defined(IPFIREWALL) && defined(DUMMYNET)
136 /*
137 * dummynet packet are prepended a vestigial mbuf with
138 * m_type = MT_DUMMYNET and m_data pointing to the matching
139 * rule.
140 */
141 if (m->m_type == MT_DUMMYNET) {
142 struct mbuf *tmp_m = m ;
143 /*
144 * the packet was already tagged, so part of the
145 * processing was already done, and we need to go down.
146 * opt, flags and imo have already been used, and now
147 * they are used to hold ifp, dst and NULL, respectively.
148 */
149 rule = (struct ip_fw_chain *)(m->m_data) ;
150 m0 = m = m->m_next ;
142 /*
143 * the packet was already tagged, so part of the
144 * processing was already done, and we need to go down.
145 * opt, flags and imo have already been used, and now
146 * they are used to hold ifp, dst and NULL, respectively.
147 */
148 rule = (struct ip_fw_chain *)(m->m_data) ;
149 m0 = m = m->m_next ;
151 free(tmp_m, M_IPFW);
152 ip = mtod(m, struct ip *);
153 dst = (struct sockaddr_in *)flags ;
154 ifp = (struct ifnet *)opt;
155 hlen = IP_VHL_HL(ip->ip_vhl) << 2 ;
156 opt = NULL ;
157 flags = 0 ; /* XXX is this correct ? */
158 goto sendit;
159 } else

--- 1390 unchanged lines hidden ---
150 ip = mtod(m, struct ip *);
151 dst = (struct sockaddr_in *)flags ;
152 ifp = (struct ifnet *)opt;
153 hlen = IP_VHL_HL(ip->ip_vhl) << 2 ;
154 opt = NULL ;
155 flags = 0 ; /* XXX is this correct ? */
156 goto sendit;
157 } else

--- 1390 unchanged lines hidden ---