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 --- 16 unchanged lines hidden (view full) --- 25 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 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 * $FreeBSD: head/sys/netinet/ip_divert.c 95759 2002-04-30 01:54:54Z tanimura $ |
34 */ 35 36#include "opt_inet.h" 37#include "opt_ipfw.h" 38#include "opt_ipdivert.h" 39#include "opt_ipsec.h" 40 41#ifndef INET 42#error "IPDIVERT requires INET." 43#endif 44 45#include <sys/param.h> 46#include <sys/kernel.h> |
47#include <sys/lock.h> |
48#include <sys/malloc.h> 49#include <sys/mbuf.h> 50#include <sys/proc.h> |
51#include <sys/protosw.h> |
52#include <sys/signalvar.h> 53#include <sys/socket.h> |
54#include <sys/socketvar.h> |
55#include <sys/sx.h> |
56#include <sys/sysctl.h> 57#include <sys/systm.h> 58 59#include <vm/uma.h> 60 61#include <net/if.h> 62#include <net/route.h> 63 64#include <netinet/in.h> |
65#include <netinet/in_pcb.h> |
66#include <netinet/in_systm.h> |
67#include <netinet/in_var.h> |
68#include <netinet/ip.h> |
69#include <netinet/ip_var.h> 70 71/* 72 * Divert sockets 73 */ 74 75/* 76 * Allocate enough space to hold a full IP packet --- 465 unchanged lines hidden --- |