...

Text file src/github.com/mdlayher/packet/README.md

Documentation: github.com/mdlayher/packet

     1# packet [![Test Status](https://github.com/mdlayher/packet/workflows/Test/badge.svg)](https://github.com/mdlayher/packet/actions) [![Go Reference](https://pkg.go.dev/badge/github.com/mdlayher/packet.svg)](https://pkg.go.dev/github.com/mdlayher/packet)  [![Go Report Card](https://goreportcard.com/badge/github.com/mdlayher/packet)](https://goreportcard.com/report/github.com/mdlayher/packet)
     2
     3Package `packet` provides access to Linux packet sockets (`AF_PACKET`). MIT
     4Licensed.
     5
     6## Stability
     7
     8See the [CHANGELOG](./CHANGELOG.md) file for a description of changes between
     9releases.
    10
    11This package has a stable v1 API and any future breaking changes will prompt
    12the release of a new major version. Features and bug fixes will continue to
    13occur in the v1.x.x series.
    14
    15This package only supports the two most recent major versions of Go, mirroring
    16Go's own release policy. Older versions of Go may lack critical features and bug
    17fixes which are necessary for this package to function correctly.
    18
    19## History
    20
    21One of my first major Go networking projects was
    22[`github.com/mdlayher/raw`](https://github.com/mdlayher/raw), which provided
    23access to Linux `AF_PACKET` sockets and *BSD equivalent mechanisms for sending
    24and receiving Ethernet frames. However, the *BSD support languished and I lack
    25the expertise and time to properly maintain code for operating systems I do not
    26use on a daily basis.
    27
    28Package `packet` is a successor to package `raw`, but exclusively focused on
    29Linux and `AF_PACKET` sockets. The APIs are nearly identical, but with a few
    30changes which take into account some of the lessons learned while working on
    31`raw`.
    32
    33Users are highly encouraged to migrate any existing Linux uses of `raw` to
    34package `packet` instead. This package will be supported for the foreseeable
    35future and will receive continued updates as necessary.

View as plain text