root/netinet/ip_ether.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


    1 /*      $OpenBSD: ip_ether.h,v 1.13 2002/06/09 16:26:10 itojun Exp $ */
    2 /*
    3  * The author of this code is Angelos D. Keromytis (angelos@adk.gr)
    4  *
    5  * This code was written by Angelos D. Keromytis in October 1999.
    6  *
    7  * Copyright (C) 1999-2001 Angelos D. Keromytis.
    8  *
    9  * Permission to use, copy, and modify this software with or without fee
   10  * is hereby granted, provided that this entire notice is included in
   11  * all copies of any software which is or includes a copy or
   12  * modification of this software.
   13  * You may use this code under the GNU public license if you so wish. Please
   14  * contribute changes back to the authors under this freer than GPL license
   15  * so that we may further the use of strong encryption without limitations to
   16  * all.
   17  *
   18  * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR
   19  * IMPLIED WARRANTY. IN PARTICULAR, NONE OF THE AUTHORS MAKES ANY
   20  * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE
   21  * MERCHANTABILITY OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR
   22  * PURPOSE.
   23  */
   24 
   25 #ifndef _NETINET_IP_ETHER_H_
   26 #define _NETINET_IP_ETHER_H_
   27 
   28 /*
   29  * Ethernet-inside-IP processing.
   30  */
   31 
   32 struct etheripstat {
   33         u_int32_t       etherip_hdrops;         /* packet shorter than header shows */
   34         u_int32_t       etherip_qfull;          /* bridge queue full, packet dropped */
   35         u_int32_t       etherip_noifdrops;      /* no interface/bridge information */
   36         u_int32_t       etherip_pdrops;         /* packet dropped due to policy */
   37         u_int32_t       etherip_adrops;         /* all other drops */
   38         u_int32_t       etherip_ipackets;       /* total input packets */
   39         u_int32_t       etherip_opackets;       /* total output packets */
   40         u_int64_t       etherip_ibytes;         /* input bytes */
   41         u_int64_t       etherip_obytes;         /* output bytes */
   42 };
   43 
   44 struct etherip_header {
   45         u_int8_t        eip_ver;                /* version/reserved */
   46         u_int8_t        eip_pad;                /* required padding byte */
   47 };
   48 #define ETHERIP_VER_VERS_MASK   0x0f
   49 #define ETHERIP_VER_RSVD_MASK   0xf0
   50 
   51 #define ETHERIP_VERSION         0x03
   52 
   53 /*
   54  * Names for Ether-IP sysctl objects
   55  */
   56 #define ETHERIPCTL_ALLOW        1       /* accept incoming EtherIP packets */
   57 #define ETHERIPCTL_MAXID        2
   58 
   59 #define ETHERIPCTL_NAMES { \
   60         { 0, 0 }, \
   61         { "allow", CTLTYPE_INT }, \
   62 }
   63 
   64 #ifdef _KERNEL
   65 int     etherip_sysctl(int *, u_int, void *, size_t *, void *, size_t);
   66 
   67 extern int etherip_allow;
   68 extern struct etheripstat etheripstat;
   69 #endif /* _KERNEL */
   70 #endif /* _NETINET_IP_ETHER_H_ */

/* [<][>][^][v][top][bottom][index][help] */