souppp

module
v1.1.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 20, 2024 License: GPL-3.0

README

souppp

Go Reference

souppp is a library that fully implements PPPoE (and related protocols) in Go:

  • souppp/pppoe: PPPoE RFC2516
  • souppp/ppp: PPP & LCP RFC1661; IPCP RFC1332; IPv6CP RFC5072
  • souppp/auth/pap: PAP RFC1334
  • souppp/auth/chap: CHAP RFC1994
  • souppp/datapath: Linux TUN/TAP interface
  • souppp/client: PPPoE Client (& DHCPv6 over PPP)

souppp can help you to start a PPPoE client, and currently there isn't any logic to start your own PPPoE/PPP server, you can open a Pull Request if you want to implement this feature

PPPoE Client

Features
  • Fast Ethernet network communication via eBPF/XDP, which allows the client to bypass the Linux network stack and improve performance
  • Option to specify a custom MAC address (reading response frames thanks to network card promiscous mode)
  • Option to run multiple PPPoE sessions concurrently, with functions to handle and replace them
  • Support IPv4, IPv6 (DHCPv6 over PPP, IA_NA and/or IA_PD) and dual stack
  • Option to create corresponding PPP TUN interface in OS, to allow other processes the usage of the established PPP connection

Directories

Path Synopsis
chap
Package chap implments CHAPwithMD5 as specified in RFC1994
Package chap implments CHAPwithMD5 as specified in RFC1994
pap
Package pap implements PAP protocol as specified in RFC1334
Package pap implements PAP protocol as specified in RFC1334
Package client is a PPPoE client lib
Package client is a PPPoE client lib
Package datapath implements linux data path for PPPoE/PPP;
Package datapath implements linux data path for PPPoE/PPP;
ppp
lcp
Package lcp implements LCP, IPCP and IPv6CP protocols
Package lcp implements LCP, IPCP and IPv6CP protocols
Package pppoe implements pppoe as defined in RFC2516
Package pppoe implements pppoe as defined in RFC2516

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL