{
  "manufacturer": "IOPSYS",
  "protocol": "DEVICE_PROTOCOL_DSLFTR069v1",
  "manufacturer_oui": "002207",
  "product_class": "DG400PRIME",
  "model_name": "DG400PRIME-A",
  "software_version": "1.2.3.4",
  "dm_json_files": [
    "tools/datamodel.json"
  ],
  "vendor_prefix": "X_IOWRT_EU_",
  "plugins": [
    {
        "repo": "https://dev.iopsys.eu/system/sysmngr.git",
        "proto": "git",
        "version": "devel",
        "dm_info_file": "src/datamodel_description.json",
        "extra_dependencies": [
          "-DSYSMNGR_VENDOR_CONFIG_FILE",
          "-DSYSMNGR_MEMORY_STATUS",
          "-DSYSMNGR_PROCESS_STATUS",
          "-DSYSMNGR_SUPPORTED_DATA_MODEL",
          "-DSYSMNGR_FIRMWARE_IMAGE",
          "-DSYSMNGR_REBOOTS",
          "-DSYSMNGR_NETWORK_PROPERTIES",
          "-DSYSMNGR_VENDOR_EXTENSIONS",
          "-DSYSMNGR_TEMPERATURE_STATUS",
          "-DCUSTOM_PREFIX=\\\"X_IOWRT_EU_\\\""
        ],
        "dm_files": [
            "src/deviceinfo.c",
            "src/configs.c",
            "src/fwbank.c",
            "src/fw_images.c",
            "src/memory.c",
            "src/processes.c",
            "src/reboots.c",
            "src/supported_dm.c",
            "src/network.c",
            "src/utils.c",
            "src/temperature.c"
        ]
    },
    {
      "repo": "https://dev.iopsys.eu/bbf/icwmp.git",
      "proto": "git",
      "version": "devel",
      "dm_files": [
        "bbf_plugin/datamodel.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/bbf/bulkdata.git",
      "proto": "git",
      "version": "devel",
      "extra_dependencies": [
        "-D_GNU_SOURCE"
      ],
      "dm_files": [
        "src/datamodel.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/bbf/xmppc.git",
      "proto": "git",
      "dm_files": [
        "src/datamodel.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/bbf/stunc.git",
      "proto": "git",
      "version": "devel",
      "dm_files": [
        "src/datamodel.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/bbf/udpecho.git",
      "proto": "git",
      "version": "devel",
      "is_microservice": true,
      "dm_files": [
        "src/datamodel.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/bbf/twamp-light.git",
      "proto": "git",
      "version": "devel",
      "is_microservice": true,
      "dm_files": [
        "src/datamodel.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/bbf/periodicstats.git",
      "proto": "git",
      "version": "devel",
      "dm_files": [
        "src/datamodel.c",
        "src/main.c",
        "src/config.c",
        "src/periodicstats.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/feed/iopsys.git",
      "proto": "git",
      "version": "devel",
      "dm_files": [
        "icwmp/files/etc/bbfdm/json/CWMPManagementServer.json",
        "ponmngr/files/etc/ponmngr/xpon.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/feed/iopsys.git",
      "proto": "git",
      "version": "devel",
      "dm_files": [
        "self-diagnostics/src/selftest.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/feed/iopsys.git",
      "proto": "git",
      "version": "devel",
      "dm_files": [
        "ssdpd/src/datamodel.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/lcm/swmodd.git",
      "proto": "git",
      "version": "devel",
      "dm_files": [
        "src/datamodel.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/bbf/usermngr.git",
      "proto": "git",
      "version": "devel",
      "extra_dependencies": [
        "-lcrypt"
      ],
      "dm_files": [
        "src/users.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/network/parental-control.git",
      "proto": "git",
      "version": "devel",
      "dm_files": [
        "src/parentalcontrol.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/iopsys/hostmngr.git",
      "proto": "git",
      "version": "devel",
      "dm_files": [
        "src/bbf_plugin/hosts.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/iopsys/hostmngr.git",
      "proto": "git",
      "version": "devel",
      "extra_dependencies": [
        "-DHAS_VENDOR_EXT",
        "-DCUSTOM_PREFIX=\\\"X_IOWRT_EU_\\\""
      ],
      "dm_files": [
        "src/bbf_plugin/hosts_ext.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/bbf/timemngr.git",
      "proto": "git",
      "version": "devel",
      "dm_files": [
        "src/times.c",
        "src/helper.c"
      ],
      "dm_info_file": "src/datamodel_description.json"
    },
    {
      "repo": "https://dev.iopsys.eu/bbf/timemngr.git",
      "proto": "git",
      "version": "devel",
      "is_microservice": true,
      "dm_files": [
        "src/vendor.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/feed/openwrt-packages.git",
      "proto": "git",
      "version": "devel",
      "dm_files": [
        "net/openvpn/files/bbfdm/OpenVPN_DM.json",
        "net/mosquitto/bbf_plugin/mqtt_broker_plugin.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/network/ddnsmngr.git",
      "proto": "git",
      "version": "devel",
      "dm_files": [
        "src/dynamicdnsmngr.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/network/dhcpmngr.git",
      "proto": "git",
      "version": "devel",
      "dm_files": [
        "src/dhcpmngr.c",
        "src/dhcpv4.c",
        "src/dhcpv6.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/network/dnsmngr.git",
      "proto": "git",
      "version": "devel",
      "dm_files": [
        "src/dnsmngr.c",
        "src/dnsmasq_backend.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/network/dnsmngr.git",
      "proto": "git",
      "version": "devel",
      "is_microservice": true,
      "dm_files": [
        "src/dns_sd.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/hal/qosmngr.git",
      "proto": "git",
      "version": "devel",
      "dm_files": [
        "bbf_plugin/qos_bbf.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/network/sshmngr.git",
      "proto": "git",
      "version": "devel",
      "dm_files": [
        "src/sshmngr.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/network/firewallmngr.git",
      "proto": "git",
      "version": "devel",
      "dm_files": [
        "src/firewallmngr.c",
        "src/firewall.c",
        "src/nat.c",
        "src/nat_porttrigger.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/hal/dslmngr.git",
      "proto": "git",
      "dm_files": [
        "bbf_plugin/*.c"
      ]
    },
    {
        "repo": "https://dev.iopsys.eu/hal/ethmngr.git",
        "proto": "git",
        "version": "devel",
        "dm_info_file": "src/datamodel_description.json",
        "extra_dependencies": [
          "-DETHMNGR_MACVLAN_EXTENSION",
	  "-leasy",
	  "-lethernet"
        ],
        "dm_files": [
          "src/ethmngr.c",
          "src/ethernet.c",
          "src/dmlayer.c",
          "src/helper.c",
          "src/vendor_ethernet.c"
        ]
    },
    {
      "repo": "https://dev.iopsys.eu/system/usbmngr.git",
      "proto": "git",
      "version": "devel",
      "dm_files": [
        "src/datamodel.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/network/bridgemngr.git",
      "proto": "git",
      "version": "devel",
      "dm_info_file": "src/driver_vlan_backend/datamodel_description.json",
      "dm_files": [
        "src/driver_vlan_backend/bridging.c",
        "src/driver_vlan_backend/common.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/network/bridgemngr.git",
      "proto": "git",
      "version": "devel",
      "dm_files": [
        "src/driver_vlan_backend/vendor.c",
        "src/driver_vlan_backend/common.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/bbf/tr143d.git",
      "proto": "git",
      "version": "devel",
      "is_microservice": true,
      "dm_files": [
        "src/diagnostics.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/bbf/tr471d.git",
      "proto": "git",
      "version": "devel",
      "is_microservice": true,
      "dm_files": [
        "src/iplayercap.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/multi-ap/ieee1905.git",
      "proto": "git",
      "version": "devel",
      "dm_files": [
        "tr181/datamodel.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/bbf/packet-capture-diagnostics.git",
      "proto": "git",
      "version": "devel",
      "dm_files": [
        "src/packetcapture.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/bbf/wifidmd.git",
      "proto": "git",
      "version": "devel",
      "dm_files": [
        "src/wifi.c",
        "src/dataelements.c"
      ],
      "extra_dependencies": [
        "-lm"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/hal/mcastmngr.git",
      "proto": "git",
      "version": "devel",
      "dm_info_file": "bbf_plugin/datamodel_description.json",
      "dm_files": [
        "bbf_plugin/mcast_bbf.c",
        "bbf_plugin/x_iopsys_eu_igmp.c",
        "bbf_plugin/x_iopsys_eu_mld.c",
        "bbf_plugin/x_iopsys_eu_common.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/bbf/obuspa.git",
      "proto": "git",
      "version": "devel",
      "extra_dependencies": [
        "-I src/vendor",
        "-DENABLE_MQTT",
        "-DENABLE_COAP",
        "-DENABLE_WEBSOCKETS",
        "-DENABLE_UDS"
      ],
      "dm_files": [
         "src/vendor/bbf_plugin/common.c",
         "src/vendor/bbf_plugin/mqtt_dm.c",
         "src/vendor/bbf_plugin/stomp_dm.c",
         "src/vendor/bbf_plugin/uspagent_dm.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/bbf/obuspa.git",
      "proto": "git",
      "version": "devel",
      "dm_files": [
         "test/obuspa_core_dm.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/network/netmngr.git",
      "proto": "git",
      "version": "devel",
      "extra_dependencies": [
        "-DNETMNGR_GRE_OBJ",
        "-DNETMNGR_IP_OBJ",
        "-DNETMNGR_ROUTING_OBJ",
        "-DNETMNGR_PPP_OBJ",
        "-DNETMNGR_ROUTER_ADVERTISEMENT_OBJ",
        "-DNETMNGR_IPV6RD_OBJ"
      ],
      "dm_files": [
        "src/net_plugin.c",
        "src/gre.c",
        "src/ip.c",
        "src/ppp.c",
        "src/routeradvertisement.c",
        "src/routing.c",
        "src/ipv6rd.c",
        "src/common.c",
        "src/interfacestack.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/voice/tr104.git",
      "proto": "git",
      "version": "devel",
      "dm_info_file": "libdm/extensions/iowrt/datamodel_description.json",
      "dm_files": [
        "libdm/tr104/*.c"
      ],
      "extra_dependencies": [
        "-I /builds/bbf/bbfdm/libbbfdm-api/legacy",
        "-I libdm/common"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/system/logmngr.git",
      "proto": "git",
      "version": "devel",
      "dm_files": [
        "bbf_plugin/deviceinfologrotate.c",
        "bbf_plugin/common.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/system/logmngr.git",
      "proto": "git",
      "version": "devel",
      "dm_files": [
        "bbf_plugin/deviceinfovendorlog.c",
        "bbf_plugin/common.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/system/logmngr.git",
      "proto": "git",
      "version": "devel",
      "dm_files": [
        "bbf_plugin/syslog.c",
        "bbf_plugin/common.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/voice/tr104.git",
      "proto": "git",
      "version": "devel",
      "dm_files": [
        "libdm/extensions/iowrt/*.c"
      ],
      "extra_dependencies": [
        "-I /builds/bbf/bbfdm/libbbfdm-api/legacy",
        "-I libdm/common"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/feed/gnx.git",
      "proto": "git",
      "version": "devel",
      "vendor_prefix": "X_GENEXIS_EU_",
      "dm_files": [
        "package/gnx-files-ftth/bbf_plugin/link_forwarding.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/feed/gnx.git",
      "proto": "git",
      "version": "devel",
      "vendor_prefix": "X_GENEXIS_EU_",
      "dm_files": [
        "genexis-packages/gnx-ux-manager/src/bbf_plugin/datamodel.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/feed/gnx.git",
      "proto": "git",
      "version": "devel",
      "vendor_prefix": "X_GENEXIS_EU_",
      "dm_files": [
        "genexis-packages/gnx-catv/datamodel/datamodel.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/feed/gnx.git",
      "proto": "git",
      "version": "devel",
      "vendor_prefix": "X_GENEXIS_EU_",
      "dm_files": [
        "genexis-packages/easywifi/files/wifi_extn.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/feed/gnx.git",
      "proto": "git",
      "version": "devel",
      "vendor_prefix": "X_GENEXIS_EU_",
      "dm_files": [
        "genexis-packages/dhcp-on-boarding/src/datamodel.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/feed/gnx.git",
      "proto": "git",
      "version": "devel",
      "vendor_prefix": "X_GENEXIS_EU_",
      "dm_files": [
        "genexis-packages/gnx-loop-detector/datamodel/datamodel.c"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/feed/gnx.git",
      "proto": "git",
      "version": "devel",
      "vendor_prefix": "X_GENEXIS_EU_",
      "dm_files": [
        "genexis-packages/gnx-sfp/src/bbf_plugin/datamodel.c"
      ]
    }
  ],
  "output": {
    "acs": [
      "default",
      "hdm"
    ],
    "file_format": [
      "xls",
      "xml"
    ],
    "output_dir": "./out",
    "output_file_prefix": "datamodel"
  }
}
