RTEMS CPU Kit with SuperCore  4.11.3
Data Structures | Macros | Functions | Variables
ip_input.c File Reference
#include "opt_ipfw.h"
#include <stddef.h>
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/mbuf.h>
#include <sys/malloc.h>
#include <sys/domain.h>
#include <sys/protosw.h>
#include <sys/socket.h>
#include <errno.h>
#include <sys/time.h>
#include <sys/kernel.h>
#include <sys/syslog.h>
#include <sys/sysctl.h>
#include <net/if.h>
#include <net/if_dl.h>
#include <net/route.h>
#include <net/netisr.h>
#include <netinet/in.h>
#include <netinet/in_systm.h>
#include <netinet/in_var.h>
#include <netinet/ip.h>
#include <netinet/in_pcb.h>
#include <netinet/ip_var.h>
#include <netinet/ip_icmp.h>
#include <machine/in_cksum.h>
#include <sys/socketvar.h>
Include dependency graph for ip_input.c:

Data Structures

struct  ip_srcrt
 

Macros

#define _IP_VHL
 
#define IPREASS_NHASH_LOG2   6
 
#define IPREASS_NHASH   (1 << IPREASS_NHASH_LOG2)
 
#define IPREASS_HMASK   (IPREASS_NHASH - 1)
 
#define IPREASS_HASH(x, y)   (((((x) & 0xF) | ((((x) >> 8) & 0xF) << 4)) ^ (y)) & IPREASS_HMASK)
 
#define COMPAT_IPFW   1
 
#define satosin(sa)   ((struct sockaddr_in *)(sa))
 
#define INA   struct in_ifaddr *
 
#define SA   struct sockaddr *
 
#define OPTSIZ   (sizeof(ip_srcrt.nop) + sizeof(ip_srcrt.srcopt))
 
#define satosin(sa)   ((struct sockaddr_in *)(sa))
 
#define RTA(rt)   ((struct in_ifaddr *)(rt->rt_ifa))
 

Functions

 SYSCTL_INT (_net_inet_ip, IPCTL_FORWARDING, forwarding, CTLFLAG_RW, &ipforwarding, 0, "Enable IP forwarding between interfaces")
 
 SYSCTL_INT (_net_inet_ip, IPCTL_SENDREDIRECTS, redirect, CTLFLAG_RW, &ipsendredirects, 0, "Enable sending IP redirects")
 
 SYSCTL_INT (_net_inet_ip, IPCTL_DEFTTL, ttl, CTLFLAG_RW, &ip_defttl, 0, "Maximum TTL on IP packets")
 
 SYSCTL_INT (_net_inet_ip, IPCTL_SOURCEROUTE, sourceroute, CTLFLAG_RW, &ip_dosourceroute, 0, "")
 
 SYSCTL_INT (_net_inet_ip, IPCTL_ACCEPTSOURCEROUTE, accept_sourceroute, CTLFLAG_RW, &ip_acceptsourceroute, 0, "")
 
 SYSCTL_INT (_net_inet_ip, IPCTL_INTRQMAXLEN, intr_queue_maxlen, CTLFLAG_RD, &ipintrq.ifq_maxlen, 0, "")
 
 SYSCTL_INT (_net_inet_ip, IPCTL_INTRQDROPS, intr_queue_drops, CTLFLAG_RD, &ipintrq.ifq_drops, 0, "Number of packets dropped from the IP input queue")
 
void ipintr (void)
 
void ip_init (void)
 
void ip_input (struct mbuf *m)
 
 NETISR_SET (NETISR_IP, ipintr)
 
void ip_slowtimo (void)
 
void ip_drain (void)
 
struct mbufip_srcroute (void)
 
void ip_stripoptions (struct mbuf *m, struct mbuf *mopt)
 
void ip_savecontrol (struct inpcb *inp, struct mbuf **mp, struct ip *ip, struct mbuf *m)
 
int ip_rsvp_init (struct socket *so)
 
int ip_rsvp_done (void)
 

Variables

int rsvp_on = 0
 
struct socketip_rsvpd
 
int ipforwarding = 0
 
int ip_defttl = IPDEFTTL
 
struct domain inetdomain
 
struct protosw inetsw []
 
u_char ip_protox [IPPROTO_MAX]
 
struct in_ifaddrin_ifaddr
 
struct ifqueue ipintrq
 
struct ipstat ipstat
 
ip_fw_chk_t * ip_fw_chk_ptr
 
ip_fw_ctl_t * ip_fw_ctl_ptr
 
ip_nat_t * ip_nat_ptr
 
ip_nat_ctl_t * ip_nat_ctl_ptr
 
u_char inetctlerrmap [PRC_NCMDS]
 

Variable Documentation

◆ inetctlerrmap

u_char inetctlerrmap[PRC_NCMDS]
Initial value:
= {
0, 0, 0, 0,
0, EMSGSIZE, EHOSTDOWN, EHOSTUNREACH,
EHOSTUNREACH, EHOSTUNREACH, ECONNREFUSED, ECONNREFUSED,
EMSGSIZE, EHOSTUNREACH, 0, 0,
0, 0, 0, 0,
ENOPROTOOPT
}