Types for working with Linux packet sockets.
network-packet-linux makes it possible to use the network package with Linux packet sockets. Packet sockets are described in packet (7).
Usage
Combine functions from Network.Socket.Address with types from Network.Socket.Linux in order to work with packet sockets.
See the Network.Socket.Linux module documentation or examples/ListenToInterface.hs for an example.
About the package
As of version 3.0.0, the network package provides a socket API that is implemented in terms of the SocketAddress typeclass. network-packet-linux provides SockAddrLl, a SocketAddress instance that corresponds to the sockaddr_ll struct from <linux/if_packet.h>.
Additionally, network-packet-linux provides some convenience types: ProtocolId (an enumeration of the Ethernet protocol IDs defined in <linux/if_ether.h>) and PacketType (enumerating the packet types defined in <linux/if_packet.h>).