digraph {
    rankdir = LR

    subgraph cluster_netlink {
        "github.com/mdlayher/netlink" [URL="https://github.com/mdlayher/netlink"]
    }

    subgraph cluster_connector {
        label = "NETLINK_CONNECTOR";

        {
            "github.com/fearful-symmetry/garlic" [URL="https://github.com/fearful-symmetry/garlic"]
        } -> "github.com/mdlayher/netlink"
    }

    subgraph cluster_crypto {
        label = "NETLINK_CRYPTO";

        {
            "github.com/mdlayher/cryptonl" [URL="https://github.com/mdlayher/cryptonl"]
        } -> "github.com/mdlayher/netlink"
    }

    subgraph cluster_generic {
        label = "NETLINK_GENERIC (genetlink)";
        "github.com/mdlayher/genetlink" [URL="https://github.com/mdlayher/genetlink"]
        "github.com/mdlayher/genetlink" -> "github.com/mdlayher/netlink"

        {   
            "github.com/axatrax/l2tp" [URL="https://github.com/axatrax/l2tp"]
            "github.com/digitalocean/go-openvswitch" [URL="https://github.com/digitalocean/go-openvswitch"]
            "github.com/mdlayher/devlink" [URL="https://github.com/mdlayher/devlink"]
            "github.com/mdlayher/quota" [URL="https://github.com/mdlayher/quota"]
            "github.com/mdlayher/taskstats" [URL="https://github.com/mdlayher/taskstats"]
            "github.com/mdlayher/wifi" [URL="https://github.com/mdlayher/wifi"]
            "github.com/Merovius/nbd" [URL="https://github.com/Merovius/nbd"]
            "github.com/rtr7/router7" [URL="https://github.com/rtr7/router7"]
            "github.com/u-root/u-bmc" [URL="https://github.com/u-root/u-bmc"]
            "golang.zx2c4.com/wireguard/wgctrl" [URL="https://golang.zx2c4.com/wireguard/wgctrl"]
        } -> "github.com/mdlayher/genetlink" 
    }

    subgraph cluster_kobject_uevent {
        label = "NETLINK_KOBJECT_UEVENT";

        {
            "github.com/mdlayher/kobject" [URL="https://github.com/mdlayher/kobject"]
        } -> "github.com/mdlayher/netlink"
    }

    subgraph cluster_netfilter {
        label = "NETLINK_NETFILTER (nfnetlink)";

        {
            "github.com/florianl/go-conntrack" [URL="https://github.com/florianl/go-conntrack"]
            "github.com/florianl/go-nflog" [URL="https://github.com/florianl/go-nflog"]
            "github.com/florianl/go-nfqueue" [URL="https://github.com/florianl/go-nfqueue"]
            "github.com/google/nftables" [URL="https://github.com/google/nftables"]
            "github.com/ti-mo/netfilter" [URL="https://github.com/ti-mo/netfilter"]
        } -> "github.com/mdlayher/netlink"

        {
            "github.com/ti-mo/conntrack"  [URL="https://github.com/ti-mo/conntrack"]
        } -> "github.com/ti-mo/netfilter"
    }

    subgraph cluster_route {
        label = "NETLINK_ROUTE (rtnetlink)";

        {
            "github.com/ema/qdisc" [URL="https://github.com/ema/qdisc"]
            "github.com/florianl/go-tc" [URL="https://github.com/florianl/go-tc"]
            "github.com/jsimonetti/rtnetlink" [URL="https://github.com/jsimonetti/rtnetlink"]
            "gitlab.com/mergetb/tech/rtnl" [URL="https://gitlab.com/mergetb/tech/rtnl"]
        } -> "github.com/mdlayher/netlink"
    }

    subgraph cluster_w1 {
        label = "NETLINK_W1";

        {
            "github.com/SpComb/go-onewire" [URL="https://github.com/SpComb/go-onewire"]
        } -> "github.com/mdlayher/netlink"
    }
}

