AgentName:Mlag
activeMount
ip6/input/dynRestartDad/mlag,Ip6::Ip6RestartDadConfig,wc
ip6/status,Ip6::Status,r
interface/status/all,Interface::AllIntfStatusDir,r
bridging/config,Bridging::Config,r
bridging/igmpsnooping/swForceConfig,Bridging::IgmpSnooping::SwForceConfig,w
interface/config/eth/allVlanIntfAutoState,Interface::AllVlanIntfAutoState,w
# Need to explicitly mount child paths for interface/errdisable/cause* with
# "wc" flags because respective parent paths are not mounted with "wi" flags.
interface/errdisable/cause/mlagasu,Errdisable::CauseStatus,wc
interface/errdisable/cause/mlagissu,Errdisable::CauseStatus,wc
interface/errdisable/cause/mlagdualprimary,Errdisable::CauseStatus,wc
interface/errdisable/cause/mlagmaintdown,Errdisable::CauseStatus,wc
interface/errdisable/cause/mlagsubintf,Errdisable::CauseStatus,wc
interface/errdisable/causegroup/mlagasu,Errdisable::CauseGroup,wc
interface/errdisable/causegroup/mlagissu,Errdisable::CauseGroup,wc
interface/errdisable/causegroup/mlagdualprimary,Errdisable::CauseGroup,wc
interface/errdisable/causegroup/mlagmaintdown,Errdisable::CauseGroup,wc
interface/errdisable/causegroup/mlagsubintf,Errdisable::CauseGroup,wc
# Below is mounted by ErrdisableLib::CauseAgentSM
interface/errdisable/config,Errdisable::Config,r
# interface/config/eth/lag is for resolving the lag implicit mount in lag/config.
interface/config/eth/lag,Interface::EthLagIntfConfigDir,r
lag/config,Lag::Config,r
lag/input/config/cli,Lag::Input::Config,r
mlag/configCheck,Mlag::ConfigCheck::ConfigCheckDir,w
mlag/config, Mlag::Config, w
mlag/input/config/cli, Mlag::Config, r
mlag/hardware/status,Mlag::Hardware::Status,r
mlag/hardware/forceReloadDelay,Tac::Dir,ri
mlag/status,Mlag::Status,w
mlag/forceReloadDelayStatus,Mlag::ForceReloadDelayStatus,w
mlag/configurationState,Mlag::ConfigurationState,r
mlag/proto,Mlag::ProtoStatus,w
mlag/stpStatus,Stp::StableControlStatus,r
asu/hardware/status, Asu::AsuStatus, r
%cellPath/stageInput/boot/Mlag, Stage::AgentConfig, r
%cellPath/stageInput/shutdown/Mlag, Stage::AgentConfig, r
%cellPath/stageInput/maintEnter/Mlag, Stage::AgentConfig, r
%cellPath/stageInput/maintExit/Mlag, Stage::AgentConfig, r
%cellPath/stageAgentStatus/boot/Mlag, Stage::AgentStatus, wcf
%cellPath/stageAgentStatus/shutdown/Mlag, Stage::AgentStatus, wcf
%cellPath/stageAgentStatus/maintEnter/Mlag, Stage::AgentStatus, wcf
%cellPath/stageAgentStatus/maintExit/Mlag, Stage::AgentStatus, wcf
%cellPath/mlag/tunnel/status,Mlag::TunnelCellStatus,r
%cellPath/stage/shutdown/progress, Stage::ProgressDir, r
%cellPath/stage/maintEnter/progress, Stage::ProgressDir, r
%cellPath/stage/maintExit/progress, Stage::ProgressDir, r
%cellPath/stage/maintEnter/completionstatus, Stage::CompletionStatusDir, r
%cellPath/stage/maintExit/completionstatus, Stage::CompletionStatusDir, r
# Mlag failover config and status is both read and written by Mlag
# Ideally only 'w' would do. But marking it as 'rw' to make this explicit
mlag/failover/config,Mlag::FailoverConfig,rw
mlag/failover/status,Mlag::FailoverStatus,rw
Sysdb/status,Sysdb::Status,r
# to assign the port id to the intfStatus created by Mlag
interface/eth/portid, Interface::EthIntfPortIdDir, r
%cellPath/stage/boot/progress, Stage::ProgressDir, r
%cellPath/stage/boot/completionstatus, Stage::CompletionStatusDir, r
interface/config/subintf, Interface::SubIntfConfigDir, r
interface/status/subintf, Interface::SubIntfStatusDir, r

#MlagPlugin-Arp
#ARP_FILE_INPUT_CONFIG=Arp::File::Input::Config
#ARP_FILE_STATUS=Arp::File::Status
arp/file/input/config/mlag,Arp::File::Input::Config,wc
arp/file/status,Arp::File::Status,r
# for mlag/config, Mlag::Config, r
Include: MlagConfig-include
# for mlag/status, Mlag::Status, r
Include: MlagStatus-include
mlag/hardware/status,Mlag::Hardware::Status,r
mlag/proto,Mlag::ProtoStatus,r

#MlagPlugin-Bridging
bridging/config,Bridging::Config,r
bridging/input/config/mlag,Bridging::Input::Config,w
bridging/switchIntfConfig,Bridging::SwitchIntfConfigDir,r
bridging/vlan/status,Bridging::VlanStatusDir,r
interface/status/eth/peer,Interface::PeerIntfStatusDir,w
# interface/config/eth/lag is for resolving the lag implicit mount in lag/config.
interface/config/eth/lag,Interface::EthLagIntfConfigDir,r
lag/config,Lag::Config,r
# This mount path is for resolving the phyIntf implicit mount in lag/config.
lag/input/config/cli,Lag::Input::Config,r
# for mlag/config, Mlag::Config, r
Include: MlagConfig-include
mlag/hostTable,Mlag::HostTable,w
mlag/virtualMac/config,Mlag::VirtualMacConfigDir,r
bridging/l2Rib/inputDir/mlag, L2Rib::SourceDirEntry, w
interface/input/forwardingmodel/mlag, Interface::IntfForwardingModelInputDir, w

#MlagPlugin-Lag
bridging/config,Bridging::Config,r
interface/status/eth/peer,Interface::PeerIntfStatusDir,r
mlag/temp/peerintfstatus,Interface::PeerIntfStatusDir,w
# interface/config/eth/lag is for resolving the lag implicit mount in lag/config.
interface/config/eth/lag,Interface::EthLagIntfConfigDir,r
lag/config,Lag::Config,r
# This mount path is for resolving the phyIntf implicit mount in lag/config.
# This assumes phyIntf only comes from lag/input/config/cli and
# lag/input/config/mlag. If we add more input dirs in the future, we also need
# to add the mount paths here and in MlagPlugin/Lag.py accordingly.
lag/input/config/cli,Lag::Input::Config,r
lag/input/config/mlag,Lag::Input::Config,wc
lag/input/devname/mlag,Lag::Input::IntfDeviceNameDir,wc
lag/input/interface/mlag,Lag::Input::EthLagIntfStatusDir,r
lag/input/lacpoverride/mlag,Lag::Input::LacpOverrideDir,wc
lag/input/lagphyintfstatus,Lag::Input::Status,r
lag/input/status/mlag,Lag::Input::Status,wc
lag/lacp/status,Lacp::LacpStatus,r
# for mlag/config, Mlag::Config, r
Include: MlagConfig-include
mlag/proto,Mlag::ProtoStatus,r

# for mlag/status, Mlag::Status, r
Include: MlagStatus-include

#MlagPlugin-Stp
stp/config,Stp::Config,r
stp/input/config/cliReq,Stp::Input::ConfigReq,r
stp/input/config/cli,Stp::Input::Config,r
stp/input/config/mlag,Stp::Input::ExternalConfig,wc
stp/portMode/mlag,EthIntf::PortModeConfig,wc
stp/protoStatus,Stp::ProtoStatus,r
stp/status,Stp::Status,r
stp/input/status/mlag,Stp::Status,wc
stp/input/topoStatus/mlag,Stp::Topology::Status,wc
stp/topology/status,Stp::Topology::Status,r
lag/input/interface/lag,Lag::Input::EthLagIntfStatusDir,r

#MlagPlugin-StpTxRx
stp/txRx/input/config/cli,StpTxRx::Input::Config,r
stp/txRx/input/config/mlag,StpTxRx::Input::Config,wc
stp/txrx/cliInfo,StpTxRx::CliInfo,r
stp/mlag/intfStatus,StpTxRx::StpTxInterfaceStatus,w

#MlagPlugin-Topo
bridging/topology/config,Bridging::Topology::Config,r
bridging/topology/inst,Tac::Dir,ri
bridging/topology/peer-inst/mlag,Bridging::Topology::Inst::Status,wc

#MlagPlugin-Vlan
bridging/input/dynvlan/vlan,Tac::Dir,ri
bridging/input/peervlan,Bridging::Input::VlanIdSet,w

Include: AgentPlugin-IntfCollections-*
Include: AgentPlugin-IntfForwardingModel-*

#for Mlag Loop Protection
mlag/aclInstall/request/toPeer,Mlag::AclInstallRequest,r
mlag/aclInstall/response/toPeer,Mlag::AclInstallResponse,r
mlag/aclInstall/request/fromPeer,Mlag::AclInstallRequest,w
mlag/aclInstall/response/fromPeer,Mlag::AclInstallResponse,w
