# All types/constants not specific to Openflow will be defined here # unitl they somehow get into bro. module Openflow; export { # All ethertypes can be found at # http://standards.ieee.org/develop/regauth/ethertype/eth.txt # but are not interesting for us at this point #type ethertype: enum { # Internet protocol version 4 const ETH_IPv4 = 0x0800; # Address resolution protocol const ETH_ARP = 0x0806; # Wake on LAN const ETH_WOL = 0x0842; # Reverse address resolution protocol const ETH_RARP = 0x8035; # Appletalk const ETH_APPLETALK = 0x809B; # Appletalk address resolution protocol const ETH_APPLETALK_ARP = 0x80F3; # IEEE 802.1q & IEEE 802.1aq const ETH_VLAN = 0x8100; # Novell IPX old const ETH_IPX_OLD = 0x8137; # Novell IPX const ETH_IPX = 0x8138; # Internet protocol version 6 const ETH_IPv6 = 0x86DD; # IEEE 802.3x const ETH_ETHER_FLOW_CONTROL = 0x8808; # Multiprotocol Label Switching unicast const ETH_MPLS_UNICAST = 0x8847; # Multiprotocol Label Switching multicast const ETH_MPLS_MULTICAST = 0x8848; # Point-to-point protocol over Ethernet discovery phase (rfc2516) const ETH_PPPOE_DISCOVERY = 0x8863; # Point-to-point protocol over Ethernet session phase (rfc2516) const ETH_PPPOE_SESSION = 0x8864; # Jumbo frames const ETH_JUMBO_FRAMES = 0x8870; # IEEE 802.1X const ETH_EAP_OVER_LAN = 0x888E; # IEEE 802.1ad & IEEE 802.1aq const ETH_PROVIDER_BRIDING = 0x88A8; # IEEE 802.1ae const ETH_MAC_SECURITY = 0x88E5; # IEEE 802.1ad (QinQ) const ETH_QINQ = 0x9100; #}; # A list of ip protocol numbers can be found at # http://en.wikipedia.org/wiki/List_of_IP_protocol_numbers #type iptype: enum { # IPv6 Hop-by-Hop Option (RFC2460) const IP_HOPOPT = 0x00; # Internet Control Message Protocol (RFC792) const IP_ICMP = 0x01; # Internet Group Management Protocol (RFC1112) const IP_IGMP = 0x02; # Gateway-to-Gateway Protocol (RFC823) const IP_GGP = 0x03; # IP-Within-IP (encapsulation) (RFC2003) const IP_IPIP = 0x04; # Internet Stream Protocol (RFC1190;RFC1819) const IP_ST = 0x05; # Tansmission Control Protocol (RFC793) const IP_TCP = 0x06; # Core-based trees (RFC2189) const IP_CBT = 0x07; # Exterior Gateway Protocol (RFC888) const IP_EGP = 0x08; # Interior Gateway Protocol (any private interior # gateway (used by Cisco for their IGRP)) const IP_IGP = 0x09; # User Datagram Protocol (RFC768) const IP_UDP = 0x11; # Reliable Datagram Protocol (RFC908) const IP_RDP = 0x1B; # IPv6 Encapsulation (RFC2473) const IP_IPv6 = 0x29; # Resource Reservation Protocol (RFC2205) const IP_RSVP = 0x2E; # Generic Routing Encapsulation (RFC2784;RFC2890) const IP_GRE = 0x2F; # Open Shortest Path First (RFC1583) const IP_OSPF = 0x59; # Multicast Transport Protocol const IP_MTP = 0x5C; # IP-within-IP Encapsulation Protocol (RFC2003) ### error 0x5E; # Ethernet-within-IP Encapsulation Protocol (RFC3378) const IP_ETHERIP = 0x61; # Layer Two Tunneling Protocol Version 3 (RFC3931) const IP_L2TP = 0x73; # Intermediate System to Intermediate System (IS-IS) Protocol over IPv4 (RFC1142;RFC1195) const IP_ISIS = 0x7C; # Fibre Channel const IP_FC = 0x85; # Multiprotocol Label Switching Encapsulated in IP (RFC4023) const IP_MPLS = 0x89; #}; }