{
  "kernel": "4.1.52",
  "updated": "2026-10-28",
  "firmware": "19.4.1051-3401200",
  "device": "VBNT-K",
  "kernel_package": "git_gitolite_openwrt__openwrt_broadcom_bcm963xx_5_02L_07_git-tch_bcm5_02L_07patch1_wlan19_1_1p2-1-f4e97ee0656c3a247868bb0a3f9c7e55",
  "asset_base": "https://francyesco.github.io/GUI_ipk/kernel/4.1.52-vbntk/",
  "source_commit": "7fc7c10",
  "abi_patch_sha256": "19c50ea6276091e81d9547a0ae17c324d5b25121af33d15b98096189e69f8853",
  "modules": [
    {
      "name": "act_connmark",
      "sha256": "749c6670032e413ca0f1e0cd925e5134dbeddfe731e6099fd911e13055e3bd21",
      "asset": "kmod-act-connmark-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-act-connmark-4.1.52-manual",
      "status": "passed",
      "level": "load-unload-functional",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": false,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": ""
    },
    {
      "name": "act_skbedit",
      "sha256": "6f7c40aabb7c8c61b24694c249dfd83738e43cca6d45d31e3a7f0d7054437aed",
      "asset": "kmod-act-skbedit-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-act-skbedit-4.1.52-manual",
      "status": "passed",
      "level": "load-unload-functional",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": ""
    },
    {
      "name": "bcmspu",
      "sha256": "0b743d61ae454e20d2a9a9a3099c9be5f85c7e495773aad4d1d137ab9ac42cd7",
      "asset": "kmod-bcmspu-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-bcmspu-4.1.52-manual",
      "status": "passed",
      "level": "load-unload-functional",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": false,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Known-answer/tampered-tag tests and SHA1/SHA256 ESP traffic passed; BLOG offload=0. Sustained load and client interoperability remain untested."
    },
    {
      "name": "cdc_ether",
      "sha256": "5c424ae82a147d9d0d4dc3e569b3dbdf9d92549cc409e7151ce74ff7b82eb3ab",
      "asset": "kmod-cdc-ether-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-cdc-ether-4.1.52-manual",
      "status": "skip_busy",
      "level": "load-unload",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Stock module in use; candidate was not substituted or runtime validated. Installed file matches this payload, but it is referenced and no USB traffic test was performed."
    },
    {
      "name": "cls_flow",
      "sha256": "5cdfda5f934fd31a0e1352c2eaae4a752f9e0ef9a9937334413a2b7b08ffd2d1",
      "asset": "kmod-cls-flow-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-cls-flow-4.1.52-manual",
      "status": "passed",
      "level": "load-unload-functional",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Corrected QoS/NAT ABI; isolated traffic test and stock restoration passed."
    },
    {
      "name": "em_u32",
      "sha256": "bfff4029bb01fc48baa538b2befb81474b3fcc3c598e45989f63cf720a61a735",
      "asset": "kmod-em-u32-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-em-u32-4.1.52-manual",
      "status": "passed",
      "level": "load-unload-functional",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": ""
    },
    {
      "name": "ip6_tables",
      "sha256": "59deabe2e32a9814bad4f05d95ce022f0949acad6386f62dd0388971a2e90caf",
      "asset": "kmod-ip6-tables-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-ip6-tables-4.1.52-manual",
      "status": "skip_busy",
      "level": "load-unload",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Stock module in use; candidate was not substituted or runtime validated."
    },
    {
      "name": "ip6t_REJECT",
      "sha256": "bb4a41ab3d4c2d38e2219267b5c825beba93f8c004c3704c49451ff36800e53f",
      "asset": "kmod-ip6t-reject-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-ip6t-reject-4.1.52-manual",
      "status": "skip_busy",
      "level": "load-unload",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Stock module in use; candidate was not substituted or runtime validated."
    },
    {
      "name": "ip6table_filter",
      "sha256": "b86df50571fd2c33debcc209a98ae083683b40013dafe830667a1c945b77d7a8",
      "asset": "kmod-ip6table-filter-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-ip6table-filter-4.1.52-manual",
      "status": "skip_busy",
      "level": "load-unload",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Stock module in use; candidate was not substituted or runtime validated."
    },
    {
      "name": "ip6table_mangle",
      "sha256": "469dc4a3d37769b910b3725a93e6f78a87447657ea8abb4b9b16efbc972a8a45",
      "asset": "kmod-ip6table-mangle-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-ip6table-mangle-4.1.52-manual",
      "status": "skip_busy",
      "level": "load-unload",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Stock module in use; candidate was not substituted or runtime validated."
    },
    {
      "name": "ip_tables",
      "sha256": "7a42cf979d36585e164840d2b05305c93ec2088432a7e2355eff350bcb527177",
      "asset": "kmod-ip-tables-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-ip-tables-4.1.52-manual",
      "status": "skip_busy",
      "level": "load-unload",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Stock module in use; candidate was not substituted or runtime validated."
    },
    {
      "name": "ipt_MASQUERADE",
      "sha256": "ce6c951398763b9eacbd5b9aea83f426bd4e0aa4db1fcce6ff881801002d6a0a",
      "asset": "kmod-ipt-masquerade-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-ipt-masquerade-4.1.52-manual",
      "status": "skip_busy",
      "level": "load-unload",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Stock module in use; candidate was not substituted or runtime validated."
    },
    {
      "name": "ipt_REJECT",
      "sha256": "6d44501798d2eb99ab5210bc96bd394f28a0adfd9c990861e5357414f8d5f992",
      "asset": "kmod-ipt-reject-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-ipt-reject-4.1.52-manual",
      "status": "skip_busy",
      "level": "load-unload",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Stock module in use; candidate was not substituted or runtime validated."
    },
    {
      "name": "iptable_filter",
      "sha256": "47df899ad6f2ddedaae5d4b63f540a9100f773b4017c5c3c11e0bddf2464634e",
      "asset": "kmod-iptable-filter-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-iptable-filter-4.1.52-manual",
      "status": "skip_busy",
      "level": "load-unload",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Stock module in use; candidate was not substituted or runtime validated."
    },
    {
      "name": "iptable_mangle",
      "sha256": "4f0e951b39b1d57cf00ab8879d1199f2ad1138e1a518cce7b133e121ec9415dd",
      "asset": "kmod-iptable-mangle-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-iptable-mangle-4.1.52-manual",
      "status": "skip_busy",
      "level": "load-unload",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Stock module in use; candidate was not substituted or runtime validated."
    },
    {
      "name": "iptable_nat",
      "sha256": "44929bfca204fb9295b05be7081b32bfd46c6f2192594a3ab603974fd89914cc",
      "asset": "kmod-iptable-nat-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-iptable-nat-4.1.52-manual",
      "status": "skip_busy",
      "level": "load-unload",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Stock module in use; candidate was not substituted or runtime validated."
    },
    {
      "name": "nf_conntrack",
      "package": "kmod-nf-conntrack-4.1.52-manual",
      "asset": "kmod-nf-conntrack-4.1.52-manual_4.1.52-2_arm_cortex-a9.ipk",
      "sha256": "3af7a2779f0e050acd78e50a4e7978e27ebed7fa101f897045c80483ddc0f179",
      "status": "compiled",
      "level": "offline-symbol-check",
      "runtime_validation_performed": false,
      "previous_candidate": {
        "name": "nf_conntrack",
        "sha256": "ba0129d922895bb63435e2d93dd8dc06f7853228b2d713175fab24b717afa2fc",
        "asset": "kmod-nf-conntrack-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
        "package": "kmod-nf-conntrack-4.1.52-manual",
        "status": "skip_busy",
        "level": "load-unload",
        "load_exit": 0,
        "functional_exit": 0,
        "restore_exit": 0,
        "initially_loaded": true,
        "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
        "note": "Stock module in use; candidate was not substituted or runtime validated."
      },
      "offline_input": "build/kernel-firmware-profiles/vbntk-2.4.5",
      "note": "Revision 2 removes SDK-only Altibox UDP/proc hooks absent from the original firmware. Original kernel and stock modules resolve every strong import. This replacement payload was not loaded or functionally tested; the historical busy observation applies to the previous candidate."
    },
    {
      "name": "nf_conntrack_ipv4",
      "sha256": "702ee1fc361231b1705dbe4a30df5b20c3cefed7159a031db2b4344ecc3dac74",
      "asset": "kmod-nf-conntrack-ipv4-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-nf-conntrack-ipv4-4.1.52-manual",
      "status": "skip_busy",
      "level": "load-unload",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Stock module in use; candidate was not substituted or runtime validated."
    },
    {
      "name": "nf_conntrack_ipv6",
      "sha256": "3730594e815a44e4826e3a8beed605dc4abe9a63b6dd81779ff1125cc96b631a",
      "asset": "kmod-nf-conntrack-ipv6-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-nf-conntrack-ipv6-4.1.52-manual",
      "status": "skip_busy",
      "level": "load-unload",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Stock module in use; candidate was not substituted or runtime validated."
    },
    {
      "name": "nf_defrag_ipv4",
      "sha256": "20c2933c22e13292fb924b87a7fcf9479e378c561bc5e85684a6e6200cdf57a3",
      "asset": "kmod-nf-defrag-ipv4-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-nf-defrag-ipv4-4.1.52-manual",
      "status": "skip_busy",
      "level": "load-unload",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Stock module in use; candidate was not substituted or runtime validated."
    },
    {
      "name": "nf_defrag_ipv6",
      "sha256": "bc58f3d8cabcb4faa64b1c9bee9eb50be88254c0d5b8c2ee41d4b514b786a126",
      "asset": "kmod-nf-defrag-ipv6-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-nf-defrag-ipv6-4.1.52-manual",
      "status": "skip_busy",
      "level": "load-unload",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Stock module in use; candidate was not substituted or runtime validated."
    },
    {
      "name": "nf_log_common",
      "sha256": "3f10d13463f89cc7beeb3fd6672a56b85d4b21338e82314387f4077b1ef7b749",
      "asset": "kmod-nf-log-common-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-nf-log-common-4.1.52-manual",
      "status": "skip_busy",
      "level": "load-unload",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Stock module in use; candidate was not substituted or runtime validated."
    },
    {
      "name": "nf_log_ipv4",
      "sha256": "ec984d6564c3d5ecafa89cb8ae372aec9d7f640ece7c48a5ba3d5a42d0a3e860",
      "asset": "kmod-nf-log-ipv4-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-nf-log-ipv4-4.1.52-manual",
      "status": "skip_busy",
      "level": "load-unload",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Stock module in use; candidate was not substituted or runtime validated."
    },
    {
      "name": "nf_log_ipv6",
      "sha256": "f6b25fa8b8e812e1f7847eb528571aa5a2533f108248c8b1b6d32c2e0aadc447",
      "asset": "kmod-nf-log-ipv6-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-nf-log-ipv6-4.1.52-manual",
      "status": "skip_busy",
      "level": "load-unload",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Stock module in use; candidate was not substituted or runtime validated."
    },
    {
      "name": "nf_nat",
      "sha256": "abd6c5a11a5fdd54604e405f0195ab5edcdc7695bd8adc92b4734cc86c5c9b3b",
      "asset": "kmod-nf-nat-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-nf-nat-4.1.52-manual",
      "status": "skip_busy",
      "level": "load-unload",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Stock module in use; candidate was not substituted or runtime validated."
    },
    {
      "name": "nf_nat_ipv4",
      "sha256": "3252998a185e8691c39d06d9067e488657f0f82c24b45586052591e55ddb40be",
      "asset": "kmod-nf-nat-ipv4-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-nf-nat-ipv4-4.1.52-manual",
      "status": "skip_busy",
      "level": "load-unload",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Stock module in use; candidate was not substituted or runtime validated."
    },
    {
      "name": "nf_nat_masquerade_ipv4",
      "sha256": "1932af330fec75aabf97a9012133954aa7d39e66f7396eb54855ef3a7bcbaa85",
      "asset": "kmod-nf-nat-masquerade-ipv4-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-nf-nat-masquerade-ipv4-4.1.52-manual",
      "status": "skip_busy",
      "level": "load-unload",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Stock module in use; candidate was not substituted or runtime validated."
    },
    {
      "name": "nf_nat_redirect",
      "sha256": "ec06909ffa087b05c91ae87148681f862b78b5d14736c027660a1fc44a37eb7a",
      "asset": "kmod-nf-nat-redirect-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-nf-nat-redirect-4.1.52-manual",
      "status": "skip_busy",
      "level": "load-unload",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Stock module in use; candidate was not substituted or runtime validated."
    },
    {
      "name": "rndis_host",
      "sha256": "56517d64a7d159602730d25c14637d17a51b33910a6fea3ff9f35681b085161e",
      "asset": "kmod-rndis-host-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-rndis-host-4.1.52-manual",
      "status": "passed",
      "level": "load-unload-namespace",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "USB device traffic was not exercised; load/unload only."
    },
    {
      "name": "sch_hfsc",
      "sha256": "351b23130238d71053f748cdca6455f96896cbddef1ce187c9fb0db315169ad8",
      "asset": "kmod-sch-hfsc-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-sch-hfsc-4.1.52-manual",
      "status": "passed",
      "level": "load-unload-functional",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Corrected QoS/NAT ABI; isolated traffic test and stock restoration passed."
    },
    {
      "name": "tun",
      "sha256": "374b8399951a4fa75a0b9c68b6eced9d064cc442d3150d2210d75623c275354e",
      "asset": "kmod-tun-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-tun-4.1.52-manual",
      "status": "passed",
      "level": "load-unload-functional",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "TUN interface creation, UDP injection and ICMP reply readback passed."
    },
    {
      "name": "wireguard",
      "sha256": "98e392edb92a574444c0555c9576f6ded0041421c938d0a4921789836c46e6e5",
      "asset": "kmod-wireguard-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-wireguard-4.1.52-manual",
      "status": "passed",
      "level": "load-unload-functional",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": false,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Two isolated peers: handshake and 5/5 encrypted pings each way, payload size 1000 bytes."
    },
    {
      "name": "xt_CT",
      "sha256": "c5236960ec4a46320e917f953dd5bb45005d8262bccbdaf8eda96df5d7022300",
      "asset": "kmod-xt-ct-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-xt-ct-4.1.52-manual",
      "status": "skip_busy",
      "level": "load-unload",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Stock module in use; candidate was not substituted or runtime validated."
    },
    {
      "name": "xt_LOG",
      "sha256": "86c60326d1beafc5acaf07501e08a94cb769bab24287fac47b7a66ba1b6a7918",
      "asset": "kmod-xt-log-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-xt-log-4.1.52-manual",
      "status": "skip_busy",
      "level": "load-unload",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Stock module in use; candidate was not substituted or runtime validated."
    },
    {
      "name": "xt_REDIRECT",
      "sha256": "415969570ac982f6c795d9272f5a516f82d52f1a9b30b7e8008aab18a237b29b",
      "asset": "kmod-xt-redirect-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-xt-redirect-4.1.52-manual",
      "status": "passed",
      "level": "load-unload-functional",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Corrected QoS/NAT ABI; isolated traffic test and stock restoration passed."
    },
    {
      "name": "xt_TCPMSS",
      "sha256": "dd002c312068c0796d6d86305d181c77310a4e8309ace3af8b1a7c3ec02e391d",
      "asset": "kmod-xt-tcpmss-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-xt-tcpmss-4.1.52-manual",
      "status": "skip_busy",
      "level": "load-unload",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Stock module in use; candidate was not substituted or runtime validated."
    },
    {
      "name": "xt_comment",
      "sha256": "2bdaca681895736b3fbcd79b911d3c2b7a77cb77bcac5f3df87058be4c51a1ed",
      "asset": "kmod-xt-comment-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-xt-comment-4.1.52-manual",
      "status": "skip_busy",
      "level": "load-unload",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Stock module in use; candidate was not substituted or runtime validated."
    },
    {
      "name": "xt_connbytes",
      "sha256": "61cfaf8670d969806fee319a51e8e5cdc1a463b68b808aa1c709a830d4014d8c",
      "asset": "kmod-xt-connbytes-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-xt-connbytes-4.1.52-manual",
      "status": "passed",
      "level": "load-unload-functional",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": ""
    },
    {
      "name": "xt_connlimit",
      "sha256": "47940f8dc6ca232e6fb0ee3b0d8cbf97150a9874e96a7ac92a3d15d68891bf4d",
      "asset": "kmod-xt-connlimit-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-xt-connlimit-4.1.52-manual",
      "status": "passed",
      "level": "load-unload-functional",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": ""
    },
    {
      "name": "xt_connmark",
      "sha256": "3aedc3236f1f91b3d3cfae3cb1f592d8a96b434d17f928bf85a352107baffb0f",
      "asset": "kmod-xt-connmark-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-xt-connmark-4.1.52-manual",
      "status": "skip_busy",
      "level": "load-unload",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Stock module in use; candidate was not substituted or runtime validated."
    },
    {
      "name": "xt_conntrack",
      "sha256": "decbbe761d5e76f61226fdb58132aba522a6d80cb1000da56a9aace09c3f0f9f",
      "asset": "kmod-xt-conntrack-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-xt-conntrack-4.1.52-manual",
      "status": "skip_busy",
      "level": "load-unload",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Stock module in use; candidate was not substituted or runtime validated."
    },
    {
      "name": "xt_helper",
      "sha256": "56da827f712c0d62ce65351002627161e3fce38ec8953bed9bdc57ebfa9fda28",
      "asset": "kmod-xt-helper-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-xt-helper-4.1.52-manual",
      "status": "skip_busy",
      "level": "load-unload",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Stock module in use; candidate was not substituted or runtime validated."
    },
    {
      "name": "xt_limit",
      "sha256": "f4d72f09e581e96fb9c02ece642f13b1479d49b868dbcc57d22cfa097d46b6ea",
      "asset": "kmod-xt-limit-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-xt-limit-4.1.52-manual",
      "status": "skip_busy",
      "level": "load-unload",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Stock module in use; candidate was not substituted or runtime validated."
    },
    {
      "name": "xt_mac",
      "sha256": "b6adac404212a07e17b7ce49efcb87306469f1e9b0613a27f7bf79ad4f555514",
      "asset": "kmod-xt-mac-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-xt-mac-4.1.52-manual",
      "status": "passed",
      "level": "load-unload-functional",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": ""
    },
    {
      "name": "xt_mark",
      "sha256": "ab296278a554cc565067a7eea14035e760eae4e2cc432eeb940ed0dd2efb3c6b",
      "asset": "kmod-xt-mark-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-xt-mark-4.1.52-manual",
      "status": "skip_busy",
      "level": "load-unload",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Stock module in use; candidate was not substituted or runtime validated."
    },
    {
      "name": "xt_multiport",
      "sha256": "4b823082b8f47dd58640d3c644d56d9bc7ec896a3891483485bc8ee5eaad0b7f",
      "asset": "kmod-xt-multiport-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-xt-multiport-4.1.52-manual",
      "status": "skip_busy",
      "level": "load-unload",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Stock module in use; candidate was not substituted or runtime validated."
    },
    {
      "name": "xt_nat",
      "sha256": "c8b5b14a62a12cfea048f4aae817d6ed5c716cfd131512599a889e29103bc4c4",
      "asset": null,
      "package": "kmod-xt-nat-4.1.52-manual",
      "status": "blocked_stock_unload_reboot",
      "level": "load-unload",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": false,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "Excluded from the installable feed. SSH was lost while removing the stock module, before loading this candidate; subsequent boot ID changed. Do not repeat stock removal. Candidate runtime validation remains incomplete."
    },
    {
      "name": "xt_recent",
      "sha256": "05920fe02816c5a0cd6a73c3bc0974e2d8d4fec50faf0764f2267a0c55499c9b",
      "asset": "kmod-xt-recent-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-xt-recent-4.1.52-manual",
      "status": "passed",
      "level": "load-unload-functional",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": ""
    },
    {
      "name": "xt_state",
      "sha256": "a3da8256b4715cc308f05d3796da81804680c8845ffc04ee7e8a448d40ff38a4",
      "asset": "kmod-xt-state-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-xt-state-4.1.52-manual",
      "status": "passed",
      "level": "load-unload-namespace",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": "The iptables state userspace extension is absent; traffic matching is untested."
    },
    {
      "name": "xt_time",
      "sha256": "ccb593576f9bb609172cf63656b5b57fc5108008c2845e437d742f860fc27d38",
      "asset": "kmod-xt-time-4.1.52-manual_4.1.52-1_arm_cortex-a9.ipk",
      "package": "kmod-xt-time-4.1.52-manual",
      "status": "passed",
      "level": "load-unload-functional",
      "load_exit": 0,
      "functional_exit": 0,
      "restore_exit": 0,
      "initially_loaded": true,
      "boot_id": "0d16759c-1f14-4012-9dce-c4b6291fef23",
      "note": ""
    }
  ],
  "profile": "4.1.52-vbntk",
  "validation_device_suffix": ".69",
  "offline_corrections": [
    {
      "module": "nf_conntrack",
      "patch": "patches/vbntj-4.1.52/004-omit-altibox-udp-timeout.patch",
      "patch_sha256": "7b0207f801ea1ea7296d946c2df50286affeff02815b0399e10ea5b8695eb554",
      "reason": "Two undefined SDK-only Altibox symbols absent from original kernel exports and stock module exports",
      "runtime_validated": false
    }
  ]
}
