ip_input.c (34961) | ip_input.c (35174) |
---|---|
1/* 2 * Copyright (c) 1982, 1986, 1988, 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_input.c 8.2 (Berkeley) 1/4/94 | 1/* 2 * Copyright (c) 1982, 1986, 1988, 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_input.c 8.2 (Berkeley) 1/4/94 |
34 * $Id: ip_input.c,v 1.80 1998/03/21 11:34:11 peter Exp $ | 34 * $Id: ip_input.c,v 1.81 1998/03/30 09:52:56 phk Exp $ |
35 * $ANA: ip_input.c,v 1.5 1996/09/18 14:34:59 wollman Exp $ 36 */ 37 38#define _IP_VHL 39 40#include "opt_bootp.h" 41#include "opt_ipfw.h" 42#include "opt_ipdivert.h" --- 505 unchanged lines hidden (view full) --- 548 * or if this is not the first fragment, 549 * attempt reassembly; if it succeeds, proceed. 550 */ 551 if (((struct ipasfrag *)ip)->ipf_mff & 1 || ip->ip_off) { 552 ipstat.ips_fragments++; 553 ip = ip_reass((struct ipasfrag *)ip, fp, &ipq[sum]); 554 if (ip == 0) 555 return; | 35 * $ANA: ip_input.c,v 1.5 1996/09/18 14:34:59 wollman Exp $ 36 */ 37 38#define _IP_VHL 39 40#include "opt_bootp.h" 41#include "opt_ipfw.h" 42#include "opt_ipdivert.h" --- 505 unchanged lines hidden (view full) --- 548 * or if this is not the first fragment, 549 * attempt reassembly; if it succeeds, proceed. 550 */ 551 if (((struct ipasfrag *)ip)->ipf_mff & 1 || ip->ip_off) { 552 ipstat.ips_fragments++; 553 ip = ip_reass((struct ipasfrag *)ip, fp, &ipq[sum]); 554 if (ip == 0) 555 return; |
556 /* Get the length of the reassembled packets header */ 557 hlen = IP_VHL_HL(ip->ip_vhl) << 2; |
|
556 ipstat.ips_reassembled++; 557 m = dtom(ip); 558#ifdef IPDIVERT 559 if (frag_divert_port) { 560 ip->ip_len += hlen; 561 HTONS(ip->ip_len); 562 HTONS(ip->ip_off); 563 HTONS(ip->ip_id); --- 973 unchanged lines hidden --- | 558 ipstat.ips_reassembled++; 559 m = dtom(ip); 560#ifdef IPDIVERT 561 if (frag_divert_port) { 562 ip->ip_len += hlen; 563 HTONS(ip->ip_len); 564 HTONS(ip->ip_off); 565 HTONS(ip->ip_id); --- 973 unchanged lines hidden --- |