nettle-openflow-0.2.0: OpenFlow protocol messages, binary formats, and servers.

Nettle.Ethernet.EthernetFrame

Contents

Description

This module provides data structures for Ethernet frames as well as parsers and unparsers for Ethernet frames.

Synopsis

Data types

type EthernetFrame = EthernetHeader :*: (EthernetBody :*: HNil)Source

An Ethernet frame is either an IP packet, an ARP packet, or an uninterpreted ByteString. Based on http:en.wikipedia.orgwikiFile:Ethernet_Type_II_Frame_format.svg

type EthernetTypeCode = Word16Source

Ethernet type code, determines the type of payload carried by an Ethernet frame.

foldEthernetBody :: (IPPacket -> a) -> (ARPPacket -> a) -> (ByteString -> a) -> EthernetBody -> aSource

Parsers and unparsers

getEthernetFrame :: Get EthernetFrameSource

Parser for Ethernet frames.

getEthHeader2 :: Get EthernetHeaderSource

Parser for Ethernet headers.

putEthHeader :: EthernetHeader -> PutSource

Unparser for Ethernet headers.

ARP frames

arpQuerySource

Arguments

:: EthernetAddress

source hardware address

-> IPAddress

source IP address

-> IPAddress

target IP address

-> EthernetFrame 

arpReplySource

Arguments

:: EthernetAddress

source hardware address

-> IPAddress

source IP address

-> EthernetAddress

target hardware address

-> IPAddress

target IP address

-> EthernetFrame