// Copyright 2024 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.

// This shard exists to add a void expose for the fuchsia.net.filter.Control and
// fuchsia.net.dhcp.ClientProvider protocols from Netstack2, which doesn't
// implement the filter protocol or use the out of stack DHCP client.
//
// These can't be in netstack2-common.shard.cml because that is shared with the
// migration proxy component, which also includes Netstack3's component manifest
// shard, and would therefore have two conflicting expose clauses for the same
// protocol.
{
    expose: [
        // TODO(https://fxbug.dev/42076541): Remove once DHCP client is used by
        // both netstacks and is moved into the network realm.
        {
            protocol: "fuchsia.net.dhcp.ClientProvider",
            from: "void",
            availability: "optional",
        },
        {
            protocol: "fuchsia.net.filter.Control",
            from: "void",
            availability: "optional",
        },
    ],
}
