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>
).