The kernel is losing the ax.25 stack in 7.1. That means there won't be a straightforward way to do IP-over-packet with Direwolf (or any other TNC for that matter) using existing tools and utilities.
The most obvious replacement for the current direwolf -p and kissattach means of setting it up would be to create a tun interface
and connect a userspace component to to handle IP packets. That does require a re-implementation of ARP in userspace to resolve IP addresses to callsigns since tun interfaces run NOARP. Trying to force arp on doesn't work because of the 7-byte AX.25 addresses.
I put together a standalone proof-of-concept: https://github.com/drahosj/ax25tun. It connects to Direwolf's KISS-over-TCP server
and handles IPv4 traffic to/from the kernel stack via a tun interface. It seems to work as a more or less drop-in replacement for the old kissattach method.
It's also worth noting that non-root processes can be hooked up to a tuntap, as long as a persistent tuntap is created with the right user or group settings. Only interface creation and configuration needs to be privileged, not the link implementation.
I'm not sure if implementing something like this would be at home directly in Direwolf itself. A --tun flag that connects to an existing tunnel interface and implements the L1/L2 protocol would be pretty smooth. However, implementing ARP feels like scope creep. Either way, the 7.1 kernel changes mean that IP-over-packet users need to find a new way of doing things.
The kernel is losing the ax.25 stack in 7.1. That means there won't be a straightforward way to do IP-over-packet with Direwolf (or any other TNC for that matter) using existing tools and utilities.
The most obvious replacement for the current
direwolf -pandkissattachmeans of setting it up would be to create a tun interfaceand connect a userspace component to to handle IP packets. That does require a re-implementation of ARP in userspace to resolve IP addresses to callsigns since tun interfaces run NOARP. Trying to force
arp ondoesn't work because of the 7-byte AX.25 addresses.I put together a standalone proof-of-concept: https://github.com/drahosj/ax25tun. It connects to Direwolf's KISS-over-TCP server
and handles IPv4 traffic to/from the kernel stack via a tun interface. It seems to work as a more or less drop-in replacement for the old
kissattachmethod.It's also worth noting that non-root processes can be hooked up to a tuntap, as long as a persistent tuntap is created with the right user or group settings. Only interface creation and configuration needs to be privileged, not the link implementation.
I'm not sure if implementing something like this would be at home directly in Direwolf itself. A
--tunflag that connects to an existing tunnel interface and implements the L1/L2 protocol would be pretty smooth. However, implementing ARP feels like scope creep. Either way, the 7.1 kernel changes mean that IP-over-packet users need to find a new way of doing things.