Configuring HMM

The Host Mobility Manager (HMM) tracks end-host movement by discovering the end host and propagating the end-host reachability information to the other switches (leaf switches) in the fabric.

This section contains payload examples to demonstrate how to use the NX-API REST API to configure HMM on the Cisco Nexus 3000 and 9000 Series switches.

Enabling BGP EVPN

Enabling BGP EVPN
POST http://<IP_Address>/api/node/mo/sys/fm/evpn.json
{
  "fmEvpn": {
    "attributes": {
      "adminSt": "enabled"
    }
  }
}

This example enables BGP EVPN control plane on the switch.


CLI Command

The CLI command below is the equivalent to the payload example displayed in the pane on the right.

[no] nv overlay evpn

Note: The property information for this example was added in Release 9.3(3).


Verifying a DME Configuration
The following table contains the distinguished name (DN) for each managed object (MO) in the DME payload. Issue a GET request using the DN to verify the configuration was posted or to get information about the configured properties of a particular object.

MODN
fmEvpn sys/fm/evpn


fmEvpn Properties

The following table contains information about the fmEvpn properties in the DME payload. For more information about the properties and MOs, see the NX-API DME Model Reference linked in the Related Documentation section below.

Property NameData TypeDescriptionValues
adminStfm:AdminState
(scalar:Enum8)
Admin statusSELECTION:
1 - enabled
2 - disabled
DEFAULT: disabled


Related Documentation

For other CLI options, see the Cisco Nexus 9000 Series NX-OS Command Reference:

http://www.cisco.com/c/en/us/support/switches/nexus-9000-series-switches/products-command-reference-list.html

See the NX-API DME Model Reference for detailed information about classes and attributes described in the payload:

https://developer.cisco.com/site/nx-os/docs/nexus-model-reference/

For information about using the payloads, see the Cisco Nexus 9000 Series NX-OS Programmability Guide:

https://www.cisco.com/c/en/us/support/switches/nexus-9000-series-switches/products-programming-reference-guides-list.html

Enabling Fabric Forwarding

Enabling Fabric Forwarding
POST http://<IP_Address>/api/node/mo/sys/fm/hmm.json
{
  "fmHmm": {
    "attributes": {
      "adminSt": "enabled"
    }
  }
}

This example enables the fabric forwarding feature.


CLI Command

The CLI command below is the equivalent to the payload example displayed in the pane on the right.

[no] feature fabric forwarding

Note: The property information for this example was added in Release 9.3(3).


Verifying a DME Configuration
The following table contains the distinguished name (DN) for each managed object (MO) in the DME payload. Issue a GET request using the DN to verify the configuration was posted or to get information about the configured properties of a particular object.

MODN
fmHmm sys/fm/hmm


fmHmm Properties

The following table contains information about the fmHmm properties in the DME payload. For more information about the properties and MOs, see the NX-API DME Model Reference linked in the Related Documentation section below.

Property NameData TypeDescriptionValues
adminStfm:AdminState
(scalar:Enum8)
Admin statusSELECTION:
1 - enabled
2 - disabled
DEFAULT: disabled


Related Documentation

For other CLI options, see the Cisco Nexus 9000 Series NX-OS Command Reference:

http://www.cisco.com/c/en/us/support/switches/nexus-9000-series-switches/products-command-reference-list.html

See the NX-API DME Model Reference for detailed information about classes and attributes described in the payload:

https://developer.cisco.com/site/nx-os/docs/nexus-model-reference/

For information about using the payloads, see the Cisco Nexus 9000 Series NX-OS Programmability Guide:

https://www.cisco.com/c/en/us/support/switches/nexus-9000-series-switches/products-programming-reference-guides-list.html

Configuring an AnyCast Gateway

Configuring an AnyCast Gateway
POST http://<IP_Address>/api/node/mo/sys/hmm/fwdinst.json
{
  "hmmFwdInst": {
    "attributes": {
      "amac": "11:22:33:44:55:66",
      "limitVlanMac": "1024"
    }
  }
}

This example configures an Anycast Gateway.


CLI Commands

The CLI commands and options listed below are the equivalent to the payload example displayed in the pane on the right.

[no] fabric forwarding anycast-gateway-mac <mac>
[no] fabric forwarding limit-vlan-mac <max-limit>

Note: The property information for this example was added in Release 9.3(3).


Verifying a DME Configuration
The following table contains the distinguished name (DN) for each managed object (MO) in the DME payload. Issue a GET request using the DN to verify the configuration was posted or to get information about the configured properties of a particular object.

MODN
hmmFwdInst sys/hmm/fwdinst


hmmFwdInst Properties

The following table contains information about the hmmFwdInst properties in the DME payload. For more information about the properties and MOs, see the NX-API DME Model Reference linked in the Related Documentation section below.

Property NameData TypeDescriptionValues
amacaddress:MAC
Anycast Gateway MAC address.Value must match MM:MM:MM:SS:SS:SS format
limitVlanMacscalar:Uint16
This is to limit the number of hosts learnt by HMM in the same subnet with same MAC information.
RANGE: [5 , 2048]
DEFAULT: 2048


Related Documentation

For other CLI options, see the Cisco Nexus 9000 Series NX-OS Command Reference:

http://www.cisco.com/c/en/us/support/switches/nexus-9000-series-switches/products-command-reference-list.html

See the NX-API DME Model Reference for detailed information about classes and attributes described in the payload:

https://developer.cisco.com/site/nx-os/docs/nexus-model-reference/

For information about using the payloads, see the Cisco Nexus 9000 Series NX-OS Programmability Guide:

https://www.cisco.com/c/en/us/support/switches/nexus-9000-series-switches/products-programming-reference-guides-list.html

Enabling Duplicate Detection for IP and MAC Addresses

Enabling Duplicate Detection for IP and MAC Addresses
POST http://<IP_Address>/api/node/mo/sys/hmm/fwdinst/evpn.json
{
  "hmmFwdEvpn": {
    "attributes": {
      "ddHmmoves": "25",
      "ddHnsecs": "180"
    }
  }
}


CLI Commands

The CLI commands and options listed below are the equivalent to the payload example displayed in the pane on the right.

[no] fabric forwarding dup-host-ip-addr-detection <mmoves> <nsecs>
[no] fabric forwarding dup-host-recovery-timer <timeout> recover-count <count>

Note: The property information for this example was added in Release 9.3(3).


Verifying a DME Configuration
The following table contains the distinguished name (DN) for each managed object (MO) in the DME payload. Issue a GET request using the DN to verify the configuration was posted or to get information about the configured properties of a particular object.

MODN
hmmFwdEvpn sys/hmm/fwdinst/evpn


hmmFwdEvpn Properties

The following table contains information about the hmmFwdEvpn properties in the DME payload. For more information about the properties and MOs, see the NX-API DME Model Reference linked in the Related Documentation section below.

Property NameData TypeDescriptionValues
ddHmmovesscalar:Uint16
User Setting to mark a host as duplicate if it does ddHmmoves number of moves.
RANGE: [1 , 1000]
DEFAULT: 5
ddHnsecsscalar:Uint16
User Setting to mark a host as duplicate if it does ddHmmoves moves in ddHnsecs seconds.
RANGE: [2 , 36000]
DEFAULT: 180


Related Documentation

For other CLI options, see the Cisco Nexus 9000 Series NX-OS Command Reference:

http://www.cisco.com/c/en/us/support/switches/nexus-9000-series-switches/products-command-reference-list.html

See the NX-API DME Model Reference for detailed information about classes and attributes described in the payload:

https://developer.cisco.com/site/nx-os/docs/nexus-model-reference/

For information about using the payloads, see the Cisco Nexus 9000 Series NX-OS Programmability Guide:

https://www.cisco.com/c/en/us/support/switches/nexus-9000-series-switches/products-programming-reference-guides-list.html

Creating an SVI as an Anycast Gateway

Creating an SVI as an Anycast Gateway
POST http://<IP_Address>/api/node/mo/sys.json
{
  "topSystem": {
    "children": [
      {
        "interfaceEntity": {
          "children": [
            {
              "sviIf": {
                "attributes": {
                  "id": "vlan10"
}}}]}},
      {
        "hmmEntity": {
          "children": [
            {
              "hmmFwdInst": {
                "children": [
                  {
                    "hmmFwdIf": {
                      "attributes": {
                        "id": "vlan10",
                        "mode": "anycastGW"
}}}]}}]}},
      {
        "fmEntity": {
          "children": [
            {
              "fmInterfaceVlan": {
                "attributes": {
                  "adminSt": "enabled"
}}}]}}]}}

This example enables the VLAN network interface feature, creates an SVI, and associates the SVI with the Anycast Gateway.


CLI Commands

The CLI commands and options listed below are the equivalent to the payload example displayed in the pane on the right.

[no] feature interface-vlan
[no] interface vlan 10
[no] fabric forwarding mode anycast-gateway

Note: The property information for this example was added in Release 9.3(3).


Verifying a DME Configuration
The following table contains the distinguished name (DN) for each managed object (MO) in the DME payload. Issue a GET request using the DN to verify the configuration was posted or to get information about the configured properties of a particular object.

MODN
topSystem sys
interfaceEntity sys/intf
sviIf sys/intf/svi-{[id]}
hmmEntity sys/hmm
hmmFwdInst sys/hmm/fwdinst
hmmFwdIf sys/hmm/fwdinst/if-{[id]}
fmEntity sys/fm
fmInterfaceVlan sys/fm/ifvlan


sviIf Properties

The following table contains information about the sviIf properties in the DME payload. For more information about the properties and MOs, see the NX-API DME Model Reference linked in the Related Documentation section below.

Property NameData TypeDescriptionValues
idnw:IfId
(base:IfIndex)
An identifier .Must match first field in the output of `show intf brief`. Example: Eth1/1 or Vlan100


hmmFwdIf Properties

The following table contains information about the hmmFwdIf properties in the DME payload. For more information about the properties and MOs, see the NX-API DME Model Reference linked in the Related Documentation section below.

Property NameData TypeDescriptionValues
idnw:IfId
(base:IfIndex)
An identifier .Must match first field in the output of `show intf brief`. Example: Eth1/1 or Vlan100
modehmm:FwdMode
(scalar:Enum8)
HMM Fabric Forwarding mode information for the interface.SELECTION:
0 - standard
1 - anycastGW
2 - proxyGW
DEFAULT: standard


fmInterfaceVlan Properties

The following table contains information about the fmInterfaceVlan properties in the DME payload. For more information about the properties and MOs, see the NX-API DME Model Reference linked in the Related Documentation section below.

Property NameData TypeDescriptionValues
adminStfm:AdminState
(scalar:Enum8)
Admin statusSELECTION:
1 - enabled
2 - disabled
DEFAULT: disabled


Related Documentation

For other CLI options, see the Cisco Nexus 9000 Series NX-OS Command Reference:

http://www.cisco.com/c/en/us/support/switches/nexus-9000-series-switches/products-command-reference-list.html

See the NX-API DME Model Reference for detailed information about classes and attributes described in the payload:

https://developer.cisco.com/site/nx-os/docs/nexus-model-reference/

For information about using the payloads, see the Cisco Nexus 9000 Series NX-OS Programmability Guide:

https://www.cisco.com/c/en/us/support/switches/nexus-9000-series-switches/products-programming-reference-guides-list.html

Configuring Fabric Forwarding Protocol

Configuring Fabric Forwarding Protocol 
POST http://<mgmt0_IP>/api/mo/sys/hmm.json
{
  "hmmEntity": {
    "children": [
      {
        "hmmFwdInst": {
          "attributes": {
            "adminDist": "159"
}}}]}}
{
    imdata:[]
}
<System>
  <hmm-items>
    <fwdinst-items>
      <adminDist>159</adminDist>
    </fwdinst-items>
  </hmm-items>
</System>

Note: This example was added in Release 9.3(3).


CLI Commands

The CLI commands are equivalent to the payload examples displayed in the pane on the right. Click the DME tab in the top-left corner of the right pane to view the JSON payload. Click the YANG tab to view the XML payload.

fabric forwarding admin-distance 159


Verifying a DME Configuration

The following table contains the distinguished name (DN) for each managed object (MO) in the DME payload. Issue a GET request using the DN to verify the configuration was posted or to get information about the configured properties of a particular object.

MODN
hmmEntity sys/hmm
hmmFwdInst sys/hmm/fwdinst


hmmFwdInst Properties

The following table contains information about the hmmFwdInst properties in the DME payload. For more information about the properties and MOs, see the NX-API DME Model Reference linked in the Related Documentation section below.

Property NameData TypeDescriptionValues
adminDistscalar:Uint16
Set the administrative distance for HMM
RANGE: [1 , 255]
DEFAULT: 190


Related Documentation

For other CLI options, see the Cisco Nexus 9000 Series NX-OS Command Reference:

http://www.cisco.com/c/en/us/support/switches/nexus-9000-series-switches/products-command-reference-list.html

See the NX-API DME Model Reference for detailed information about classes and attributes described in the payload:

https://developer.cisco.com/site/nx-os/docs/nexus-model-reference/

For information about using the payloads, see the Cisco Nexus 9000 Series NX-OS Programmability Guide:

https://www.cisco.com/c/en/us/support/switches/nexus-9000-series-switches/products-programming-reference-guides-list.html

Deleting Fabric Forwarding Protocol

Deleting Fabric Forwarding Protocol 
POST http://<mgmt0_IP>/api/mo/sys/hmm.json
{
  "hmmEntity": {
    "children": [
      {
        "hmmFwdInst": {
          "attributes": {
            "adminDist": "190"
}}}]}}
{
    imdata:[]
}
<System>
  <hmm-items>
    <fwdinst-items>
      <adminDist>190</adminDist>
    </fwdinst-items>
  </hmm-items>
</System>

Note: This example was added in Release 9.3(3).


CLI Commands

The CLI commands are equivalent to the payload examples displayed in the pane on the right. Click the DME tab in the top-left corner of the right pane to view the JSON payload. Click the YANG tab to view the XML payload.

no fabric forwarding admin-distance 159


Verifying a DME Configuration

The following table contains the distinguished name (DN) for each managed object (MO) in the DME payload. Issue a GET request using the DN to verify the configuration was posted or to get information about the configured properties of a particular object.

MODN
hmmEntity sys/hmm
hmmFwdInst sys/hmm/fwdinst


hmmFwdInst Properties

The following table contains information about the hmmFwdInst properties in the DME payload. For more information about the properties and MOs, see the NX-API DME Model Reference linked in the Related Documentation section below.

Property NameData TypeDescriptionValues
adminDistscalar:Uint16
Set the administrative distance for HMM
RANGE: [1 , 255]
DEFAULT: 190


Related Documentation

For other CLI options, see the Cisco Nexus 9000 Series NX-OS Command Reference:

http://www.cisco.com/c/en/us/support/switches/nexus-9000-series-switches/products-command-reference-list.html

See the NX-API DME Model Reference for detailed information about classes and attributes described in the payload:

https://developer.cisco.com/site/nx-os/docs/nexus-model-reference/

For information about using the payloads, see the Cisco Nexus 9000 Series NX-OS Programmability Guide:

https://www.cisco.com/c/en/us/support/switches/nexus-9000-series-switches/products-programming-reference-guides-list.html