// Copyright 2023 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
{
    include: [
        "//src/connectivity/network/meta/netstack-common.shard.cml",
        "//src/connectivity/network/netstack/meta/netstack2-common.shard.cml",
        "//src/connectivity/network/netstack/meta/netstack2-prod.shard.cml",
        "//src/connectivity/network/netstack3/meta/netstack3.shard.cml",
        "//src/connectivity/network/netstack3/meta/routed_configs.shard.cml",
        "trace/client.shard.cml",
    ],
    program: {
        runner: "elf",
        binary: "bin/netstack_proxy",
    },
    children: [
        // TODO(https://fxbug.dev/42076541): This is transitional. Once the DHCP
        // client is being used by both netstacks, it should be moved out of
        // the netstack realm and into the network realm.
        {
            name: "dhcp-client",
            url: "#meta/dhcp-client.cm",
        },
    ],
    capabilities: [
        // TODO(https://fxbug.dev/42076541): Remove this once the DHCP client is
        // in the network realm and can get the packet socket provider
        // capability from there.
        {
            protocol: [ "fuchsia.net.dhcp.ClientProvider" ],
        },
    ],
    use: [
        {
            protocol: [
                "fuchsia.net.stackmigrationdeprecated.State",
                "fuchsia.process.Launcher",
            ],
        },

        // TODO(https://fxbug.dev/42076541): Remove this once the DHCP client is
        // in the network realm and can get the packet socket provider
        // capability from there.
        {
            protocol: "fuchsia.net.dhcp.ClientProvider",
            from: "#dhcp-client",
            dependency: "weak",
        },
    ],
    offer: [
        // TODO(https://fxbug.dev/42076541): Remove this once the DHCP client is
        // in the network realm and can get the packet socket provider
        // capability from there.
        {
            protocol: [
                "fuchsia.posix.socket.packet.Provider",
                "fuchsia.posix.socket.Provider",
            ],
            from: "self",
            to: "#dhcp-client",
        },
    ],
    expose: [
        // TODO(https://fxbug.dev/42076541): Remove this once the DHCP client is
        // in the network realm and can get the packet socket provider
        // capability from there.
        {
            protocol: "fuchsia.net.dhcp.ClientProvider",
            from: "self",
        },
    ],
}
