Deleted Added
sdiff udiff text old ( 83366 ) new ( 83934 )
full compact
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 * $FreeBSD: head/sys/netinet/ip_output.c 83934 2001-09-25 18:40:52Z brooks $
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"

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

58
59#include <netinet/in.h>
60#include <netinet/in_systm.h>
61#include <netinet/ip.h>
62#include <netinet/in_pcb.h>
63#include <netinet/in_var.h>
64#include <netinet/ip_var.h>
65
66#include <machine/in_cksum.h>
67
68static MALLOC_DEFINE(M_IPMOPTS, "ip_moptions", "internet multicast options");
69
70#ifdef IPSEC
71#include <netinet6/ipsec.h>
72#include <netkey/key.h>
73#ifdef IPSEC_DEBUG

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

1159 }
1160
1161 case IP_TOS:
1162 case IP_TTL:
1163 case IP_RECVOPTS:
1164 case IP_RECVRETOPTS:
1165 case IP_RECVDSTADDR:
1166 case IP_RECVIF:
1167 case IP_FAITH:
1168 error = sooptcopyin(sopt, &optval, sizeof optval,
1169 sizeof optval);
1170 if (error)
1171 break;
1172
1173 switch (sopt->sopt_name) {
1174 case IP_TOS:
1175 inp->inp_ip_tos = optval;

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

1195 case IP_RECVDSTADDR:
1196 OPTSET(INP_RECVDSTADDR);
1197 break;
1198
1199 case IP_RECVIF:
1200 OPTSET(INP_RECVIF);
1201 break;
1202
1203 case IP_FAITH:
1204 OPTSET(INP_FAITH);
1205 break;
1206 }
1207 break;
1208#undef OPTSET
1209
1210 case IP_MULTICAST_IF:
1211 case IP_MULTICAST_VIF:
1212 case IP_MULTICAST_TTL:
1213 case IP_MULTICAST_LOOP:

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

1289
1290 case IP_TOS:
1291 case IP_TTL:
1292 case IP_RECVOPTS:
1293 case IP_RECVRETOPTS:
1294 case IP_RECVDSTADDR:
1295 case IP_RECVIF:
1296 case IP_PORTRANGE:
1297 case IP_FAITH:
1298 switch (sopt->sopt_name) {
1299
1300 case IP_TOS:
1301 optval = inp->inp_ip_tos;
1302 break;
1303
1304 case IP_TTL:
1305 optval = inp->inp_ip_ttl;

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

1327 if (inp->inp_flags & INP_HIGHPORT)
1328 optval = IP_PORTRANGE_HIGH;
1329 else if (inp->inp_flags & INP_LOWPORT)
1330 optval = IP_PORTRANGE_LOW;
1331 else
1332 optval = 0;
1333 break;
1334
1335 case IP_FAITH:
1336 optval = OPTBIT(INP_FAITH);
1337 break;
1338 }
1339 error = sooptcopyout(sopt, &optval, sizeof optval);
1340 break;
1341
1342 case IP_MULTICAST_IF:
1343 case IP_MULTICAST_VIF:
1344 case IP_MULTICAST_TTL:
1345 case IP_MULTICAST_LOOP:

--- 618 unchanged lines hidden ---