@Override
    protected void doDisconnect() {
        this.loopThread.interrupt();
        if (this.handle != null) {
            try {
                this.handle.close();
            } catch (IOException e) {
                logger.error("Failed to close CAN socket!");
            }
        }
    }
A naive copy of pcap channel implementation which allows to pass over data to PLC4X as well as drop it back to JavaCAN.
Sadly all this involves double parsing.
plc4j/transports/socketcan/src/main/java/org/apache/plc4x/java/transport/socketcan/netty/SocketCANChannel.java