1*b636d99dSDavid van Moolenbroek /* 2*b636d99dSDavid van Moolenbroek * Copyright (c) 1982, 1986, 1993 3*b636d99dSDavid van Moolenbroek * The Regents of the University of California. All rights reserved. 4*b636d99dSDavid van Moolenbroek * 5*b636d99dSDavid van Moolenbroek * Redistribution and use in source and binary forms, with or without 6*b636d99dSDavid van Moolenbroek * modification, are permitted provided that the following conditions 7*b636d99dSDavid van Moolenbroek * are met: 8*b636d99dSDavid van Moolenbroek * 1. Redistributions of source code must retain the above copyright 9*b636d99dSDavid van Moolenbroek * notice, this list of conditions and the following disclaimer. 10*b636d99dSDavid van Moolenbroek * 2. Redistributions in binary form must reproduce the above copyright 11*b636d99dSDavid van Moolenbroek * notice, this list of conditions and the following disclaimer in the 12*b636d99dSDavid van Moolenbroek * documentation and/or other materials provided with the distribution. 13*b636d99dSDavid van Moolenbroek * 3. Neither the name of the University nor the names of its contributors 14*b636d99dSDavid van Moolenbroek * may be used to endorse or promote products derived from this software 15*b636d99dSDavid van Moolenbroek * without specific prior written permission. 16*b636d99dSDavid van Moolenbroek * 17*b636d99dSDavid van Moolenbroek * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 18*b636d99dSDavid van Moolenbroek * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19*b636d99dSDavid van Moolenbroek * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20*b636d99dSDavid van Moolenbroek * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 21*b636d99dSDavid van Moolenbroek * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22*b636d99dSDavid van Moolenbroek * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23*b636d99dSDavid van Moolenbroek * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24*b636d99dSDavid van Moolenbroek * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25*b636d99dSDavid van Moolenbroek * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26*b636d99dSDavid van Moolenbroek * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27*b636d99dSDavid van Moolenbroek * SUCH DAMAGE. 28*b636d99dSDavid van Moolenbroek * 29*b636d99dSDavid van Moolenbroek * @(#)udp.h 8.1 (Berkeley) 6/10/93 30*b636d99dSDavid van Moolenbroek */ 31*b636d99dSDavid van Moolenbroek 32*b636d99dSDavid van Moolenbroek /* 33*b636d99dSDavid van Moolenbroek * Udp protocol header. 34*b636d99dSDavid van Moolenbroek * Per RFC 768, September, 1981. 35*b636d99dSDavid van Moolenbroek */ 36*b636d99dSDavid van Moolenbroek struct udphdr { 37*b636d99dSDavid van Moolenbroek uint16_t uh_sport; /* source port */ 38*b636d99dSDavid van Moolenbroek uint16_t uh_dport; /* destination port */ 39*b636d99dSDavid van Moolenbroek uint16_t uh_ulen; /* udp length */ 40*b636d99dSDavid van Moolenbroek uint16_t uh_sum; /* udp checksum */ 41*b636d99dSDavid van Moolenbroek }; 42*b636d99dSDavid van Moolenbroek 43*b636d99dSDavid van Moolenbroek #define BOOTPS_PORT 67 /* RFC951 */ 44*b636d99dSDavid van Moolenbroek #define BOOTPC_PORT 68 /* RFC951 */ 45*b636d99dSDavid van Moolenbroek #define TFTP_PORT 69 /*XXX*/ 46*b636d99dSDavid van Moolenbroek #define KERBEROS_PORT 88 /*XXX*/ 47*b636d99dSDavid van Moolenbroek #define SUNRPC_PORT 111 /*XXX*/ 48*b636d99dSDavid van Moolenbroek #define SNMP_PORT 161 /*XXX*/ 49*b636d99dSDavid van Moolenbroek #define NTP_PORT 123 /*XXX*/ 50*b636d99dSDavid van Moolenbroek #define SNMPTRAP_PORT 162 /*XXX*/ 51*b636d99dSDavid van Moolenbroek #define ISAKMP_PORT 500 /*XXX*/ 52*b636d99dSDavid van Moolenbroek #define SYSLOG_PORT 514 /* rfc3164 */ 53*b636d99dSDavid van Moolenbroek #define TIMED_PORT 525 /*XXX*/ 54*b636d99dSDavid van Moolenbroek #define RIP_PORT 520 /*XXX*/ 55*b636d99dSDavid van Moolenbroek #define LDP_PORT 646 56*b636d99dSDavid van Moolenbroek #define AODV_PORT 654 /*XXX*/ 57*b636d99dSDavid van Moolenbroek #define OLSR_PORT 698 /* rfc3626 */ 58*b636d99dSDavid van Moolenbroek #define KERBEROS_SEC_PORT 750 /*XXX*/ 59*b636d99dSDavid van Moolenbroek #define L2TP_PORT 1701 /*XXX*/ 60*b636d99dSDavid van Moolenbroek #define SIP_PORT 5060 61*b636d99dSDavid van Moolenbroek #define ISAKMP_PORT_NATT 4500 /* rfc3948 */ 62*b636d99dSDavid van Moolenbroek #define ISAKMP_PORT_USER1 7500 /*XXX - nonstandard*/ 63*b636d99dSDavid van Moolenbroek #define ISAKMP_PORT_USER2 8500 /*XXX - nonstandard*/ 64*b636d99dSDavid van Moolenbroek #define RX_PORT_LOW 7000 /*XXX*/ 65*b636d99dSDavid van Moolenbroek #define RX_PORT_HIGH 7009 /*XXX*/ 66*b636d99dSDavid van Moolenbroek #define NETBIOS_NS_PORT 137 67*b636d99dSDavid van Moolenbroek #define NETBIOS_DGRAM_PORT 138 68*b636d99dSDavid van Moolenbroek #define CISCO_AUTORP_PORT 496 /*XXX*/ 69*b636d99dSDavid van Moolenbroek #define RADIUS_PORT 1645 70*b636d99dSDavid van Moolenbroek #define RADIUS_NEW_PORT 1812 71*b636d99dSDavid van Moolenbroek #define RADIUS_ACCOUNTING_PORT 1646 72*b636d99dSDavid van Moolenbroek #define RADIUS_NEW_ACCOUNTING_PORT 1813 73*b636d99dSDavid van Moolenbroek #define RADIUS_COA_PORT 3799 74*b636d99dSDavid van Moolenbroek #define HSRP_PORT 1985 /*XXX*/ 75*b636d99dSDavid van Moolenbroek #define LMP_PORT 701 /* rfc4204 */ 76*b636d99dSDavid van Moolenbroek #define LWRES_PORT 921 77*b636d99dSDavid van Moolenbroek #define VQP_PORT 1589 78*b636d99dSDavid van Moolenbroek #define ZEPHYR_SRV_PORT 2103 79*b636d99dSDavid van Moolenbroek #define ZEPHYR_CLT_PORT 2104 80*b636d99dSDavid van Moolenbroek #define VAT_PORT 3456 81*b636d99dSDavid van Moolenbroek #define MPLS_LSP_PING_PORT 3503 /* draft-ietf-mpls-lsp-ping-02.txt */ 82*b636d99dSDavid van Moolenbroek #define BFD_CONTROL_PORT 3784 /* draft-katz-ward-bfd-v4v6-1hop-00.txt */ 83*b636d99dSDavid van Moolenbroek #define BFD_ECHO_PORT 3785 /* draft-katz-ward-bfd-v4v6-1hop-00.txt */ 84*b636d99dSDavid van Moolenbroek #define WB_PORT 4567 85*b636d99dSDavid van Moolenbroek #define SFLOW_PORT 6343 /* http://www.sflow.org/developers/specifications.php */ 86*b636d99dSDavid van Moolenbroek #define LWAPP_DATA_PORT 12222 /* RFC 5412 */ 87*b636d99dSDavid van Moolenbroek #define LWAPP_CONTROL_PORT 12223 /* RFC 5412 */ 88*b636d99dSDavid van Moolenbroek #define OTV_PORT 8472 /* draft-hasmit-otv-04 */ 89*b636d99dSDavid van Moolenbroek #define VXLAN_PORT 4789 /* RFC 7348 */ 90*b636d99dSDavid van Moolenbroek #define GENEVE_PORT 6081 /* draft-gross-geneve-02 */ 91*b636d99dSDavid van Moolenbroek 92*b636d99dSDavid van Moolenbroek #ifdef INET6 93*b636d99dSDavid van Moolenbroek #define RIPNG_PORT 521 /* RFC 2080 */ 94*b636d99dSDavid van Moolenbroek #define DHCP6_SERV_PORT 546 /*XXX*/ 95*b636d99dSDavid van Moolenbroek #define DHCP6_CLI_PORT 547 /*XXX*/ 96*b636d99dSDavid van Moolenbroek #define AHCP_PORT 5359 /* draft-chroboczek-ahcp-00 */ 97*b636d99dSDavid van Moolenbroek #define BABEL_PORT 6696 /* RFC 6126 errata */ 98*b636d99dSDavid van Moolenbroek #define BABEL_PORT_OLD 6697 /* RFC 6126 */ 99*b636d99dSDavid van Moolenbroek #endif 100