Configuring an IPv4 Multicast Address Family

This section uses IPv4 multicast examples to demonstrate many of the BGP configuration options and to show how the REST APIs correspond to the CLI commands.

Applying a Route Map to a Network Prefix

Applying a Route Map to a Network Prefix
POST http://<mgmt0_IP>/api/mo/sys/bgp.json
{
  "bgpEntity": {
    "children": [
      {
        "bgpInst": {
          "attributes": {
            "asn": "123"
          },
          "children": [
            {
              "bgpDom": {
                "attributes": {
                  "name": "default"
                },
                "children": [
                  {
                    "bgpDomAf": {
                      "attributes": {
                        "type": "ipv4-mcast"
                      },
                      "children": [
                        {
                          "bgpAdvPrefix": {
                            "attributes": {
                              "addr": "0.0.0.0/2",
                              "rtMap": "Map_1"
}}}]}}]}}]}}]}}
{
    imdata:[]
}
<System>
  <bgp-items>
    <inst-items>
      <asn>123</asn>
      <dom-items>
        <Dom-list>
          <name>default</name>
          <af-items>
            <DomAf-list>
              <type>ipv4-mcast</type>
              <prefix-items>
                <AdvPrefix-list>
                  <addr>0.0.0.0/2</addr>
                  <rtMap>Map_1</rtMap>
                </AdvPrefix-list>
              </prefix-items>
            </DomAf-list>
          </af-items>
        </Dom-list>
      </dom-items>
    </inst-items>
  </bgp-items>
</System>

Note: This example was added in Release 7.0(3)I7(2).


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.

router bgp 123
 address-family ipv4 multicast
  network 1.2.3.4/2 route-map Map_1

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/media/dme/index.html

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

Applying an AS-PATH Filter List to Incoming Routes

Applying an AS-PATH Filter List to Incoming Routes
POST http://<mgmt0_IP>/api/mo/sys.json
{
  "topSystem": {
    "children": [
      {
        "rpmEntity": {
          "children": [
            {
              "rtlistRule": {
                "attributes": {
                  "name": "List_A"
                },
                "children": [
                  {
                    "rtlistEntry": {
                      "attributes": {
                        "action": "permit",
                        "order": "10",
                        "regex": "1"
}}}]}}]}},{
"bgpEntity": {
  "children": [
    {
      "bgpInst": {
        "attributes": {
          "asn": "123"
        },
        "children": [
          {
            "bgpDom": {
              "attributes": {
                "name": "default"
              },
              "children": [
                {
                  "bgpPeer": {
                    "attributes": {
                      "addr": "1.2.3.4",
                      "inheritContPeerCtrl": ""
                    },
                    "children": [
                      {
                        "bgpPeerAf": {
                          "attributes": {
                            "inheritContPeerPolicyCtrl": "",
                            "type": "ipv4-mcast"
                          },
                          "children": [
                            {
                              "bgpFltrCtrlP": {
                                "attributes": {
                                  "direction": "in",
                                  "list": "List_A"
}}}]}}]}}]}}]}}]}}]}}
{
    imdata:[]
}
<System>
  <rpm-items>
    <accesslist-items>
      <Rule-list>
        <name>List_A</name>
        <ent-items>
          <Entry-list>
            <order>10</order>
            <action>permit</action>
            <regex>1</regex>
          </Entry-list>
        </ent-items>
      </Rule-list>
    </accesslist-items>
  </rpm-items>
  <bgp-items>
    <inst-items>
      <asn>123</asn>
      <dom-items>
        <Dom-list>
          <name>default</name>
          <peer-items>
            <Peer-list>
              <addr>1.2.3.4</addr>
              <inheritContPeerCtrl></inheritContPeerCtrl>
              <af-items>
                <PeerAf-list>
                  <type>ipv4-mcast</type>
                  <inheritContPeerPolicyCtrl></inheritContPeerPolicyCtrl>
                  <fltrctrl-items>
                    <FltrCtrlP-list>
                      <direction>in</direction>
                      <list>List_A</list>
                    </FltrCtrlP-list>
                  </fltrctrl-items>
                </PeerAf-list>
              </af-items>
            </Peer-list>
          </peer-items>
        </Dom-list>
      </dom-items>
    </inst-items>
  </bgp-items>
</System>

Note: This example was added in Release 7.0(3)I7(2).


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.

ip as-path access-list List_A seq 10 permit 1
router bgp 123
 neighbor 1.2.3.4
  address-family ipv4 multicast
   filter-list List_A in

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/media/dme/index.html

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

Applying an AS-PATH Filter List to Outgoing Routes

Applying an AS-PATH Filter List to Outgoing Routes
POST http://<mgmt0_IP>/api/mo/sys.json
{
  "topSystem": {
    "children": [
      {
        "rpmEntity": {
          "children": [
            {
              "rtlistRule": {
                "attributes": {
                  "name": "List_A"
                },
                "children": [
                  {
                    "rtlistEntry": {
                      "attributes": {
                        "action": "permit",
                        "order": "10",
                        "regex": "1"
}}}]}}]}},{
"bgpEntity": {
  "children": [
    {
      "bgpInst": {
        "attributes": {
          "asn": "123"
        },
        "children": [
          {
            "bgpDom": {
              "attributes": {
                "name": "default"
              },
              "children": [
                {
                  "bgpPeer": {
                    "attributes": {
                      "addr": "1.2.3.4",
                      "inheritContPeerCtrl": ""
                    },
                    "children": [
                      {
                        "bgpPeerAf": {
                          "attributes": {
                            "inheritContPeerPolicyCtrl": "",
                            "type": "ipv4-mcast"
                          },
                          "children": [
                            {
                              "bgpFltrCtrlP": {
                                "attributes": {
                                  "direction": "out",
                                  "list": "List_A"
}}}]}}]}}]}}]}}]}}]}}
{
    imdata:[]
}
<System>
  <rpm-items>
    <accesslist-items>
      <Rule-list>
        <name>List_A</name>
        <ent-items>
          <Entry-list>
            <order>10</order>
            <action>permit</action>
            <regex>1</regex>
          </Entry-list>
        </ent-items>
      </Rule-list>
    </accesslist-items>
  </rpm-items>
  <bgp-items>
    <inst-items>
      <asn>123</asn>
      <dom-items>
        <Dom-list>
          <name>default</name>
          <peer-items>
            <Peer-list>
              <addr>1.2.3.4</addr>
              <inheritContPeerCtrl></inheritContPeerCtrl>
              <af-items>
                <PeerAf-list>
                  <type>ipv4-mcast</type>
                  <inheritContPeerPolicyCtrl></inheritContPeerPolicyCtrl>
                  <fltrctrl-items>
                    <FltrCtrlP-list>
                      <direction>out</direction>
                      <list>List_A</list>
                    </FltrCtrlP-list>
                  </fltrctrl-items>
                </PeerAf-list>
              </af-items>
            </Peer-list>
          </peer-items>
        </Dom-list>
      </dom-items>
    </inst-items>
  </bgp-items>
</System>

Note: This example was added in Release 7.0(3)I7(2).


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.

ip as-path access-list List_A seq 10 permit 1
router bgp 123
 neighbor 1.2.3.4
  address-family ipv4 multicast
   filter-list List_A out

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/media/dme/index.html

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

Applying a Prefix List to Incoming Routes

Applying a Prefix List to Incoming Routes
POST http://<mgmt0_IP>/api/mo/sys.json
{
  "topSystem": {
    "children": [
      {
        "rpmEntity": {
          "children": [
            {
              "rtpfxRuleV4": {
                "attributes": {
                  "name": "List_1"
                },
                "children": [
                  {
                    "rtpfxEntry": {
                      "attributes": {
                        "action": "permit",
                        "criteria": "exact",
                        "fromPfxLen": "0",
                        "order": "10",
                        "pfx": "4.3.2.1/3",
                        "toPfxLen": "0"
}}}]}}]}},{
"bgpEntity": {
  "children": [
    {
      "bgpInst": {
        "attributes": {
          "asn": "123"
        },
        "children": [
          {
            "bgpDom": {
              "attributes": {
                "name": "default"
              },
              "children": [
                {
                  "bgpPeer": {
                    "attributes": {
                      "addr": "1.2.3.4",
                      "inheritContPeerCtrl": ""
                    },
                    "children": [
                      {
                        "bgpPeerAf": {
                          "attributes": {
                            "inheritContPeerPolicyCtrl": "",
                            "type": "ipv4-mcast"
                          },
                          "children": [
                            {
                              "bgpPfxCtrlP": {
                                "attributes": {
                                  "direction": "in",
                                  "list": "List_1"
}}}]}}]}}]}}]}}]}}]}}
{
    imdata:[]
}
<System>
  <rpm-items>
    <pfxlistv4-items>
      <RuleV4-list>
        <name>List_1</name>
        <ent-items>
          <Entry-list>
            <order>10</order>
            <action>permit</action>
            <criteria>exact</criteria>
            <fromPfxLen>0</fromPfxLen>
            <pfx>4.3.2.1/3</pfx>
            <toPfxLen>0</toPfxLen>
          </Entry-list>
        </ent-items>
      </RuleV4-list>
    </pfxlistv4-items>
  </rpm-items>
  <bgp-items>
    <inst-items>
      <asn>123</asn>
      <dom-items>
        <Dom-list>
          <name>default</name>
          <peer-items>
            <Peer-list>
              <addr>1.2.3.4</addr>
              <inheritContPeerCtrl></inheritContPeerCtrl>
              <af-items>
                <PeerAf-list>
                  <type>ipv4-mcast</type>
                  <inheritContPeerPolicyCtrl></inheritContPeerPolicyCtrl>
                  <pfxctrl-items>
                    <PfxCtrlP-list>
                      <direction>in</direction>
                      <list>List_1</list>
                    </PfxCtrlP-list>
                  </pfxctrl-items>
                </PeerAf-list>
              </af-items>
            </Peer-list>
          </peer-items>
        </Dom-list>
      </dom-items>
    </inst-items>
  </bgp-items>
</System>

Note: This example was added in Release 7.0(3)I7(2).


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.

ip prefix-list List_1 seq 10 permit 4.3.2.1/3
router bgp 123
 neighbor 1.2.3.4
  address-family ipv4 multicast
   prefix-list List_1 in

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/media/dme/index.html

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

Applying a Prefix List to Outgoing Routes

Applying a Prefix List to Outgoing Routes
POST http://<mgmt0_IP>/api/mo/sys.json
{
  "topSystem": {
    "children": [
      {
        "rpmEntity": {
          "children": [
            {
              "rtpfxRuleV4": {
                "attributes": {
                  "name": "List_1"
                },
                "children": [
                  {
                    "rtpfxEntry": {
                      "attributes": {
                        "action": "permit",
                        "criteria": "exact",
                        "fromPfxLen": "0",
                        "order": "10",
                        "pfx": "4.3.2.1/3",
                        "toPfxLen": "0"
}}}]}}]}},{
"bgpEntity": {
  "children": [
    {
      "bgpInst": {
        "attributes": {
          "asn": "123"
        },
        "children": [
          {
            "bgpDom": {
              "attributes": {
                "name": "default"
              },
              "children": [
                {
                  "bgpPeer": {
                    "attributes": {
                      "addr": "1.2.3.4",
                      "inheritContPeerCtrl": ""
                    },
                    "children": [
                      {
                        "bgpPeerAf": {
                          "attributes": {
                            "inheritContPeerPolicyCtrl": "",
                            "type": "ipv4-mcast"
                          },
                          "children": [
                            {
                              "bgpPfxCtrlP": {
                                "attributes": {
                                  "direction": "out",
                                  "list": "List_1"
}}}]}}]}}]}}]}}]}}]}}
{
    imdata:[]
}
<System>
  <rpm-items>
    <pfxlistv4-items>
      <RuleV4-list>
        <name>List_1</name>
        <ent-items>
          <Entry-list>
            <order>10</order>
            <action>permit</action>
            <criteria>exact</criteria>
            <fromPfxLen>0</fromPfxLen>
            <pfx>4.3.2.1/3</pfx>
            <toPfxLen>0</toPfxLen>
          </Entry-list>
        </ent-items>
      </RuleV4-list>
    </pfxlistv4-items>
  </rpm-items>
  <bgp-items>
    <inst-items>
      <asn>123</asn>
      <dom-items>
        <Dom-list>
          <name>default</name>
          <peer-items>
            <Peer-list>
              <addr>1.2.3.4</addr>
              <inheritContPeerCtrl></inheritContPeerCtrl>
              <af-items>
                <PeerAf-list>
                  <type>ipv4-mcast</type>
                  <inheritContPeerPolicyCtrl></inheritContPeerPolicyCtrl>
                  <pfxctrl-items>
                    <PfxCtrlP-list>
                      <direction>out</direction>
                      <list>List_1</list>
                    </PfxCtrlP-list>
                  </pfxctrl-items>
                </PeerAf-list>
              </af-items>
            </Peer-list>
          </peer-items>
        </Dom-list>
      </dom-items>
    </inst-items>
  </bgp-items>
</System>

Note: This example was added in Release 7.0(3)I7(2).


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.

ip prefix-list List_1 seq 10 permit 4.3.2.1/3
router bgp 123
 neighbor 1.2.3.4
  address-family ipv4 multicast
   prefix-list List_1 out

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/media/dme/index.html

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