ip_output.c (83366) | ip_output.c (83934) |
---|---|
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 * $FreeBSD: head/sys/netinet/ip_output.c 83366 2001-09-12 08:38:13Z julian $ | 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 | 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 "faith.h" 67 | |
68#include <machine/in_cksum.h> 69 70static MALLOC_DEFINE(M_IPMOPTS, "ip_moptions", "internet multicast options"); 71 72#ifdef IPSEC 73#include <netinet6/ipsec.h> 74#include <netkey/key.h> 75#ifdef IPSEC_DEBUG --- 1085 unchanged lines hidden (view full) --- 1161 } 1162 1163 case IP_TOS: 1164 case IP_TTL: 1165 case IP_RECVOPTS: 1166 case IP_RECVRETOPTS: 1167 case IP_RECVDSTADDR: 1168 case IP_RECVIF: | 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: |
1169#if defined(NFAITH) && NFAITH > 0 | |
1170 case IP_FAITH: | 1167 case IP_FAITH: |
1171#endif | |
1172 error = sooptcopyin(sopt, &optval, sizeof optval, 1173 sizeof optval); 1174 if (error) 1175 break; 1176 1177 switch (sopt->sopt_name) { 1178 case IP_TOS: 1179 inp->inp_ip_tos = optval; --- 19 unchanged lines hidden (view full) --- 1199 case IP_RECVDSTADDR: 1200 OPTSET(INP_RECVDSTADDR); 1201 break; 1202 1203 case IP_RECVIF: 1204 OPTSET(INP_RECVIF); 1205 break; 1206 | 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 |
1207#if defined(NFAITH) && NFAITH > 0 | |
1208 case IP_FAITH: 1209 OPTSET(INP_FAITH); 1210 break; | 1203 case IP_FAITH: 1204 OPTSET(INP_FAITH); 1205 break; |
1211#endif | |
1212 } 1213 break; 1214#undef OPTSET 1215 1216 case IP_MULTICAST_IF: 1217 case IP_MULTICAST_VIF: 1218 case IP_MULTICAST_TTL: 1219 case IP_MULTICAST_LOOP: --- 75 unchanged lines hidden (view full) --- 1295 1296 case IP_TOS: 1297 case IP_TTL: 1298 case IP_RECVOPTS: 1299 case IP_RECVRETOPTS: 1300 case IP_RECVDSTADDR: 1301 case IP_RECVIF: 1302 case IP_PORTRANGE: | 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: |
1303#if defined(NFAITH) && NFAITH > 0 | |
1304 case IP_FAITH: | 1297 case IP_FAITH: |
1305#endif | |
1306 switch (sopt->sopt_name) { 1307 1308 case IP_TOS: 1309 optval = inp->inp_ip_tos; 1310 break; 1311 1312 case IP_TTL: 1313 optval = inp->inp_ip_ttl; --- 21 unchanged lines hidden (view full) --- 1335 if (inp->inp_flags & INP_HIGHPORT) 1336 optval = IP_PORTRANGE_HIGH; 1337 else if (inp->inp_flags & INP_LOWPORT) 1338 optval = IP_PORTRANGE_LOW; 1339 else 1340 optval = 0; 1341 break; 1342 | 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 |
1343#if defined(NFAITH) && NFAITH > 0 | |
1344 case IP_FAITH: 1345 optval = OPTBIT(INP_FAITH); 1346 break; | 1335 case IP_FAITH: 1336 optval = OPTBIT(INP_FAITH); 1337 break; |
1347#endif | |
1348 } 1349 error = sooptcopyout(sopt, &optval, sizeof optval); 1350 break; 1351 1352 case IP_MULTICAST_IF: 1353 case IP_MULTICAST_VIF: 1354 case IP_MULTICAST_TTL: 1355 case IP_MULTICAST_LOOP: --- 618 unchanged lines hidden --- | 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 --- |