#![allow(non_upper_case_globals)]
#![deny(missing_docs)]
#![feature(const_fn, core_intrinsics, repr128, try_from)]
#[macro_use] extern crate arrayref;
extern crate digest;
#[cfg(feature = "dpdk-sys")] extern crate dpdk_sys;
extern crate libc;
#[macro_use] extern crate likely;
extern crate network_check_sum;
extern crate network_endian;
extern crate network_ethernet;
extern crate network_packet;
extern crate network_time;
extern crate serde;
#[macro_use] extern crate serde_derive;
#[macro_use] pub mod packet_processing;
pub mod routing;
#[allow(dead_code)] mod treebitmap;
pub mod version_4;
pub mod version_6;
use self::packet_processing::*;
use self::version_4::*;
use self::version_6::*;
pub use ::digest::Digest;
#[cfg(feature = "dpdk-sys")] use ::dpdk_sys::*;
use ::libc::*;
use ::network_check_sum::*;
use ::network_endian::*;
use ::network_ethernet::*;
use ::network_ethernet::virtual_lans::DifferentiatedServiceCodePoint;
use ::network_ethernet::packet_processing::EthernetIncomingNetworkPacket;
use ::network_ethernet::packet_processing::EthernetIncomingNetworkPacketDropObserver;
use ::network_ethernet::packet_processing::EthernetIncomingNetworkPacketDropReason;
use ::network_ethernet::packet_processing::Layer3PacketProcessing;
use ::network_packet::IncomingNetworkPacketProcessingDropReason;
use ::network_time::MonotonicMillisecondTimestamp;
use ::serde::Deserialize;
use ::serde::Deserializer;
use ::serde::Serialize;
use ::serde::Serializer;
use ::serde::de;
use ::serde::de::DeserializeOwned;
use ::serde::de::Visitor;
use ::std::cmp::min;
use ::std::cmp::Ordering;
use ::std::collections::HashMap;
use ::std::collections::HashSet;
use ::std::convert::TryFrom;
use ::std::fmt;
use ::std::fmt::Debug;
use ::std::fmt::Display;
use ::std::fmt::Formatter;
use ::std::hash::Hash;
use ::std::hash::Hasher;
use ::std::marker::PhantomData;
use ::std::mem::size_of;
use ::std::mem::transmute;
use ::std::mem::transmute_copy;
use ::std::mem::uninitialized;
use ::std::mem::zeroed;
use ::std::net::Ipv4Addr;
use ::std::net::Ipv6Addr;
use ::std::ops::Index;
use ::std::ptr::copy_nonoverlapping;
use ::std::ptr::NonNull;
use ::std::rc::Rc;
use ::treebitmap::address::Address as TreeBitmapAddress;
use ::treebitmap::tree_bitmap::TreeBitmap;
include!("ExplicitCongestionNotification.rs");
include!("InternetHeaderLength.rs");
include!("InternetProtocolHostAddress.rs");
include!("InternetProtocolMaskBits.rs");
include!("InternetProtocolNetworkAddress.rs");
include!("InternetProtocolVersion4OrVersion6OrBoth.rs");
include!("Layer4Packet.rs");
include!("Layer4PacketProcessing.rs");
include!("Layer4ProtocolNeedsToSupport.rs");
include!("Layer4ProtocolNumber.rs");
include!("MediaAccessControlAddressAndInternetProtocolAddressOverlap.rs");
include!("TrafficClass.rs");