The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
This document describes how to configure a container (multi-instance mode) in Firepower 4200 firewall series with FTD 7.6 and related details.
Note: Multi-Instance is not supported with FDM on any platform.
This document is not restricted to specific software and hardware versions.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.
Note: For the FPR4100 Series, in case of FTD-HA, primary and secondary nodes must be on two different 4200 Series (MI mode) devices. Additionally, MI Clustering is not supported in this release.
Changes to Multi-Instance Configuration in 7.6.0:
Instance density is driven by 2 main factors:
1. The amount of CPU cores and the amount of disk space on a given platform
2. How many of these resources are available to provision to instances. The smallest instance size requires 3 physical CPU (6 logical) cores and 48 GB of disk space.
4215 |
4225 |
4245 |
||||
Instance Size |
Data Plane Cores |
Snort Cores |
Data Plane Cores |
Snort Cores |
Data Plane Cores |
Snort Cores |
6 |
2 |
2 |
2 |
2 |
2 |
2 |
8 |
2 |
4 |
2 |
4 |
2 |
4 |
10 |
4 |
4 |
4 |
4 |
4 |
4 |
12 |
4 |
6 |
4 |
6 |
4 |
6 |
14 |
6 |
8 |
6 |
6 |
6 |
6 |
16 |
6 |
8 |
6 |
6 |
8 |
8 |
18 |
8 |
10 |
8 |
8 |
8 |
10 |
20 |
8 |
10 |
8 |
8 |
10 |
10 |
22 |
10 |
12 |
10 |
10 |
10 |
12 |
24 |
12 |
12 |
10 |
10 |
10 |
12 |
26 |
12 |
14 |
12 |
12 |
12 |
12 |
28 |
14 |
14 |
12 |
14 |
12 |
14 |
30 |
14 |
16 |
14 |
14 |
14 |
14 |
32 |
14 |
16 |
14 |
16 |
14 |
16 |
34 |
16 |
16 |
16 |
16 |
16 |
16 |
36 |
16 |
18 |
16 |
18 |
16 |
18 |
38 |
18 |
18 |
18 |
18 |
18 |
18 |
40 |
18 |
20 |
18 |
20 |
18 |
20 |
42 |
20 |
20 |
20 |
20 |
20 |
20 |
44 |
20 |
22 |
20 |
22 |
20 |
22 |
46 |
22 |
22 |
22 |
22 |
22 |
22 |
48 |
22 |
24 |
22 |
24 |
22 |
24 |
50 |
24 |
24 |
24 |
24 |
24 |
24 |
52 |
24 |
26 |
24 |
26 |
24 |
26 |
54 |
26 |
26 |
26 |
26 |
24 |
26 |
56 |
26 |
28 |
26 |
28 |
26 |
28 |
58 |
28 |
28 |
28 |
28 |
28 |
28 |
60 |
28 |
30 |
28 |
39 |
28 |
30 |
62 |
30 |
30 |
30 |
30 |
30 |
30 |
64 |
30 |
32 |
30 |
32 |
||
66 |
30 |
34 |
30 |
34 |
||
68 |
32 |
34 |
32 |
34 |
||
70 |
32 |
36 |
32 |
36 |
||
72 |
34 |
36 |
34 |
36 |
||
74 |
34 |
38 |
34 |
38 |
||
76 |
36 |
38 |
36 |
38 |
||
78 |
36 |
40 |
36 |
40 |
||
80 |
38 |
40 |
38 |
40 |
||
82 |
38 |
42 |
38 |
42 |
||
84 |
40 |
42 |
40 |
42 |
||
86 |
40 |
44 |
40 |
44 |
||
88 |
42 |
44 |
42 |
44 |
||
90 |
42 |
46 |
42 |
46 |
||
92 |
44 |
46 |
44 |
46 |
||
94 |
44 |
48 |
44 |
48 |
||
96 |
46 |
48 |
46 |
48 |
||
98 |
46 |
50 |
46 |
50 |
||
100 |
48 |
50 |
48 |
50 |
||
102 |
48 |
52 |
48 |
52 |
||
104 |
50 |
52 |
50 |
52 |
||
106 |
50 |
54 |
50 |
54 |
||
108 |
52 |
54 |
52 |
54 |
||
110 |
52 |
56 |
52 |
56 |
||
112 |
54 |
56 |
54 |
56 |
||
114 |
54 |
58 |
54 |
58 |
||
116 |
56 |
58 |
56 |
58 |
||
118 |
56 |
60 |
56 |
60 |
||
120 |
58 |
60 |
58 |
60 |
||
122 |
58 |
62 |
58 |
62 |
||
124 |
60 |
62 |
60 |
62 |
||
128 |
60 |
64 |
||||
130 |
60 |
66 |
||||
132 |
62 |
66 |
||||
134 |
62 |
68 |
||||
136 |
64 |
68 |
||||
138 |
64 |
70 |
||||
140 |
66 |
70 |
||||
142 |
66 |
72 |
||||
144 |
68 |
72 |
||||
146 |
68 |
74 |
||||
148 |
70 |
74 |
||||
150 |
70 |
76 |
||||
152 |
72 |
76 |
||||
154 |
72 |
78 |
||||
156 |
74 |
78 |
||||
158 |
74 |
80 |
||||
254 |
120 |
130 |
By default, 4200s are in native mode. To convert 4200 series to multi-instance mode in FMC:
Note: Switching between native to MI mode resets ALL the configuration on the chassis. Converting from MI Mode to Native Mode is still via CLI.
1. To start the conversion, navigate to Devices > Device management.
2. Validate selected device and click on Continue:
Resulting device management page listing 4200 series (MI mode) devices:
The FMC Chassis Overview page gives a complete summary of 4200 Series (MI mode) device. It includes:
Click Manage to navigate to Chassis Overview:
Chassis page summary tab:
The Summary tab contains sections. Click to get more details:
Sections are mapped by number as shown in this image:
1. Back plane view:
2. Faults section:
3. Interfaces section:
4 .Instances section:
The transition of instances from offline to online is shown in the preceding image.
5. Hardware statistics:
Operations Supported from Interfaces tab:
The landing page of the Interfaces tab shows all the types of interfaces that are managed for a chassis, such as physical interfaces, sub interfaces, and EtherChannel’s, and EtherChannel sub interfaces.
These attributes of a physical interface can be updated:
Pick the sub-interface option from the Add button to add a new interface.
These attributes of a sub-interface can be modified:
To create a new EtherChannel interface, use the “EtherChannel interface” under the Add button.
Attributes which can be configured for an EtherChannel are:
There are cases when the FMC configuration and the device configuration can go out of sync. One case is when a user removes or inserts a netmod. Sync device can be done in such cases.
“Hot Swap”, used in your docs, is referred to as Online Insertion and Removal or OIR in other internal documentation.
There is an immediate deploy upon Enable/Disable of Network Module or Break or Join of interfaces. Multi-Instance mode is same as 4200 Series in native mode.
FMC compares the response received against the current configuration and then creates interface change notification for user to acknowledge.
EPM OIR and Breakout are already supported on the standalone, native mode Secure Firewall 4200 Series standalone.
4200 Series EPM OIR and Breakout FMC documentation:
When the user toggles to enable module, a warning is shown to make sure this is not an accidental click.
This screenshot shows the option to see the associated interfaces:
The interface listing page lists the interfaces which are added when EPM is enabled. Click to know more launches the Interface Changes dialog.
Click to know more is not available after saving.
The interface break confirmation wizard opens up on break option is triggered.
The interface update notification is visible on the chassis page after the interface break is confirmed.
Upon clicking Accept Changes, these interfaces become available in the FMC to be used:
Instance Management enables you to:
Launch the wizard by clicking on Add Instance.
Step 1. Agreement:
Step 2.
Step 3. Interface assignments:
Step 4. Device management:
Step 5. Summary:
To complete configuration, Save and Deploy.
Auto-registration of an FTD instance after successful deployment:
Instance registered to Management Center:
Click the pencil icon to edit an FTD instance:
Step 1. Edit FTD instance:
Step 2. Edit interface assignments for an instance:
Step 3. Summary of edit instance:
Navigate to the system configuration tab for configuring SNMP:
Navigate to Manage Chassis > System Configuration > Import/Export:
Navigate to Manage Chassis > System Configuration > Import/Export:
The chassis platform settings policy allows users to configure these platform specific configurations:
Tip: Chassis platform settings only apply to the chassis. If the user wants to apply platform settings to their instances, they can use a Threat Defense Platform Settings Policy.
1. Navigate to chassis Platform Settings policy:
2. Create Chassis Platform Settings:
3. Chassis Platform Settings Policy Page:
Enable and Add DNS Server Groups under DNS section of Chassis Platform settings policy:
This tab shows up only after enabling SSH under SSH section of Chassis platform settings.
Time Synchronization can be done in two ways:
Set time zones:
Save Chassis Platform Setting Changes, then deploy:
To unregister a chassis from FMC, navigate to Devices > Device Management > delete.
Currently, FMC only supports conversion from Native to Multi-Instance. Consequently, to convert a device back to Native mode, the user has to use the CLI.
Step 1: Unregister the Chassis from the FMC.
Step 2: Use this CLI command to convert 4200 Series device to native mode:
firepower-4215# scope system
firepower-4215 /system # set deploymode native
FMC Public REST APIs are available for all the operations supported from FMC.
POST API to verify if native device is ready for Multi-Instance Conversion:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/operational/switchmodereadinesscheck
Sample POST request JSON:
{
"devices": [
{
"id": "DeviceUUID",
"type": "Device"
}
],
"conversionType": "NATIVE_TO_MULTI_INSTANCE"
}
POST API to trigger single native to Multi-Instance Conversion:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/operational/switchmode
Sample POST request JSON:
{
"items": [
{
"id": "<Device_UUID>",
"displayName": "Sample_Chassis_Name1"
}
],
"conversionType": "NATIVE_TO_MULTI_INSTANCE"
}
POST API to trigger bulk native to Multi-Instance Conversion:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/operational/switchmode
Sample POST request JSON:
{
"items": [
{
"id": "<Device_UUID1>",
"displayName": "Sample_Chassis_Name1"
},
{
"id": "<Device_UUID2>",
"displayName": "Sample_Chassis_Name2"
}
],
"conversionType": "NATIVE_TO_MULTI_INSTANCE"
}
POST Add a Chassis to management center:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis
GET all Chassis:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/
GET a specific Chassis by uuid:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{objectId}
Delete a Chassis by uuid:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{objectId}
Sample POST request JSON:
{
"type": "FMCManagedChassis",
"chassisName": "CHASSIS123",
"chassisHostName": "192.168.xx.74",
"regKey": "*****"
}
GET a Network Module by uuid:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/networkmodules/{objectId}
GET ALL Network Modules:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/networkmodules/
PUT – Edit an existing Network Module by uuid :
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/networkmodules/{objectId}
PUT – Retrieve Network module data from FXOS and update Management Center:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/operational/syncnetworkmodule
Sample GET response
{
"metadata": {
"timestamp": 1688670821060,
"domain": {
"name": "Global",
"id": "e276abec-e0f2-11e3-8169-************",
"type": "Domain"
}
},
"links": {
"self": "https://u32c01p10-vrouter.cisco.com:32300/api/fmc_config/v1/domain/e276abec-e0f2-11e3-8169-************/chassis/fmcmanagedchassis/f0f11b69-4229-4025-b0b9-************/networkmodules/0050568A-3F3F-0ed3-0000-0************"
},
"id": "0050568A-3F3F-0ed3-0000-************",
"moduleState": "ENABLED",
"type": "NetworkModule",
"description": "Cisco FPR 8X1G 8X10G 1RU Module",
"model": "FPR-3120",
"operationState": "ok",
"numOfPorts": 16,
"slotId": "1",
"vendor": "Cisco Systems, Inc.",
"name": "Network Module 1"
}
POST Add a Chassis to management center:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/logicaldevices
GET all Chassis:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/logicaldevices
GET a specific Instance by uuid:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/logicaldevices/{objectId}
PUT - Edit an Instance by uuid:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/logicaldevices/{objectId}
Delete a Chassis by uuid:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/logicaldevices/{objectId}
Sample PUT request:
{
"name": "ftd1",
"operationalState": "string",
"deviceRegistration": {
"licenseCaps": [
"MALWARE",
"URLFilter",
"CARRIER",
"PROTECT"
],
"accessPolicy": {
"name": "AC Policy name",
"id": "<ac policy uuid>",
"type": "AccessPolicy"
},
"deviceGroup": {
"name": "DeviceGroup name",
"id": "<device group uuid>",
"type": "DeviceGroup"
}
},
"managementBootstrap": {
"ipv4": {
"gateway": "192.168.xx.68",
"ip": "192.168.xx.78",
"mask": "255.255.255.0"
},
"adminState": "enable",
"firepowerManagerIP": "192.168.xx.32",
"permitExpertMode": "yes",
"searchDomain": "string",
"firewallMode": "Routed",
"dnsServers": "192.168.xx.123",
"natId": "natId",
"registrationKey": "regKey",
"adminPassword": "adminPwd",
"fqdn": "fqdn"
},
"externalPortLink": [
{
"name": "Ethernet1/1",
"id": "<interface uuid>",
"type": "ChassisInterface"
},
{
"name": "Ethernet2/2.1",
"id": "<subInterface uuid>",
"type": "ChassisInterface"
}
],
"type": "LogicalDevice"
}
GET an SNMP Setting by uuid:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/snmpsettings/{objectId}
GET ALL SNMP Settings:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/snmpsettings/
PUT – Edit an existing Network Module by uuid:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/snmpsettings/{objectId}
Sample GET response:
{
"snmpAdminInstance": {
"id": "logicalDeviceUuid",
"type": "LogicalDevice",
"name": "ftd3"
},
"id": "snmpsettingsUUID2",
"type": "SnmpSetting"
}
This list contains detailed information on the REST APIs for fetching the summary:
GET Faults Summary for a chassis:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/faultsummary
Sample Response:
{
"links": {
"self": "<fmc_url>/api/fmc_config/v1/domain/domainUUID/chassis/fmcmanagedchassis/containerUUID/faultsummary?offset=0&limit=25&expanded=true"
},
"items": [
{
"faultList": [
{
"id": 27429,
"isAcknowledged": "no",
"cause": "device-registration-pending",
"gateway": "3::1",
"ip": "3::2",
"prefixLength": "33"
}
],
"managementPort": "Management1",
"operationalState": "online",
"adminState": "enabled",
"deployType": "container"
}
],
"modifiedTime": "2022-07-05T06:39:25Z",
"type": "InstanceSummary"
],
"paging": {
"offset": 0,
"limit": 25,
"count": 1,
"pages": 1
}
}
GET Instances Summary for a chassis:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/instancesummary
Sample Response:
{
"links": {
"self": "<fmc_url>/api/fmc_config/v1/domain/domainUUID/chassis/fmcmanagedchassis/containerUUID/instancesummary?offset=0&limit=25&expanded=true"
},
"items": [
{
"instanceList": [
{
"name": "ftdmi2",
"startupVersion": "7.3.0.1402",
"coresUsed": 6,
"ipv4": {
"gateway": "192.168.xx.68",
"ip": "192.168.xx.78",
"mask": "255.255.255.0"
},
"ipv6": {
"gateway": "3::1",
"ip": "3::2",
"prefixLength": "33"
},
"managementPort": "Management1",
"operationalState": "online",
"adminState": "enabled",
"deployType": "container"
}
],
"modifiedTime": "2022-07-05T06:39:25Z",
"type": "InstanceSummary"
}
],
"paging": {
"offset": 0,
"limit": 25,
"count": 1,
"pages": 1
}
}
GET Inventory Summary for a chassis:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/inventorysummary
Sample response:
{
"links": {
"self": "<fmc_url>/api/fmc_config/v1/domain/domainUUID/chassis/fmcmanagedchassis/containerUUID/inventorysummary?offset=0&limit=25&expanded=true"
},
"items": [
{
"fanList": [
{
"operationalState": "operable",
"operability": "operable",
"power": "on",
"thermalStatus": "ok",
"module": 1,
"tray": 1,
"id": 1,
"model": "N/A",
"vendor": "N/A"
},
{
"operationalState": "operable",
"operability": "operable",
"power": "on",
"thermalStatus": "ok",
"module": 1,
"tray": 1,
"id": 2,
"model": "N/A",
"vendor": "N/A"
}
],
"powerSupplyList": [
{
"id": 2,
"operationalState": "operable",
"operability": "operable",
"serialNumber": "***********",
"thermalStatus": "ok",
"model": "FPR2K-PWR-AC-400",
"vendor": "Cisco Systems, Inc"
}
],
"processorList": [
{
"id": 1,
"operationalState": "operable",
"operability": "operable",
"vendor": "AuthenticAMD",
"model": "49 AMD EPYC 7282 16-Core Processor",
"type": "CPU",
"thermalStatus": "ok"
}
],
"securityModuleList": [
{
"id": 1,
"operationalState": "ok",
"operability": "operable",
"serialNumber": "***********",
"vendor": "Cisco Systems, Inc",
"model": "FPR-3120",
"availableCores": 24,
"totalCores": 32
}
],
"memoryList": [
{
"capacity": 65536,
"id": 1,
"array": 1,
"bank": 0,
"model": "HMAA8GR7AJR4N-XN",
"operationalState": "operable",
"operability": "operable",
"performance": "ok",
"power": "not-supported",
"serialNumber": "********",
"thermalStatus": "ok",
"vendor": "Hynix"
}
],
"model": "FPR-3120",
"availableCores": 24,
"totalCores": 32
}
],
"paging": {
"offset": 0,
"limit": 25,
"count": 1,
"pages": 1
}
}
GET Interface Summary for a chassis:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/interfacesummary
Sample Response:
{
"links": {
"self": "<fmc_url>/api/fmc_config/v1/domain/domainUUID/chassis/fmcmanagedchassis/containerUUID/interfacesummary?offset=0&limit=25"
},
"items": [
{
"interfaceList": [
{
"name": "Ethernet1/8",
"operationalState": "up",
"adminState": "disabled",
"portType": "data",
"operationalSpeed": "10mbps",
"adminSpeed": "1gbps",
"adminDuplex": "fullDuplex",
"autoNegotiation": "yes",
"mediaType": "rj45",
"type": "PhysicalInterface"
},
{
"name": "Ethernet1/7",
"operationalState": "up",
"adminState": "disabled",
"portType": "data",
"operationalSpeed": "1gbps",
"adminSpeed": "1gbps",
"adminDuplex": "fullDuplex",
"autoNegotiation": "yes",
"mediaType": "rj45",
"type": "PhysicalInterface"
},
{
"name": "Ethernet1/6",
"operationalState": "up",
"adminState": "disabled",
"portType": "data",
"operationalSpeed": "1gbps",
"adminSpeed": "1gbps",
"adminDuplex": "fullDuplex",
"autoNegotiation": "yes",
"mediaType": "rj45",
"type": "PhysicalInterface"
},
{
"name": "Ethernet1/3",
"operationalState": "up",
"adminState": "disabled",
"portType": "data",
"operationalSpeed": "1gbps",
"adminSpeed": "1gbps",
"adminDuplex": "fullDuplex",
"autoNegotiation": "yes",
"mediaType": "rj45",
"type": "PhysicalInterface"
},
{
"name": "Ethernet1/2",
"operationalState": "up",
"adminState": "enabled",
"portType": "data",
"operationalSpeed": "1gbps",
"adminSpeed": "1gbps",
"adminDuplex": "fullDuplex",
"autoNegotiation": "yes",
"mediaType": "rj45",
"type": "PhysicalInterface"
},
{
"name": "Ethernet1/1",
"operationalState": "up",
"adminState": "enabled",
"portType": "data",
"operationalSpeed": "1gbps",
"adminSpeed": "1gbps",
"adminDuplex": "fullDuplex",
"autoNegotiation": "yes",
"mediaType": "rj45",
"type": "PhysicalInterface"
},
{
"name": "Port-channel48",
"operationalState": "up",
"adminState": "enabled",
"portType": "data",
"operationalSpeed": "1gbps",
"adminSpeed": "1gbps",
"adminDuplex": "fullDuplex",
"autoNegotiation": "yes",
"mediaType": "rj45",
"type": "EtherChannelInterface"
}
],
"modifiedTime": "2022-07-05T06:39:25Z",
"type": "InterfaceSummary"
}
],
"paging": {
"offset": 0,
"limit": 25,
"count": 1,
"pages": 1
}
}
GET App Info for a chassis:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID} /inventorysummary
Sample Response:
{
"links": {
"self": "<fmc_url>/api/fmc_config/v1/domain/domainUUID/chassis/fmcmanagedchassis/containerUUID/appinfo?offset=0&limit=25&expanded=true"
},
"items": [
{
"appVersion": "7.4.0.1024",
"type": "AppInfo"
},
{
"appVersion": "7.4.0.1075",
"type": "AppInfo"
}
],
"paging": {
"offset": 0,
"limit": 25,
"count": 1,
"pages": 1
}
}
This section has detailed information on the REST APIs for interface config management:
To support update of physical interfaces, these URLs have been introduced.
GET all physical interfaces:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/physicalinterfaces
GET a specific physical interface by interface uuid:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/physicalinterface s/{interfaceUUID}
Update interface by interface uuid:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/physicalinterface s/{interfaceUUID}
Physical Interface model looks like this:
{
"metadata": {
"supportedSpeed": "TEN_GBPS,ONE_GBPS,TWENTY_FIVE_GBPS,DETECT_SFP",
"mediaType": "sfp",
"sfpType": "none",
"isBreakoutCapable": false,
"isSplitInterface": false,
"timestamp": 1692344434067,
"domain": {
"name": "Global",
"id": "e276abec-e0f2-11e3-8169-**********",
"type": "Domain"
}
},
"type": "PhysicalInterface",
"name": "Ethernet2/2",
"portType": "DATA",
"adminState": "DISABLED",
"hardware": {
"flowControlSend": "OFF",
"fecMode": "AUTO",
"autoNegState": true,
"speed": "DETECT_SFP",
"duplex": "FULL"
},
"LLDP": {
"transmit": false,
"receive": false
},
"id": "*************************************"
}
To support management of sub-interfaces, these URLs have been introduced.
GET all sub interfaces:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/subinterfaces
GET a specific sub interface by interface uuid:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/subinterfaces/{interfaceUUID}
POST a new sub interface:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/subinterfaces
UPDATE interface by interface uuid :
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/subinterfaces/{interfaceUUID}
DELETE a sub interface by interface uuid:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/subinterfaces/{interfaceUUID}
Sub-interface model looks like this:
{
"metadata": {
"isBreakoutCapable": false,
"isSplitInterface": false,
"timestamp": 1692536476265,
"domain": {
"name": "Global",
"id": "e276abec-e0f2-11e3-8169-**********",
"type": "Domain"
}
},
"type": "SubInterface",
"name": "Ethernet1/3.3",
"portType": "DATA",
"subIntfId": 3,
"parentInterface": {
"type": "PhysicalInterface",
"id": "00505686-9A51-0ed3-0000-**********",
"name": "Ethernet1/3"
},
"vlanId": 3,
"id": "*************************************"
}
To support management of etherchannel EtherChannel interfaces, these URLs have been introduced.
GET all etherchannel interfaces:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/etherchannelinterfaces/{interfaceUUID}
GET a specific etherchannel interface by interface uuid:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/etherchannelinterfaces/{interfaceUUID}
POST a new etherchannel interface:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/etherchannelinterfaces
UPDATE interface by interface uuid :
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/etherchannelinterfaces/{interfaceUUID}
DELETE a etherchannel interface by interface uuid:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/etherchannelinterfaces/{interfaceUUID}
EtherChannel Interface model looks like this:
{
"metadata": {
"supportedSpeed": "HUNDRED_MBPS,TEN_MBPS,ONE_GBPS",
"timestamp": 1692536640172,
"domain": {
"name": "Global",
"id": "e276abec-e0f2-11e3-8169-**********",
"type": "Domain"
}
},
"type": "EtherChannelInterface",
"name": "Port-channel45",
"portType": "DATA",
"etherChannelId": 45,
"selectedInterfaces": [
{
"type": "PhysicalInterface",
"id": "00505686-9A51-0ed3-0000-**********",
"name": "Ethernet1/4"
},
{
"type": "PhysicalInterface",
"id": "00505686-9A51-0ed3-0000-**********",
"name": "Ethernet1/5"
}
],
"lacpMode": "ON",
"lacpRate": "FAST",
"adminState": "DISABLED",
"hardware": {
"flowControlSend": "OFF",
"autoNegState": true,
"speed": "ONE_GBPS",
"duplex": "FULL"
},
"LLDP": {
"transmit": true,
"receive": true
},
"id": "00505686-9A51-0ed3-0000-**********"
}
To support the Breakout/Join of interfaces in 4200 Series, these URLs can be used:
GET:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/chassisinterfaces/{interfaceUUID}/evaluateoperation
Evaluates the feasibility of break/join for an interface
POST:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/operational/breakoutinterfaces
Breaks an interface
POST:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/operational/joininterfaces
Joins a set of broken interfaces
1. Find FMC managed chassis device (4200) using the fmcmanagedchassis endpoint.
GET /api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis
Returns the list of FMC managed chassis devices along with Multi Instance devices with the details like id, name, model of each device. Choose the ”MULTIINSTANCE” devices.
Sample Response:
{
"id": "fcaa9ca4-85e5-4bb0-b049-**********",
"type": "FMCManagedChassis",
"chassisName": "192.168.0.75",
"chassisMode": "MULTIINSTANCE",
"links": {
"self": "https://u32c01p06-vrouter.cisco.com:22512/api/fmc_config/v1/domain/e276abec-e0f2-11e3-8169-**********/chassis/fmcmanagedchassis/fcaa9ca4-85e5-4bb0-b049-**********"
}
}
2. Check if the interface is breakout capable using interfaces/physicalinterfaces endpoint.
Breakout is possible only if “isBreakoutCapable” is true and mediaType is QSFP.
GET /api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/interfaces
Sample Response:
{
"metadata": {
"supportedSpeed": "FORTY_GBPS,DETECT_SFP", >>>>>>>>>
"mediaType": "qsfp", >>>>>>>>>
"sfpType": "none",
"isBreakoutCapable": true, >>>>>>>>>
"breakoutFactor": "4", >>>>>>>>>
"isSplitInterface": false,
"timestamp": 1692344434067,
"domain": {
"name": "Global",
"id": "e276abec-e0f2-11e3-8169-**********",
"type": "Domain"
}
},
"type": "PhysicalInterface",
"name": "Ethernet2/4",
"portType": "DATA",
"adminState": "DISABLED",
"hardware": {
"flowControlSend": "OFF",
"fecMode": "AUTO",
"autoNegState": true,
"speed": "DETECT_SFP",
"duplex": "FULL"
},
"LLDP": {
"transmit": false,
"receive": false
},
"id": "00505686-9A51-0ed3-0000-**********"
}
3. On the interface, evaluate feasibility of break operation using evaluateoperation endpoint.
GET /api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/chassisinterfaces/{interfaceUUID}/evaluateoperation
If there are no warnings/errors in the response, user can perform break operation.
Sample Response:
If there are errors in the response, user is not allowed to perform break operation:
{
"operationType": "BREAKOUT",
"interfaceUsages": [
{
"conflictType": "Interface usage on instance(s)",
"severity": "ERROR", >>>>>>>>>
"description": "Interface Ethernet2/4 can not be split. Remove it from instances [FTD1] and try again.\n"
}
],
"readinessState": "NOT_READY", >>>>>>>>>
"links": {
"self": "https://u32c01p06-vrouter.cisco.com:22542/api/fmc_config/v1/domain/e276abec-e0f2-11e3-8169-**********/chassis/fmcmanagedchassis/19d967e6-ef81-4f2e-b311-**********/chassisinterfaces/00505686-662F-0ed3-0000-004294969274/evaluateoperation/00505686-662F-0ed3-0000-**********"
},
"type": "ChassisInterface",
"id": "00505686-662F-0ed3-0000-**********"
}
4. If the interface is breakout capable, and the readiness state is “READY”, break the interface using breakoutinterfaces endpoint.
POST /api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/operational/breakoutinterfaces
Request:
{
"targetInterfaces": [
{
"id": "***************ed3-0000-004294969276",
"metadata": {
"type": "PhysicalInterface"
}
}
],
"type": "BreakoutInterface"
}
Response:
{
"id": "4294969716",
"type": "TaskStatus",
"links": {
"self": "https://u32c01p06-vrouter.cisco.com:22542/api/fmc_config/v1/domain/e276abec-e0f2-11e3-8169-**********/job/taskstatuses/4294969716"
},
"taskType": "DEVICE_DEPLOYMENT",
"message": "Deployment status for ************************************: SUCCEEDED",
"status": "Interface notification received"
}
5. Track the task completion using the task id in break response. Set Task status to “Interface Notification received.”
GET /api/fmc_config/v1/domain/{domainUUID}/job/taskstatuses/{objectId}
{
"metadata": {
"task": {
"id": "4294969699",
"links": {
"self": "https://u32c01p06-vrouter.cisco.com:22542/api/fmc_config/v1/domain/e276abec-e0f2-11e3-8169-**********/job/taskstatuses/4294969699"
}
}
},
"targetInterfaces": [
{
"id": "00505686-662F-0ed3-0000-**********",
"type": "PhysicalInterface"
}
],
"type": "BreakoutInterface"
}
{
"id": "4294969716",
"type": "TaskStatus",
"links": {
"self": "https://u32c01p06-vrouter.cisco.com:22542/api/fmc_config/v1/domain/e276abec-e0f2-11e3-8169-**********/job/taskstatuses/4294969716"
},
"taskType": "DEVICE_DEPLOYMENT",
"message": "Deployment status for ************************************: SUCCEEDED",
"status": "Interface notification received"
}
6. Get the interfaces changes using chassisinterfaceevents endpoint.
GET /api/fmc_config/v1/domain/{domainUUID}/chassis/ fmcmanagedchassis/{containerUUID}/chassisinterfaceevents
Sample Response:
[
{
"change": "Interface is deleted",
"type": "PhysicalInterface",
"state": "DISASSOCIATED",
"name": "Ethernet2/3"
},
{
"change": "Interface is associated",
"type": "PhysicalInterface",
"state": "ASSOCIATED",
"name": "Ethernet2/3/2"
},
{
"change": "Interface is associated",
"type": "PhysicalInterface",
"state": "ASSOCIATED",
"name": "Ethernet2/3/3"
},
{
"change": "Interface is associated",
"type": "PhysicalInterface",
"state": "ASSOCIATED",
"name": "Ethernet2/3/4"
}
]
7. If interface notification is not received, do sync device using chassisinterfaceevents endpoint and check that there are pending changes.
POST /api/fmc_config/v1/domain/{domainUUID}/devices/devicerecords/{containerUUID}/ chassisinterfaceevents
Request:
{
"action": "SYNC_WITH_DEVICE"
}
Response:
{
"action": "SYNC_WITH_DEVICE",
"hasPendingChanges": true
}
8. Once the notification is received, accept the changes using chassisinterfaceevents endpoint.
POST /api/fmc_config/v1/domain/{domainUUID}/devices/devicerecords/{containerUUID}/ chassisinterfaceevents
Request:
{
"action":"ACCEPT_CHANGES"
}
9. Get all the chassis interfaces and find the split(broken) interfaces using interfaces endpoint.
GET /api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/interfaces
One 40G interface, say eth2/2, is split into 4x10G interfaces – eth2/2/1, eth2/2/2, eth2/2/3 and eth2/2/4
1. Check if the interface is broken using interfaces/physicalinterfaces endpoint.
Join operation is possible only if “isSplitInterface” is true and mediaType is SFP
GET /api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/interfaces
{
"metadata": {
"supportedSpeed": "TEN_GBPS,DETECT_SFP",
"mediaType": "sfp",
"sfpType": "none",
"isBreakoutCapable": false,
"breakoutFactor": "4",
"isSplitInterface": true,
"timestamp": 1692541554935,
"domain": {
"name": "Global",
"id": "e276abec-e0f2-11e3-8169-**********",
"type": "Domain"
}
},
"type": "PhysicalInterface",
"name": "Ethernet2/3/4",
"portType": "DATA",
"adminState": "DISABLED",
"LLDP": {
"transmit": false,
"receive": false
},
"hardware": {
"flowControlSend": "OFF",
"speed": "DETECT_SFP",
"duplex": "FULL",
"fecMode": "AUTO",
"autoNegState": true
},
"id": "00505686-662F-0ed3-0001-**********"
}
2. Evaluate feasibility of Join operation using evaluateoperation endpoint on one of the four split interfaces.
GET /api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/ch assisinterfaces/{interfaceUUID}/evaluateoperation
{
"operationType": "JOIN",
"readinessState": "READY",
"links": {
"self": "https://u32c01p06-vrouter.cisco.com:22542/api/fmc_config/v1/domain/e276abec-e0f2-11e3-8169-**********/chassis/fmcmanagedchassis/19d967e6-ef81-4f2e-b311-**********/chassisinterfaces/00505686-662F-0ed3-0001-**********/evaluateoperation/00505686-662F-0ed3-0001-**********"
},
"type": "ChassisInterface",
"id": "00505686-662F-0ed*******************"
}
{
"operationType": "JOIN",
"interfaceUsages": [
{
"conflictType": "Interface used in EtherChannel Configuration",
"severity": "ERROR",
"description": "Interface (Ethernet2/3/4) referred to in Ether Channel Interface (Port-channel32) configurations will be impacted due to the JOIN operation."
}
],
"readinessState": "NOT_READY",
"links": {
"self": "https://u32c01p06-vrouter.cisco.com:22542/api/fmc_config/v1/domain/e276abec-e0f2-11e3-8169-*********/chassis/fmcmanagedchassis/19d967e6-ef81-4f2e-b311-********/chassisinterfaces/00505686-662F-0ed3-0001-692539698200/evaluateoperation/00505686-662F-0ed3-0001-***********"
},
"type": "ChassisInterface",
"id": "00505686-662F-0ed*******************"
}
3. If the interface is broken, and the readiness state is “READY”, join the interface using joininterfaces endpoint. Interface_uuid can be id of any of 4 broken interfaces.
POST/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/operational/joininterfaces
Request:
{
"targetInterfaces": [
{
"id": "***************ed3-0001-692539698200",
"type": "PhysicalInterface"
}
],
"type": "JoinInterface"
}
Response:
{
"metadata": {
"task": {
"id": "4294970217",
"links": {
"self": "<FMC_IP>/api/fmc_config/v1/domain/e27"***************-8169-6d9ed49b625f/job/taskstatuses/4294970217"
}
}
},
"targetInterfaces": [
{
"id": "***************ed3-0001-692539698200",
"type": "PhysicalInterface"
},
{
"id": "***************ed3-0001-692539698201",
"type": "PhysicalInterface"
},
{
"id": "***************ed3-0001-692539698202",
"type": "PhysicalInterface"
},
{
"id": "***************ed3-0001-692539698203",
"type": "PhysicalInterface"
}
],
"type": "JoinInterface"
}
4. Track the task completion using the task id in join response. Set Task status to “Interface Notification received.”
GET /api/fmc_config/v1/domain/{domainUUID}/job/taskstatuses/{objectId}
Response:
{
"id": "4294970237",
"type": "TaskStatus",
"links": {
"self": "https://u32c01p06-vrouter.cisco.com:22542/api/fmc_config/v1/domain/e276abec-e0f2-11e3-8169-6d9ed49b625f/job/taskstatuses/4294970237"
},
"taskType": "SSP_EPM_OIR",
"message": "Deployment status for 19d967e6-xxxx-xxxx-xxxx-85ff6cef6d3f: SUCCEEDED",
"status": "Interface notification received"
}
5. Get the interfaces changes using chassisinterfaceevents endpoint.
GET /api/fmc_config/v1/domain/{domainUUID}/devices/devicerecords/{containerUUID}/chassisinterfaceevents
Response:
[
{
"change": "Interface is associated",
"type": "PhysicalInterface",
"state": "ASSOCIATED",
"name": "Ethernet2/3"
},
{
"change": "Interface is deleted",
"type": "PhysicalInterface",
"state": "DISASSOCIATED",
"name": "Ethernet2/3/1"
},
{
"change": "Interface is deleted",
"type": "PhysicalInterface",
"state": "DISASSOCIATED",
"name": "Ethernet2/3/2"
},
{
"change": "Interface is deleted",
"type": "PhysicalInterface",
"state": "DISASSOCIATED",
"name": "Ethernet2/3/3"
},
{
"change": "Interface is deleted",
"type": "PhysicalInterface",
"state": "DISASSOCIATED",
"name": "Ethernet2/3/4"
}
]
6. If interface notification is not received, do sync device using chassisinterfaceevents endpoint and check that there are pending changes.
POST /api/fmc_config/v1/domain/{domainUUID}/devices/devicerecords/{containerUUID}/chassisinterfaceevents
Request:
{
"action":"SYNC_WITH_DEVICE"
}
Response:
{
"action":"SYNC_WITH_DEVICE",
"hasPendingChanges":true
}
7. Once the notification is received, accept the changes using chassisinterfaceevents endpoint.
POST /api/fmc_config/v1/domain/{domainUUID}/devices/devicerecords/{containerUUID}/chassisinterfac eevents
Request:
{
"action":"ACCEPT_CHANGES"
}
8. Get all the chassis interfaces and find the joined interfaces as well as the other interfaces using interfaces endpoint.
GET /api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/interfaces
Say Join was initiated on 10G interface say eth2/2/1, then a 40G interface eth2/2 is available in the response.
To support the Sync of Network Module as well as Interfaces, these URLs have been introduced.
POST:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/chassisinterface events
With Payload
{"action": "SYNC_WITH_DEVICE”} - > Triggers the Sync
{"action": "ACCEPT_CHANGES”} - > Accept the Changes
GET:
/api/fmc_config/v1/domain/{domainUUID}/chassis/fmcmanagedchassis/{containerUUID}/chassisinterface events
Lists the generated changed events
If registration fails, these FXOS CLIs can be used to check if sftunnel, sfipproxy processes are up.
firepower# connect local-mgmt
firepower-4215(local-mgmt)# show processes | include sftunnel grep: (standard input): binary file matches
3323 root 20 0 80328 2024 1544 S 0.0 0.0 0:11.53 /opt/cisco/sftunnel/sfipproxy -d –f /etc/sf/sfipproxy.conf
22066 root 20 0 376880 7140 5944 S 0.0 0.0 0:41.18 /opt/cisco/sftunnel/sftunnel -d -f /etc/sf/sftunnel.conf
If using the terminal console for the CLI, ensure the output of show processes is not truncated by setting the terminal width to an appropriate value using this CLI shown:
firepower-4215(local-mgmt)# terminal width 100
If the SFTunnel process is up and running, yet registration is failing, these commands can be used to find any potential reason for failure.
Introduced new CLI in FXOS from connect local-mgmt to view syslog messages in /opt/cisco/platform/logs/sfmessages
firepower# connect local-mgmt
firepower(local-mgmt)# tail-mgmt-log sfmessages
<snip>
Dec 9 18:31:17 firepower Ipc [30483]: add ep: 1,0x5613aa0e2fe8 total = 1
Dec 9 18:31:17 firepower Ipc [30483]: add ep: 1,0x5613aa0ec528 total = 2
Dec 9 18:31:17 firepower Ipc [30483]: add ep: 1,0x5613aa0f5ea8 total = 3
Dec 9 18:31:18 firepower SF-IMS[12621]: [12625] sftunneld:SYNC_PROC [INFO] Change in directory /var/sf/sync detected (0 vs 1670610348)
FMC supports generation of chassis troubleshoot (FPRM) from the device management page.
Chassis troubleshooting options and generating:
Chassis troubleshooting progress and download:
Problem: Auto Registration of Chassis is failing in FMC.
Expected Result:
Actual Result:
1. Check conversion:
firepower# scope sys
firepower /system # show
Systems:
Name Mode Deploy Mode System IP Address System IPv6 Address
---------- ----------- ----------- ----------------- -------------------
firepower Stand Alone Container 192.168.xx.xx ::
2. Check device manager:
firepower# show device-manager
Device manager:
Name: manager
Hostname: 10.10.xx.xx
NAT id: 3ab4bb1a-d723-11ee-a694-89055xxxxxxx
Registration Status: Completed
Error Msg:
3.1. Navigate to /var/opt/CSCOpx/MDC/log/operation/vmssharedsvcs.log and /var/opt/CSCOpx/MDC/log/operation/usmsharedsvcs.log
3.2. Search for the keywords ”NATIVE_TO_MI_CONVERSION" and ”CHASSIS DISCOVERY” in the files to find the reason for failure.
Problem: Auto Registration of Instance is failing in FMC.
Expected Result:
Actual Result:
ps -ef | grep -i "sftunnel”
pmtool restartById sftunnel
Problem: Native Device Registration is failing in FMC after converting the device back to native mode
configure network ipv4 manual 192.168.0.xx 255.255.255.0 192.168.0.1 management1
Revision | Publish Date | Comments |
---|---|---|
1.0 |
29-Oct-2024 |
Initial Release |