Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions cmake/CliFboss2.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@
# In general, libraries and binaries in fboss/foo/bar are built by
# cmake/FooBar.cmake

add_fbthrift_cpp_library(
cli_metadata
fboss/cli/fboss2/cli_metadata.thrift
OPTIONS
json
)

add_fbthrift_cpp_library(
cli_model
fboss/cli/fboss2/cli.thrift
Expand Down Expand Up @@ -466,6 +473,8 @@ add_library(fboss2_lib
fboss/cli/fboss2/commands/show/interface/prbs/stats/CmdShowInterfacePrbsStats.h
fboss/cli/fboss2/commands/show/rif/CmdShowRif.h
fboss/cli/fboss2/commands/show/rif/CmdShowRif.cpp
fboss/cli/fboss2/commands/show/running_config/CmdShowRunningConfig.cpp
fboss/cli/fboss2/commands/show/running_config/CmdShowRunningConfig.h
fboss/cli/fboss2/commands/show/sdk/dump/CmdShowSdkDump.h
fboss/cli/fboss2/commands/show/systemport/CmdShowSystemPort.h
fboss/cli/fboss2/commands/show/systemport/CmdShowSystemPort.cpp
Expand Down Expand Up @@ -588,6 +597,16 @@ add_library(fboss2_config_lib
fboss/cli/fboss2/commands/config/interface/CmdConfigInterfaceDescription.cpp
fboss/cli/fboss2/commands/config/interface/CmdConfigInterfaceMtu.h
fboss/cli/fboss2/commands/config/interface/CmdConfigInterfaceMtu.cpp
fboss/cli/fboss2/commands/config/interface/switchport/CmdConfigInterfaceSwitchport.h
fboss/cli/fboss2/commands/config/interface/switchport/access/CmdConfigInterfaceSwitchportAccess.h
fboss/cli/fboss2/commands/config/interface/switchport/access/vlan/CmdConfigInterfaceSwitchportAccessVlan.h
fboss/cli/fboss2/commands/config/interface/switchport/access/vlan/CmdConfigInterfaceSwitchportAccessVlan.cpp
fboss/cli/fboss2/commands/config/qos/CmdConfigQos.h
fboss/cli/fboss2/commands/config/qos/buffer_pool/CmdConfigQosBufferPool.cpp
fboss/cli/fboss2/commands/config/qos/buffer_pool/CmdConfigQosBufferPool.h
fboss/cli/fboss2/commands/config/qos/priority_group_policy/CmdConfigQosPriorityGroupPolicy.h
fboss/cli/fboss2/commands/config/qos/priority_group_policy/CmdConfigQosPriorityGroupPolicyGroupId.cpp
fboss/cli/fboss2/commands/config/qos/priority_group_policy/CmdConfigQosPriorityGroupPolicyGroupId.h
fboss/cli/fboss2/commands/config/history/CmdConfigHistory.h
fboss/cli/fboss2/commands/config/history/CmdConfigHistory.cpp
fboss/cli/fboss2/commands/config/rollback/CmdConfigRollback.h
Expand All @@ -596,15 +615,26 @@ add_library(fboss2_config_lib
fboss/cli/fboss2/commands/config/session/CmdConfigSessionCommit.cpp
fboss/cli/fboss2/commands/config/session/CmdConfigSessionDiff.h
fboss/cli/fboss2/commands/config/session/CmdConfigSessionDiff.cpp
fboss/cli/fboss2/commands/config/session/CmdConfigSessionRebase.h
fboss/cli/fboss2/commands/config/session/CmdConfigSessionRebase.cpp
fboss/cli/fboss2/commands/config/vlan/CmdConfigVlan.h
fboss/cli/fboss2/commands/config/vlan/static_mac/CmdConfigVlanStaticMac.h
fboss/cli/fboss2/commands/config/vlan/static_mac/add/CmdConfigVlanStaticMacAdd.h
fboss/cli/fboss2/commands/config/vlan/static_mac/add/CmdConfigVlanStaticMacAdd.cpp
fboss/cli/fboss2/commands/config/vlan/static_mac/delete/CmdConfigVlanStaticMacDelete.h
fboss/cli/fboss2/commands/config/vlan/static_mac/delete/CmdConfigVlanStaticMacDelete.cpp
fboss/cli/fboss2/session/ConfigSession.h
fboss/cli/fboss2/session/ConfigSession.cpp
fboss/cli/fboss2/session/Git.h
fboss/cli/fboss2/session/Git.cpp
fboss/cli/fboss2/utils/InterfaceList.h
fboss/cli/fboss2/utils/InterfaceList.cpp
fboss/cli/fboss2/CmdListConfig.cpp
fboss/cli/fboss2/CmdHandlerImplConfig.cpp
)

target_link_libraries(fboss2_config_lib
cli_metadata
fboss2_lib
agent_dir_util
)
Expand Down
9 changes: 8 additions & 1 deletion cmake/CliFboss2Test.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,20 @@ gtest_discover_tests(fboss2_framework_test)

# cmd_test - Command tests from BUCK file
add_executable(fboss2_cmd_test
fboss/cli/fboss2/oss/CmdListConfig.cpp
fboss/cli/fboss2/test/TestMain.cpp
fboss/cli/fboss2/test/CmdConfigAppliedInfoTest.cpp
fboss/cli/fboss2/test/CmdConfigHistoryTest.cpp
fboss/cli/fboss2/test/CmdConfigInterfaceDescriptionTest.cpp
fboss/cli/fboss2/test/CmdConfigInterfaceMtuTest.cpp
fboss/cli/fboss2/test/CmdConfigInterfaceSwitchportAccessVlanTest.cpp
fboss/cli/fboss2/test/CmdConfigQosBufferPoolTest.cpp
fboss/cli/fboss2/test/CmdConfigReloadTest.cpp
fboss/cli/fboss2/test/CmdConfigSessionDiffTest.cpp
fboss/cli/fboss2/test/CmdConfigSessionTest.cpp
fboss/cli/fboss2/test/CmdConfigVlanStaticMacTest.cpp
fboss/cli/fboss2/test/CmdGetPcapTest.cpp
fboss/cli/fboss2/test/CmdListConfigTest.cpp
fboss/cli/fboss2/test/CmdSetPortStateTest.cpp
fboss/cli/fboss2/test/CmdShowAclTest.cpp
fboss/cli/fboss2/test/CmdShowAgentSslTest.cpp
Expand All @@ -52,7 +58,6 @@ add_executable(fboss2_cmd_test
fboss/cli/fboss2/test/CmdShowL2Test.cpp
fboss/cli/fboss2/test/CmdShowLldpTest.cpp
fboss/cli/fboss2/test/CmdShowNdpTest.cpp
fboss/cli/fboss2/test/CmdGetPcapTest.cpp
fboss/cli/fboss2/test/CmdShowAggregatePortTest.cpp
fboss/cli/fboss2/test/CmdShowCpuPortTest.cpp
fboss/cli/fboss2/test/CmdShowExampleTest.cpp
Expand All @@ -69,10 +74,12 @@ add_executable(fboss2_cmd_test
fboss/cli/fboss2/test/CmdShowProductTest.cpp
fboss/cli/fboss2/test/CmdShowRouteDetailsTest.cpp
fboss/cli/fboss2/test/CmdShowRouteSummaryTest.cpp
fboss/cli/fboss2/test/CmdShowRunningConfigTest.cpp
fboss/cli/fboss2/test/CmdShowTeFlowTest.cpp
# fboss/cli/fboss2/test/CmdShowTransceiverTest.cpp - excluded (depends on configerator bgp namespace)
fboss/cli/fboss2/test/CmdStartPcapTest.cpp
fboss/cli/fboss2/test/CmdStopPcapTest.cpp
fboss/cli/fboss2/test/GitTest.cpp
fboss/cli/fboss2/test/PortMapTest.cpp
)

Expand Down
32 changes: 32 additions & 0 deletions fboss/cli/fboss2/BUCK
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,15 @@ thrift_library(
thrift_srcs = {"cli.thrift": []},
)

thrift_library(
name = "cli_metadata",
languages = [
"cpp2",
],
thrift_cpp2_options = "json",
thrift_srcs = {"cli_metadata.thrift": []},
)

# NOTE: all of the actual command tree is managed inside CmdList.cpp
# CmdList.h defines the data structure
cpp_library(
Expand Down Expand Up @@ -321,6 +330,7 @@ cpp_library(
"commands/show/port/CmdShowPortQueue.cpp",
"commands/show/rif/CmdShowRif.cpp",
"commands/show/route/utils.cpp",
"commands/show/running_config/CmdShowRunningConfig.cpp",
"commands/show/systemport/CmdShowSystemPort.cpp",
"commands/show/transceiver/CmdShowTransceiver.cpp",
"facebook/CmdHandlerImpl.cpp",
Expand Down Expand Up @@ -495,6 +505,7 @@ cpp_library(
"commands/show/product/CmdShowProduct.h",
"commands/show/product/CmdShowProductDetails.h",
"commands/show/rif/CmdShowRif.h",
"commands/show/running_config/CmdShowRunningConfig.h",
"commands/show/route/CmdShowRoute.h",
"commands/show/route/CmdShowRouteDetails.h",
"commands/show/route/CmdShowRouteSummary.h",
Expand Down Expand Up @@ -792,10 +803,17 @@ cpp_library(
"commands/config/history/CmdConfigHistory.cpp",
"commands/config/interface/CmdConfigInterfaceDescription.cpp",
"commands/config/interface/CmdConfigInterfaceMtu.cpp",
"commands/config/interface/switchport/access/vlan/CmdConfigInterfaceSwitchportAccessVlan.cpp",
"commands/config/qos/buffer_pool/CmdConfigQosBufferPool.cpp",
"commands/config/qos/priority_group_policy/CmdConfigQosPriorityGroupPolicyGroupId.cpp",
"commands/config/rollback/CmdConfigRollback.cpp",
"commands/config/session/CmdConfigSessionCommit.cpp",
"commands/config/session/CmdConfigSessionDiff.cpp",
"commands/config/session/CmdConfigSessionRebase.cpp",
"commands/config/vlan/static_mac/add/CmdConfigVlanStaticMacAdd.cpp",
"commands/config/vlan/static_mac/delete/CmdConfigVlanStaticMacDelete.cpp",
"session/ConfigSession.cpp",
"session/Git.cpp",
"utils/InterfaceList.cpp",
],
headers = [
Expand All @@ -805,16 +823,30 @@ cpp_library(
"commands/config/interface/CmdConfigInterface.h",
"commands/config/interface/CmdConfigInterfaceDescription.h",
"commands/config/interface/CmdConfigInterfaceMtu.h",
"commands/config/interface/switchport/CmdConfigInterfaceSwitchport.h",
"commands/config/interface/switchport/access/CmdConfigInterfaceSwitchportAccess.h",
"commands/config/interface/switchport/access/vlan/CmdConfigInterfaceSwitchportAccessVlan.h",
"commands/config/qos/CmdConfigQos.h",
"commands/config/qos/buffer_pool/CmdConfigQosBufferPool.h",
"commands/config/qos/priority_group_policy/CmdConfigQosPriorityGroupPolicy.h",
"commands/config/qos/priority_group_policy/CmdConfigQosPriorityGroupPolicyGroupId.h",
"commands/config/rollback/CmdConfigRollback.h",
"commands/config/session/CmdConfigSessionCommit.h",
"commands/config/session/CmdConfigSessionDiff.h",
"commands/config/session/CmdConfigSessionRebase.h",
"commands/config/vlan/CmdConfigVlan.h",
"commands/config/vlan/static_mac/CmdConfigVlanStaticMac.h",
"commands/config/vlan/static_mac/add/CmdConfigVlanStaticMacAdd.h",
"commands/config/vlan/static_mac/delete/CmdConfigVlanStaticMacDelete.h",
"session/ConfigSession.h",
"session/Git.h",
"utils/InterfaceList.h",
],
exported_deps = [
"fbsource//third-party/fmt:fmt",
"fbsource//third-party/glog:glog",
"fbsource//third-party/re2:re2",
":cli_metadata-cpp2-types",
":cmd-common-utils",
":cmd-handler",
":fboss2-lib",
Expand Down
7 changes: 7 additions & 0 deletions fboss/cli/fboss2/CmdHandlerImpl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@

#include "fboss/cli/fboss2/CmdHandler.cpp"

// NOLINTBEGIN(misc-include-cleaner)
// IWYU pragma: begin_keep
#include "fboss/cli/fboss2/commands/bounce/interface/CmdBounceInterface.h"
#include "fboss/cli/fboss2/commands/clear/CmdClearArp.h"
#include "fboss/cli/fboss2/commands/clear/CmdClearInterfaceCounters.h"
Expand Down Expand Up @@ -114,6 +116,7 @@
#include "fboss/cli/fboss2/commands/show/route/CmdShowRouteDetails.h"
#include "fboss/cli/fboss2/commands/show/route/CmdShowRouteSummary.h"
#include "fboss/cli/fboss2/commands/show/route/gen-cpp2/model_visitation.h"
#include "fboss/cli/fboss2/commands/show/running_config/CmdShowRunningConfig.h"
#include "fboss/cli/fboss2/commands/show/sdk/dump/CmdShowSdkDump.h"
#include "fboss/cli/fboss2/commands/show/systemport/CmdShowSystemPort.h"
#include "fboss/cli/fboss2/commands/show/systemport/gen-cpp2/model_visitation.h"
Expand All @@ -131,6 +134,8 @@
#include "fboss/lib/phy/gen-cpp2/phy_types.h"
#include "fboss/lib/phy/gen-cpp2/phy_visitation.h"
#include "fboss/lib/phy/gen-cpp2/prbs_visitation.h"
// NOLINTEND(misc-include-cleaner)
// IWYU pragma: end_keep

namespace facebook::fboss {

Expand Down Expand Up @@ -259,6 +264,8 @@ template void CmdHandler<CmdShowTeFlow, CmdShowTeFlowTraits>::run();
template void CmdHandler<CmdStartPcap, CmdStartPcapTraits>::run();
template void CmdHandler<CmdStopPcap, CmdStopPcapTraits>::run();
template void CmdHandler<CmdShowRif, CmdShowRifTraits>::run();
template void
CmdHandler<CmdShowRunningConfig, CmdShowRunningConfigTraits>::run();

template const ValidAggMapType
CmdHandler<CmdShowPort, CmdShowPortTraits>::getValidAggs();
Expand Down
44 changes: 44 additions & 0 deletions fboss/cli/fboss2/CmdHandlerImplConfig.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,32 @@

// Current linter doesn't properly handle the template functions which need the
// following headers
// IWYU pragma: begin_keep
// NOLINTBEGIN(misc-include-cleaner)
// @lint-ignore-every CLANGTIDY facebook-unused-include-check
#include "fboss/cli/fboss2/commands/config/CmdConfigAppliedInfo.h"
#include "fboss/cli/fboss2/commands/config/CmdConfigReload.h"
#include "fboss/cli/fboss2/commands/config/history/CmdConfigHistory.h"
#include "fboss/cli/fboss2/commands/config/interface/CmdConfigInterface.h"
#include "fboss/cli/fboss2/commands/config/interface/CmdConfigInterfaceDescription.h"
#include "fboss/cli/fboss2/commands/config/interface/CmdConfigInterfaceMtu.h"
#include "fboss/cli/fboss2/commands/config/interface/switchport/CmdConfigInterfaceSwitchport.h"
#include "fboss/cli/fboss2/commands/config/interface/switchport/access/CmdConfigInterfaceSwitchportAccess.h"
#include "fboss/cli/fboss2/commands/config/interface/switchport/access/vlan/CmdConfigInterfaceSwitchportAccessVlan.h"
#include "fboss/cli/fboss2/commands/config/qos/CmdConfigQos.h"
#include "fboss/cli/fboss2/commands/config/qos/buffer_pool/CmdConfigQosBufferPool.h"
#include "fboss/cli/fboss2/commands/config/qos/priority_group_policy/CmdConfigQosPriorityGroupPolicy.h"
#include "fboss/cli/fboss2/commands/config/qos/priority_group_policy/CmdConfigQosPriorityGroupPolicyGroupId.h"
#include "fboss/cli/fboss2/commands/config/rollback/CmdConfigRollback.h"
#include "fboss/cli/fboss2/commands/config/session/CmdConfigSessionCommit.h"
#include "fboss/cli/fboss2/commands/config/session/CmdConfigSessionDiff.h"
#include "fboss/cli/fboss2/commands/config/session/CmdConfigSessionRebase.h"
#include "fboss/cli/fboss2/commands/config/vlan/CmdConfigVlan.h"
#include "fboss/cli/fboss2/commands/config/vlan/static_mac/CmdConfigVlanStaticMac.h"
#include "fboss/cli/fboss2/commands/config/vlan/static_mac/add/CmdConfigVlanStaticMacAdd.h"
#include "fboss/cli/fboss2/commands/config/vlan/static_mac/delete/CmdConfigVlanStaticMacDelete.h"
// NOLINTEND(misc-include-cleaner)
// IWYU pragma: end_keep

namespace facebook::fboss {

Expand All @@ -34,11 +50,39 @@ template void CmdHandler<
CmdConfigInterfaceDescriptionTraits>::run();
template void
CmdHandler<CmdConfigInterfaceMtu, CmdConfigInterfaceMtuTraits>::run();
template void CmdHandler<
CmdConfigInterfaceSwitchport,
CmdConfigInterfaceSwitchportTraits>::run();
template void CmdHandler<
CmdConfigInterfaceSwitchportAccess,
CmdConfigInterfaceSwitchportAccessTraits>::run();
template void CmdHandler<
CmdConfigInterfaceSwitchportAccessVlan,
CmdConfigInterfaceSwitchportAccessVlanTraits>::run();
template void CmdHandler<CmdConfigHistory, CmdConfigHistoryTraits>::run();
template void CmdHandler<CmdConfigRollback, CmdConfigRollbackTraits>::run();
template void
CmdHandler<CmdConfigSessionCommit, CmdConfigSessionCommitTraits>::run();
template void
CmdHandler<CmdConfigSessionDiff, CmdConfigSessionDiffTraits>::run();
template void
CmdHandler<CmdConfigSessionRebase, CmdConfigSessionRebaseTraits>::run();
template void CmdHandler<CmdConfigQos, CmdConfigQosTraits>::run();
template void
CmdHandler<CmdConfigQosBufferPool, CmdConfigQosBufferPoolTraits>::run();
template void CmdHandler<CmdConfigVlan, CmdConfigVlanTraits>::run();
template void
CmdHandler<CmdConfigVlanStaticMac, CmdConfigVlanStaticMacTraits>::run();
template void
CmdHandler<CmdConfigVlanStaticMacAdd, CmdConfigVlanStaticMacAddTraits>::run();
template void CmdHandler<
CmdConfigVlanStaticMacDelete,
CmdConfigVlanStaticMacDeleteTraits>::run();
template void CmdHandler<
CmdConfigQosPriorityGroupPolicy,
CmdConfigQosPriorityGroupPolicyTraits>::run();
template void CmdHandler<
CmdConfigQosPriorityGroupPolicyGroupId,
CmdConfigQosPriorityGroupPolicyGroupIdTraits>::run();

} // namespace facebook::fboss
7 changes: 7 additions & 0 deletions fboss/cli/fboss2/CmdList.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@
#include "fboss/cli/fboss2/commands/show/route/CmdShowRoute.h"
#include "fboss/cli/fboss2/commands/show/route/CmdShowRouteDetails.h"
#include "fboss/cli/fboss2/commands/show/route/CmdShowRouteSummary.h"
#include "fboss/cli/fboss2/commands/show/running_config/CmdShowRunningConfig.h"
#include "fboss/cli/fboss2/commands/show/sdk/dump/CmdShowSdkDump.h"
#include "fboss/cli/fboss2/commands/show/systemport/CmdShowSystemPort.h"
#include "fboss/cli/fboss2/commands/show/teflow/CmdShowTeFlow.h"
Expand Down Expand Up @@ -225,6 +226,12 @@ const CommandTree& kCommandTree() {
validFilterHandler<CmdShowRif>,
argTypeHandler<CmdShowRifTraits>},

{"show",
"running-config",
"Show running configuration from the agent",
commandHandler<CmdShowRunningConfig>,
argTypeHandler<CmdShowRunningConfigTraits>},

{"show",
"interface",
"Show Interface information",
Expand Down
Loading
Loading