-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
0b6b794
commit 937bb7b
Showing
5 changed files
with
409 additions
and
0 deletions.
There are no files selected for viewing
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,97 @@ | ||
/* | ||
* INET An implementation of the TCP/IP protocol suite for the LINUX | ||
* operating system. INET is implemented using the BSD Socket | ||
* interface as the means of communication with the user level. | ||
* | ||
* Definitions for the ICMP protocol. | ||
* | ||
* Version: @(#)icmp.h 1.0.3 04/28/93 | ||
* | ||
* Author: Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG> | ||
* | ||
* This program is free software; you can redistribute it and/or | ||
* modify it under the terms of the GNU General Public License | ||
* as published by the Free Software Foundation; either version | ||
* 2 of the License, or (at your option) any later version. | ||
*/ | ||
#ifndef _UAPI_LINUX_ICMP_H | ||
#define _UAPI_LINUX_ICMP_H | ||
|
||
#include <linux/types.h> | ||
|
||
#define ICMP_ECHOREPLY 0 /* Echo Reply */ | ||
#define ICMP_DEST_UNREACH 3 /* Destination Unreachable */ | ||
#define ICMP_SOURCE_QUENCH 4 /* Source Quench */ | ||
#define ICMP_REDIRECT 5 /* Redirect (change route) */ | ||
#define ICMP_ECHO 8 /* Echo Request */ | ||
#define ICMP_TIME_EXCEEDED 11 /* Time Exceeded */ | ||
#define ICMP_PARAMETERPROB 12 /* Parameter Problem */ | ||
#define ICMP_TIMESTAMP 13 /* Timestamp Request */ | ||
#define ICMP_TIMESTAMPREPLY 14 /* Timestamp Reply */ | ||
#define ICMP_INFO_REQUEST 15 /* Information Request */ | ||
#define ICMP_INFO_REPLY 16 /* Information Reply */ | ||
#define ICMP_ADDRESS 17 /* Address Mask Request */ | ||
#define ICMP_ADDRESSREPLY 18 /* Address Mask Reply */ | ||
#define NR_ICMP_TYPES 18 | ||
|
||
|
||
/* Codes for UNREACH. */ | ||
#define ICMP_NET_UNREACH 0 /* Network Unreachable */ | ||
#define ICMP_HOST_UNREACH 1 /* Host Unreachable */ | ||
#define ICMP_PROT_UNREACH 2 /* Protocol Unreachable */ | ||
#define ICMP_PORT_UNREACH 3 /* Port Unreachable */ | ||
#define ICMP_FRAG_NEEDED 4 /* Fragmentation Needed/DF set */ | ||
#define ICMP_SR_FAILED 5 /* Source Route failed */ | ||
#define ICMP_NET_UNKNOWN 6 | ||
#define ICMP_HOST_UNKNOWN 7 | ||
#define ICMP_HOST_ISOLATED 8 | ||
#define ICMP_NET_ANO 9 | ||
#define ICMP_HOST_ANO 10 | ||
#define ICMP_NET_UNR_TOS 11 | ||
#define ICMP_HOST_UNR_TOS 12 | ||
#define ICMP_PKT_FILTERED 13 /* Packet filtered */ | ||
#define ICMP_PREC_VIOLATION 14 /* Precedence violation */ | ||
#define ICMP_PREC_CUTOFF 15 /* Precedence cut off */ | ||
#define NR_ICMP_UNREACH 15 /* instead of hardcoding immediate value */ | ||
|
||
/* Codes for REDIRECT. */ | ||
#define ICMP_REDIR_NET 0 /* Redirect Net */ | ||
#define ICMP_REDIR_HOST 1 /* Redirect Host */ | ||
#define ICMP_REDIR_NETTOS 2 /* Redirect Net for TOS */ | ||
#define ICMP_REDIR_HOSTTOS 3 /* Redirect Host for TOS */ | ||
|
||
/* Codes for TIME_EXCEEDED. */ | ||
#define ICMP_EXC_TTL 0 /* TTL count exceeded */ | ||
#define ICMP_EXC_FRAGTIME 1 /* Fragment Reass time exceeded */ | ||
|
||
|
||
struct icmphdr { | ||
__u8 type; | ||
__u8 code; | ||
__sum16 checksum; | ||
union { | ||
struct { | ||
__be16 id; | ||
__be16 sequence; | ||
} echo; | ||
__be32 gateway; | ||
struct { | ||
__be16 __unused; | ||
__be16 mtu; | ||
} frag; | ||
} un; | ||
}; | ||
|
||
|
||
/* | ||
* constants for (set|get)sockopt | ||
*/ | ||
|
||
#define ICMP_FILTER 1 | ||
|
||
struct icmp_filter { | ||
__u32 data; | ||
}; | ||
|
||
|
||
#endif /* _UAPI_LINUX_ICMP_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,113 @@ | ||
RFC 1700 Assigned Numbers October 1994 | ||
|
||
|
||
PROTOCOL NUMBERS | ||
|
||
|
||
In the Internet Protocol (IP) [DDN], [RFC791] there is a field, called | ||
Protocol, to identify the next level protocol. This is an 8 bit | ||
field. | ||
|
||
|
||
Assigned Internet Protocol Numbers | ||
|
||
Decimal Keyword Protocol References | ||
------- ------- -------- ---------- | ||
0 Reserved [JBP] | ||
1 ICMP Internet Control Message [RFC792,JBP] | ||
2 IGMP Internet Group Management [RFC1112,JBP] | ||
3 GGP Gateway-to-Gateway [RFC823,MB] | ||
4 IP IP in IP (encasulation) [JBP] | ||
5 ST Stream [RFC1190,IEN119,JWF] | ||
6 TCP Transmission Control [RFC793,JBP] | ||
7 UCL UCL [PK] | ||
8 EGP Exterior Gateway Protocol [RFC888,DLM1] | ||
9 IGP any private interior gateway [JBP] | ||
10 BBN-RCC-MON BBN RCC Monitoring [SGC] | ||
11 NVP-II Network Voice Protocol [RFC741,SC3] | ||
12 PUP PUP [PUP,XEROX] | ||
13 ARGUS ARGUS [RWS4] | ||
14 EMCON EMCON [BN7] | ||
15 XNET Cross Net Debugger [IEN158,JFH2] | ||
16 CHAOS Chaos [NC3] | ||
17 UDP User Datagram [RFC768,JBP] | ||
18 MUX Multiplexing [IEN90,JBP] | ||
19 DCN-MEAS DCN Measurement Subsystems [DLM1] | ||
20 HMP Host Monitoring [RFC869,RH6] | ||
21 PRM Packet Radio Measurement [ZSU] | ||
22 XNS-IDP XEROX NS IDP [ETHERNET,XEROX] | ||
23 TRUNK-1 Trunk-1 [BWB6] | ||
24 TRUNK-2 Trunk-2 [BWB6] | ||
25 LEAF-1 Leaf-1 [BWB6] | ||
26 LEAF-2 Leaf-2 [BWB6] | ||
27 RDP Reliable Data Protocol [RFC908,RH6] | ||
28 IRTP Internet Reliable Transaction [RFC938,TXM] | ||
29 ISO-TP4 ISO Transport Protocol Class 4 [RFC905,RC77] | ||
30 NETBLT Bulk Data Transfer Protocol [RFC969,DDC1] | ||
31 MFE-NSP MFE Network Services Protocol [MFENET,BCH2] | ||
32 MERIT-INP MERIT Internodal Protocol [HWB] | ||
33 SEP Sequential Exchange Protocol [JC120] | ||
34 3PC Third Party Connect Protocol [SAF3] | ||
35 IDPR Inter-Domain Policy Routing Protocol [MXS1] | ||
36 XTP XTP [GXC] | ||
37 DDP Datagram Delivery Protocol [WXC] | ||
38 IDPR-CMTP IDPR Control Message Transport Proto [MXS1] | ||
39 TP++ TP++ Transport Protocol [DXF] | ||
40 IL IL Transport Protocol [DXP2] | ||
41 SIP Simple Internet Protocol [SXD] | ||
42 SDRP Source Demand Routing Protocol [DXE1] | ||
43 SIP-SR SIP Source Route [SXD] | ||
44 SIP-FRAG SIP Fragment [SXD] | ||
45 IDRP Inter-Domain Routing Protocol [Sue Hares] | ||
46 RSVP Reservation Protocol [Bob Braden] | ||
47 GRE General Routing Encapsulation [Tony Li] | ||
48 MHRP Mobile Host Routing Protocol[David Johnson] | ||
49 BNA BNA [Gary Salamon] | ||
50 SIPP-ESP SIPP Encap Security Payload [Steve Deering] | ||
51 SIPP-AH SIPP Authentication Header [Steve Deering] | ||
52 I-NLSP Integrated Net Layer Security TUBA [GLENN] | ||
53 SWIPE IP with Encryption [JI6] | ||
54 NHRP NBMA Next Hop Resolution Protocol | ||
55-60 Unassigned [JBP] | ||
61 any host internal protocol [JBP] | ||
62 CFTP CFTP [CFTP,HCF2] | ||
63 any local network [JBP] | ||
64 SAT-EXPAK SATNET and Backroom EXPAK [SHB] | ||
65 KRYPTOLAN Kryptolan [PXL1] | ||
66 RVD MIT Remote Virtual Disk Protocol [MBG] | ||
67 IPPC Internet Pluribus Packet Core [SHB] | ||
68 any distributed file system [JBP] | ||
69 SAT-MON SATNET Monitoring [SHB] | ||
70 VISA VISA Protocol [GXT1] | ||
71 IPCV Internet Packet Core Utility [SHB] | ||
72 CPNX Computer Protocol Network Executive [DXM2] | ||
73 CPHB Computer Protocol Heart Beat [DXM2] | ||
74 WSN Wang Span Network [VXD] | ||
75 PVP Packet Video Protocol [SC3] | ||
76 BR-SAT-MON Backroom SATNET Monitoring [SHB] | ||
77 SUN-ND SUN ND PROTOCOL-Temporary [WM3] | ||
78 WB-MON WIDEBAND Monitoring [SHB] | ||
79 WB-EXPAK WIDEBAND EXPAK [SHB] | ||
80 ISO-IP ISO Internet Protocol [MTR] | ||
81 VMTP VMTP [DRC3] | ||
82 SECURE-VMTP SECURE-VMTP [DRC3] | ||
83 VINES VINES [BXH] | ||
84 TTP TTP [JXS] | ||
85 NSFNET-IGP NSFNET-IGP [HWB] | ||
86 DGP Dissimilar Gateway Protocol [DGP,ML109] | ||
87 TCF TCF [GAL5] | ||
88 IGRP IGRP [CISCO,GXS] | ||
89 OSPFIGP OSPFIGP [RFC1583,JTM4] | ||
90 Sprite-RPC Sprite RPC Protocol [SPRITE,BXW] | ||
91 LARP Locus Address Resolution Protocol [BXH] | ||
92 MTP Multicast Transport Protocol [SXA] | ||
93 AX.25 AX.25 Frames [BK29] | ||
94 IPIP IP-within-IP Encapsulation Protocol [JI6] | ||
95 MICP Mobile Internetworking Control Pro. [JI6] | ||
96 SCC-SP Semaphore Communications Sec. Pro. [HXH] | ||
97 ETHERIP Ethernet-within-IP Encapsulation [RXH1] | ||
98 ENCAP Encapsulation Header [RFC1241,RXB3] | ||
99 any private encryption scheme [JBP] | ||
100 GMTP GMTP [RXB5] | ||
101-254 Unassigned [JBP] | ||
255 Reserved [JBP] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,172 @@ | ||
/* | ||
* INET An implementation of the TCP/IP protocol suite for the LINUX | ||
* operating system. INET is implemented using the BSD Socket | ||
* interface as the means of communication with the user level. | ||
* | ||
* Definitions for the IP protocol. | ||
* | ||
* Version: @(#)ip.h 1.0.2 04/28/93 | ||
* | ||
* Authors: Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG> | ||
* | ||
* This program is free software; you can redistribute it and/or | ||
* modify it under the terms of the GNU General Public License | ||
* as published by the Free Software Foundation; either version | ||
* 2 of the License, or (at your option) any later version. | ||
*/ | ||
#ifndef _UAPI_LINUX_IP_H | ||
#define _UAPI_LINUX_IP_H | ||
#include <linux/types.h> | ||
#include <asm/byteorder.h> | ||
|
||
#define IPTOS_TOS_MASK 0x1E | ||
#define IPTOS_TOS(tos) ((tos)&IPTOS_TOS_MASK) | ||
#define IPTOS_LOWDELAY 0x10 | ||
#define IPTOS_THROUGHPUT 0x08 | ||
#define IPTOS_RELIABILITY 0x04 | ||
#define IPTOS_MINCOST 0x02 | ||
|
||
#define IPTOS_PREC_MASK 0xE0 | ||
#define IPTOS_PREC(tos) ((tos)&IPTOS_PREC_MASK) | ||
#define IPTOS_PREC_NETCONTROL 0xe0 | ||
#define IPTOS_PREC_INTERNETCONTROL 0xc0 | ||
#define IPTOS_PREC_CRITIC_ECP 0xa0 | ||
#define IPTOS_PREC_FLASHOVERRIDE 0x80 | ||
#define IPTOS_PREC_FLASH 0x60 | ||
#define IPTOS_PREC_IMMEDIATE 0x40 | ||
#define IPTOS_PREC_PRIORITY 0x20 | ||
#define IPTOS_PREC_ROUTINE 0x00 | ||
|
||
|
||
/* IP options */ | ||
#define IPOPT_COPY 0x80 | ||
#define IPOPT_CLASS_MASK 0x60 | ||
#define IPOPT_NUMBER_MASK 0x1f | ||
|
||
#define IPOPT_COPIED(o) ((o)&IPOPT_COPY) | ||
#define IPOPT_CLASS(o) ((o)&IPOPT_CLASS_MASK) | ||
#define IPOPT_NUMBER(o) ((o)&IPOPT_NUMBER_MASK) | ||
|
||
#define IPOPT_CONTROL 0x00 | ||
#define IPOPT_RESERVED1 0x20 | ||
#define IPOPT_MEASUREMENT 0x40 | ||
#define IPOPT_RESERVED2 0x60 | ||
|
||
#define IPOPT_END (0 |IPOPT_CONTROL) | ||
#define IPOPT_NOOP (1 |IPOPT_CONTROL) | ||
#define IPOPT_SEC (2 |IPOPT_CONTROL|IPOPT_COPY) | ||
#define IPOPT_LSRR (3 |IPOPT_CONTROL|IPOPT_COPY) | ||
#define IPOPT_TIMESTAMP (4 |IPOPT_MEASUREMENT) | ||
#define IPOPT_CIPSO (6 |IPOPT_CONTROL|IPOPT_COPY) | ||
#define IPOPT_RR (7 |IPOPT_CONTROL) | ||
#define IPOPT_SID (8 |IPOPT_CONTROL|IPOPT_COPY) | ||
#define IPOPT_SSRR (9 |IPOPT_CONTROL|IPOPT_COPY) | ||
#define IPOPT_RA (20|IPOPT_CONTROL|IPOPT_COPY) | ||
|
||
#define IPVERSION 4 | ||
#define MAXTTL 255 | ||
#define IPDEFTTL 64 | ||
|
||
#define IPOPT_OPTVAL 0 | ||
#define IPOPT_OLEN 1 | ||
#define IPOPT_OFFSET 2 | ||
#define IPOPT_MINOFF 4 | ||
#define MAX_IPOPTLEN 40 | ||
#define IPOPT_NOP IPOPT_NOOP | ||
#define IPOPT_EOL IPOPT_END | ||
#define IPOPT_TS IPOPT_TIMESTAMP | ||
|
||
#define IPOPT_TS_TSONLY 0 /* timestamps only */ | ||
#define IPOPT_TS_TSANDADDR 1 /* timestamps and addresses */ | ||
#define IPOPT_TS_PRESPEC 3 /* specified modules only */ | ||
|
||
#define IPV4_BEET_PHMAXLEN 8 | ||
|
||
struct iphdr { | ||
#if defined(__LITTLE_ENDIAN_BITFIELD) | ||
__u8 ihl:4, | ||
version:4; | ||
#elif defined (__BIG_ENDIAN_BITFIELD) | ||
__u8 version:4, | ||
ihl:4; | ||
#else | ||
#error "Please fix <asm/byteorder.h>" | ||
#endif | ||
__u8 tos; | ||
__be16 tot_len; | ||
__be16 id; | ||
__be16 frag_off; | ||
__u8 ttl; | ||
__u8 protocol; | ||
__sum16 check; | ||
__be32 saddr; | ||
__be32 daddr; | ||
/*The options start here. */ | ||
}; | ||
|
||
|
||
struct ip_auth_hdr { | ||
__u8 nexthdr; | ||
__u8 hdrlen; /* This one is measured in 32 bit units! */ | ||
__be16 reserved; | ||
__be32 spi; | ||
__be32 seq_no; /* Sequence number */ | ||
__u8 auth_data[0]; /* Variable len but >=4. Mind the 64 bit alignment! */ | ||
}; | ||
|
||
struct ip_esp_hdr { | ||
__be32 spi; | ||
__be32 seq_no; /* Sequence number */ | ||
__u8 enc_data[0]; /* Variable len but >=8. Mind the 64 bit alignment! */ | ||
}; | ||
|
||
struct ip_comp_hdr { | ||
__u8 nexthdr; | ||
__u8 flags; | ||
__be16 cpi; | ||
}; | ||
|
||
struct ip_beet_phdr { | ||
__u8 nexthdr; | ||
__u8 hdrlen; | ||
__u8 padlen; | ||
__u8 reserved; | ||
}; | ||
|
||
/* index values for the variables in ipv4_devconf */ | ||
enum | ||
{ | ||
IPV4_DEVCONF_FORWARDING=1, | ||
IPV4_DEVCONF_MC_FORWARDING, | ||
IPV4_DEVCONF_PROXY_ARP, | ||
IPV4_DEVCONF_ACCEPT_REDIRECTS, | ||
IPV4_DEVCONF_SECURE_REDIRECTS, | ||
IPV4_DEVCONF_SEND_REDIRECTS, | ||
IPV4_DEVCONF_SHARED_MEDIA, | ||
IPV4_DEVCONF_RP_FILTER, | ||
IPV4_DEVCONF_ACCEPT_SOURCE_ROUTE, | ||
IPV4_DEVCONF_BOOTP_RELAY, | ||
IPV4_DEVCONF_LOG_MARTIANS, | ||
IPV4_DEVCONF_TAG, | ||
IPV4_DEVCONF_ARPFILTER, | ||
IPV4_DEVCONF_MEDIUM_ID, | ||
IPV4_DEVCONF_NOXFRM, | ||
IPV4_DEVCONF_NOPOLICY, | ||
IPV4_DEVCONF_FORCE_IGMP_VERSION, | ||
IPV4_DEVCONF_ARP_ANNOUNCE, | ||
IPV4_DEVCONF_ARP_IGNORE, | ||
IPV4_DEVCONF_PROMOTE_SECONDARIES, | ||
IPV4_DEVCONF_ARP_ACCEPT, | ||
IPV4_DEVCONF_ARP_NOTIFY, | ||
IPV4_DEVCONF_ACCEPT_LOCAL, | ||
IPV4_DEVCONF_SRC_VMARK, | ||
IPV4_DEVCONF_PROXY_ARP_PVLAN, | ||
IPV4_DEVCONF_ROUTE_LOCALNET, | ||
IPV4_DEVCONF_IGMPV2_UNSOLICITED_REPORT_INTERVAL, | ||
IPV4_DEVCONF_IGMPV3_UNSOLICITED_REPORT_INTERVAL, | ||
__IPV4_DEVCONF_MAX | ||
}; | ||
|
||
#define IPV4_DEVCONF_MAX (__IPV4_DEVCONF_MAX - 1) | ||
|
||
#endif /* _UAPI_LINUX_IP_H */ |
Oops, something went wrong.