VXLAN and VXLAN Tunnel Endpoints (VTEP)

A Virtual Extensible Local Area Network (VXLAN) can be configured and modified. Note that only loopback and virtual Ethernet (VE) interfaces can be configured as VXLAN tunnel endpoints (VTEPs). Failure-detection or VTEP tunnel monitoring can also be configured.

Note: RESTCONF for VXLAN is not supported for ICX 8200 devices.

Supported HTTP Operations

The following HTTP operations are supported for the overlay-gateway command.

GET method

URL: https://<host>/restconf/data/vxlan/vxlan-tunnel/abcde
Request body: None
Response body:{
    "icx-openconfig-vxlan:vxlan-tunnel": [
        {
            "vxlan-tunnel-name": "abcde"
        }
    ]
}

PATCH method

URL: https://<host>/restconf/data/vxlan
Request body:
 {
    "icx-openconfig-vxlan:vxlan": {
        "vxlan-tunnel": [
            {
                "vxlan-tunnel-name": "abcde"
            }     
        ]
    }
}
Response body: None    

POST method

URL: https://<host>/restconf/data/vxlan
Request body:
   {
        "vxlan-tunnel": [
            {
                "vxlan-tunnel-name": "abcde"
            }
        ]
}
Response body: None    

DELETE

URL: https://<host>/restconf/data/vxlan/vxlan-tunnel/abcde
Request body: None    
Response body: None    

The following HTTP operations are supported for the overlay gateway type VXLAN.

GET method

URL: https://<host>/restconf/data/vxlan/vxlan-tunnel/abcde/type
Request body: None
Response body: {
    "icx-openconfig-vxlan:type": "layer2-extension"
}

PATCH method

URL: https://<host>/restconf/data/vxlan
Request body: {
    "icx-openconfig-vxlan:vxlan": {
        "vxlan-tunnel": [
            {
                "vxlan-tunnel-name": "abcde",
                "type": "layer2-extension"
            }     
        ]
    }
}
Response body: None

POST method

URL: https://<host>/restconf/data/vxlan/vxlan-tunnel/abcde
Request body: 
{
    "icx-openconfig-vxlan:type": "layer2-extension"
}
Response body: None

DELETE

URL: https://<host>/restconf/data/vxlan/vxlan-tunnel/abcde/type
Request body: None    
Response body: None    

The following HTTP operations are supported for the vxlan-tunnel-interface command.

GET method

URL: https://<host>/restconf/data/vxlan/vxlan-tunnel/black/vxlan-tunnel-interface
Request body: None
Response body: {
    "icx-openconfig-vxlan:vxlan-tunnel-interface": "loopback 1"
}

PATCH method

URL: https://<host>/restconf/data/vxlan
Request body: {
    "icx-openconfig-vxlan:vxlan": {
        "vxlan-tunnel": [
            {
                "vxlan-tunnel-name": "abcde",
                "vxlan-tunnel-interface": "loopback 1"  
            }     
        ]
    }
}
Response body: None

POST method

URL: https://<host>/restconf/data/vxlan/vxlan-tunnel/abcde
Request body: 
{
                "vxlan-tunnel-interface": "loopback 1"  
}
Response body: None

DELETE

URL: https://<host>/restconf/data/vxlan/vxlan-tunnel/abcde/vxlan-tunnel-interface
Request body: None    
Response body: None    

The following HTTP operations are supported for the vxlan-vni mapping.

GET method

URL: https://<host>/restconf/data/vxlan/vxlan-tunnel/abcde/vxlan-instances/1123
Request body: None
Response body: {
    "icx-openconfig-vxlan:vxlan-instances": [
        {
            "vxlan-id": 1123,
            "vlan-list": [
                {
                    "vlan-id": 4
                }
            ]
        }
    ]
}

PATCH method

URL: https://<host>/restconf/data/vxlan
Request body: {
    "icx-openconfig-vxlan:vxlan": {
        "vxlan-tunnel": [
            {
                "vxlan-tunnel-name": "abcde",
                "vxlan-instances": [
                    {
                        "vxlan-id": 1123,
                        "vlan-list": [
                            {
                                "vlan-id": 4
                            }
                        ]
                    }
                ]
            }
        ]
    }
}
Response body: None

POST method

URL: https://<host>/restconf/data/vxlan/vxlan-tunnel/abcde
Request body: 
{
                "vxlan-instances": [
                    {
                        "vxlan-id": 1123,
                        "vlan-list": [
                            {
                                "vlan-id": 4
                            }
                        ]
                    }
                            ]        
                                }
Response body: None

DELETE

URL: https://<host>/restconf/data/vxlan/vxlan-tunnel/abcde/vxlan-instances/11090/vlan-list/4 
Request body: None    
Response body: None    

The following HTTP operations are supported for the name of the site you want to connect.

GET method

URL: https://<host>/restconf/data/vxlan/vxlan-tunnel/abcde/vtep-instances
Request body: None
Response body: {
    "icx-openconfig-vxlan:vtep-instances": [
        {
            "vtep-name": "xyx"
        }
    ]
}

PATCH method

URL: https://<host>/restconf/data/vxlan
Request body: {
    "icx-openconfig-vxlan:vxlan": {
        "vxlan-tunnel": [
            {
                "vxlan-tunnel-name": "abcde",
                "vtep-instances": [
                    {
                        "vtep-name": "cal"
                        
                    }
                ]
            }
        ]
    }
}
Response body: None

POST method

URL: https://<host>/restconf/data/vxlan/vxlan-tunnel/abcde
Request body: 
{
    
                "vtep-instances": [
                    {
                        "vtep-name": "cal"
                        
                    }
                ]
            }
Response body: None

DELETE

URL: https://<host>/restconf/data/vxlan/vxlan-tunnel/abcde/vtep-instances/cal
Request body: None    
Response body: None    

The following HTTP operations are supported for the IP address of the site.

GET method

URL: https://<host>/restconf/data/vxlan/vxlan-tunnel/abcde/vtep-instances/cal/vtep-ip
Request body: None
Response body: {
    "icx-openconfig-vxlan:vtep-ip": "1.1.1.1"
}

PATCH method

URL: https://<host>/restconf/data/vxlan
Request body: {
    "icx-openconfig-vxlan:vxlan": {
        "vxlan-tunnel": [
            {
                "vxlan-tunnel-name": "abcde",
                "vtep-instances": [
                    {
                        "vtep-name": "cal",
                        "vtep-ip": "1.1.1.1"    
                    }
                ]
            }
        ]
    }
}
Response body: None

POST method

URL: https://<host>/restconf/data/vxlan/vxlan-tunnel/abcde/vtep-instances/cal
Request body: {
      "vtep-ip": "1.1.1.1"    
}
Response body: None

DELETE

URL: https://<host>/restconf/data/vxlan/vxlan-tunnel/abcde/vtep-instances/cal/vtep-ip
Request body: None    
Response body: None    

The following HTTP operations are supported for the VLAN that you want to extend to this site.

GET method

URL:  https://<host>/restconf/data/vxlan/vxlan-tunnel/abcde/vtep-instances/cal/extend-vlan-id-list
Request body: None
Response body: {
    "icx-openconfig-vxlan:extend-vlan-id-list": [
        {
            "extend-vlan-id": 4
        }
    ]
}

PATCH method

URL: https://<host>/restconf/data/vxlan
Request body: {
    "icx-openconfig-vxlan:vxlan": {
        "vxlan-tunnel": [
            {
                "vxlan-tunnel-name": "abcde",
                "vtep-instances": [
                    {
                        "vtep-name": "cal",
                         "extend-vlan-id-list": [
                            {
                                "extend-vlan-id": 4
                            }
                        ] 
                    }
                ]
            }
        ]
    }
}
Response body: None

POST method

URL: https://<host>/restconf/data/vxlan/vxlan-tunnel/abcde/vtep-instances/cal
Request body: {
                         "extend-vlan-id-list": [
                            {
                                "extend-vlan-id": 4
                            }
                        ] 
                    }
Response body: None

DELETE

URL: https://<host>/restconf/data/vxlan/vxlan-tunnel/abcde/vtep-instances/cal/extend-vlan-id-list/4
Request body: None    
Response body: None    

The following HTTP operations are supported for the secondary IP address or the secondary index of the site (1 to 15).

GET method

URL: https://<host>/restconf/data/vxlan/vxlan-tunnel/abcde/vtep-instances/cal/secondary
Request body: None
Response body: {
    "icx-openconfig-vxlan:secondary": [
        {
            "secondary-index": 3,
            "secondary-ip": "2.3.4.5"
        }
    ]
}

PATCH method

URL: https://<host>/restconf/data/vxlan
Request body: {
    "icx-openconfig-vxlan:vxlan": {
        "vxlan-tunnel": [
            {
                "vxlan-tunnel-name": "abcde",
                "vtep-instances": [
                    {
                        "vtep-name": "cal",
                         "secondary": [
                            {
                                "secondary-index": 1,
                                "secondary-ip": "2.2.2.2"
                            }
                        ] 
                    }
                ]
            }
        ]
    }
}
Response body: None

POST method

URL: https://<host>/restconf/data/vxlan/vxlan-tunnel/abcde/vtep-instances/cal
Request body: {
                         "secondary": [
                            {
                                "secondary-index": 1,
                                "secondary-ip": "2.2.2.2"
                            }
                        ]   
}
Response body: None

DELETE

URL: https://<host>/restconf/data/vxlan/vxlan-tunnel/abcde/vtep-instances/cal/secondary/3/2.3.4.5
Request body: None    
Response body: None  

The following HTTP operations are supported for the failure-detection or the VTEP tunnel monitor setting.

GET method

URL: https://<host>/restconf/data/vxlan/vxlan-tunnel/abcde/vtep-instances/cal/failure-detection
Request body: None
Response body: {
    "icx-openconfig-vxlan:failure-detection": {
        "keep-alive": 3,
        "retry": 4
    }
}

PATCH method

URL: https://<host>/restconf/data/vxlan
Request body: {
    "icx-openconfig-vxlan:vxlan": {
        "vxlan-tunnel": [
            {
                "vxlan-tunnel-name": "abcde",
                "vtep-instances": [
                    {
                        "vtep-name": "cal",
                        "failure-detection": {
                            "keep-alive": 2,
                            "retry": 3
                        }
                    }
                ]
            }
        ]
    }
}
Response body: None

POST method

URL: https://<host>/restconf/data/vxlan/vxlan-tunnel/abcde/vtep-instances/cal
Request body: { 
                        "failure-detection": {
                            "keep-alive": 2,
                            "retry": 3
                        }
     
}
Response body: None

DELETE

URL: https://<host>/restconf/data/vxlan/vxlan-tunnel/abcde/vtep-instances/cal/failure-detection
Request body: None    
Response body: None

The following HTTP operations are supported for the VXLAN segment ID.

GET method

URL: https://10.177.112.16/restconf/data/vxlan/vxlan-tunnel/green/vxlan-instances/11090
Request body: None
Response body: {
    "icx-openconfig-vxlan:vxlan-instances": [
        {
            "vxlan-id": 11090,
            "vlan-list": [
                {
                    "vlan-id": 4
                }
            ]
        }
    ]
}

DELETE

URL: https://<host>/restconf/data/vxlan/vxlan-tunnel/abcde/vxlan-instances/11090
Request body: None    
Response body: None

The following HTTP operations are supported for the overlay-gateway complete.

GET method

URL: https://<host>/restconf/data/vxlan
Request body: None
Response body: {
    "icx-openconfig-vxlan:vxlan": {
        "vxlan-tunnel": [
            {
                "vxlan-tunnel-name": "abcde",
                "type": "layer2-extension",
                "vxlan-instances": [
                    {
                        "vxlan-id": 11090,
                        "vlan-list": [
                            {
                                "vlan-id": 4
                            }
                        ]
                    }
                ],
                "vtep-instances": [
                    {
                        "vtep-name": "cal",
                        "vtep-ip": "1.1.1.1",
                        "extend-vlan-id-list": [
                            {
                                "extend-vlan-id": 4
                            }
                        ],
                        "secondary": [
                            {
                                "secondary-index": 1,
                                "secondary-ip": "2.2.2.2"
                            }
                        ],
                        "failure-detection": {
                            "keep-alive": 2,
                            "retry": 3
                        }
                    }
                ]
            }
        ]
    }
}

PATCH method

URL: https://<host>/restconf/data/vxlan
Request body: {
    "icx-openconfig-vxlan:vxlan": {
        "vxlan-tunnel": [
            {
                "vxlan-tunnel-name": "abcde",
                "type": "layer2-extension",
                "vxlan-tunnel-interface": "loopback 1",
                "vxlan-instances": [
                    {
                        "vxlan-id": 11090,
                        "vlan-list": [
                            {
                                "vlan-id": 4
                            }
                        ]
                    }
                ],
                "vtep-instances": [
                    {
                        "vtep-name": "cal",
                        "vtep-ip": "1.1.1.1",
                        "extend-vlan-id-list": [
                            {
                                "extend-vlan-id": 4
                            }
                        ],
                        "secondary": [
                            {
                                "secondary-index": 1,
                                "secondary-ip": "2.2.2.2"
                            }
                        ],
                        "failure-detection": {
                            "keep-alive": 2,
                            "retry": 3
                        }
                    }
                ]
            }
        ]
    }
}
Response body: None

POST method

URL: https://<host>/restconf/data/vxlan
Request body: {
        "vxlan-tunnel": [
            {
                "vxlan-tunnel-name": "abcde",
                "type": "layer2-extension",
                "vxlan-tunnel-interface": "loopback 1",
                "vxlan-instances": [
                    {
                        "vxlan-id": 11090,
                        "vlan-list": [
                            {
                                "vlan-id": 4
                            }
                        ]
                    }
                ],
                "vtep-instances": [
                    {
                        "vtep-name": "cal",
                        "vtep-ip": "1.1.1.1",
                        "extend-vlan-id-list": [
                            {
                                "extend-vlan-id": 4
                            }
                        ],
                        "secondary": [
                            {
                                "secondary-index": 1,
                                "secondary-ip": "2.2.2.2"
                            }
                        ],
                        "failure-detection": {
                            "keep-alive": 2,
                            "retry": 3
                        }
                    }
                ]
            }
        ]
}

Response body: None

DELETE

URL: https://<host>/restconf/data/vxlan/vxlan-tunnel/abcde
Request body: None    
Response body: None

The following HTTP operations are supported for the loopback interface.

GET method

URL: https://<host>/restconf/data/interfaces/interface/loopback 2
Request body: None
Response body: {

    "openconfig-interfaces:interface": [
        {
            "name": "loopback 2",
            "config": {
                "name": "loopback 2",
                "type": "iana-if-type:softwareLoopback"
            },
            "state": {
                "name": "loopback2",
                "type": "iana-if-type:ethernetCsmacd",
                "description": "",
                "enabled": true,
                "ifindex": 33554434,
                "admin-status": "UP",
                "oper-status": "UP",
                "counters": {
                    "in-octets": "0",
                    "in-pkts": "0",
                    "in-unicast-pkts": "0",
                    "in-broadcast-pkts": "0",
                    "in-multicast-pkts": "0",
                    "in-discards": "0",
                    "in-errors": "0",
                    "in-unknown-protos": "0",
                    "in-fcs-errors": "0",
                    "out-octets": "0",
                    "out-pkts": "0",
                    "out-unicast-pkts": "0",
                    "out-broadcast-pkts": "0",
                    "out-multicast-pkts": "0",
                    "out-discards": "0",
                    "out-errors": "0"
                }
            },
            "subinterfaces": {}
        }
    ]
}

PATCH method

URL: https://<host>/restconf/data/interfaces
Request body: {
    "interfaces": {
        "interface": [
            {
                "name": "loopback 2",
                "config": {
                    "name": "loopback 2",
                    "type": "iana-if-type:softwareLoopback"
                }
            }
        ]
    }
}

Response body: None

POST method

URL: https://<host>/restconf/data/interfaces
Request body: {
        "interface": [
            {
                "name": "loopback 3",
                "config": {
                    "name": "loopback 3",
                    "type": "iana-if-type:softwareLoopback"
                }
            }
        ]
}

Response body: None

DELETE

URL: https://<host>/restconf/data/interfaces/interface/loopback 2
Request body: None    
Response body: None

The following HTTP operations are supported for the IP address to loopback interface.

GET method

URL: https://<host>/restconf/data/interfaces/interface/loopback 2/
     subinterfaces/subinterface/0/ipv4/addresses/address
Request body: None
Response body: {
    "openconfig-if-ip:address": [
        {
            "ip": "36.1.1.1",
            "config": {
                "ip": "36.1.1.1",
                "prefix-length": 25
            }
        }
    ]
}

PATCH method

URL: https://<host>/restconf/data/interfaces/interface/loopback 2/subinterfaces
Request body: {
    "subinterfaces": {
        "subinterface": [
            {
                "index": 0,
                "config": {
                    "index": 0                 },
                "openconfig-if-ip:ipv4": {
                    "addresses": {
                        "address": [
                            {
                                "ip": "37.1.1.1",
                                "config": {
                                    "ip": "37.1.1.1",
                                    "prefix-length": 25
                                }
                            }
                        ]
                    }
                }
            }
        ]
    }
}
Response body: None

POST method

URL: https://<host>/restconf/data/interfaces/interface/loopback 2/subinterfaces
Request body: {
    "subinterface": [
        {
            "index": 0,
            "config": {
                "index": 0
            },
            "openconfig-if-ip:ipv4": {
                "addresses": {
                    "address": [
                        {
                            "ip": "36.1.1.1",
                            "config": {
                                "ip": "36.1.1.1",
                                "prefix-length": 25
                            }
                        }
                    ]
                }
            }
        }
    ]
}

Response body: None

DELETE

URL: https://<host>/restconf/data/interfaces/interface/loopback 2/
     subinterfaces/subinterface/0/ipv4/addresses/address/36.1.1.1
Request body: None    
Response body: None

The following HTTP operations are supported for the loopback interface with IP address.

GET method

URL: https://<host>/restconf/data/interfaces/interface/loopback 2
Request body: None
Response body: {
 "openconfig-interfaces:interface": [
 {
 "name": "loopback 2",
 "config": {
 "name": "loopback 2",
 "type": "iana-if-type:softwareLoopback"
 },
 "state": {
 "name": "loopback2",
 "type": "iana-if-type:ethernetCsmacd",
 "description": "",
 "enabled": true,
 "ifindex": 33554434,
 "admin-status": "UP",
 "oper-status": "UP",
 "counters": {
 "in-octets": "0",
 "in-pkts": "0",
 "in-unicast-pkts": "0",
 "in-broadcast-pkts": "0",
 "in-multicast-pkts": "0",
 "in-discards": "0",
 "in-errors": "0",
 "in-unknown-protos": "0",
 "in-fcs-errors": "0",
 "out-octets": "0",
 "out-pkts": "0",
 "out-unicast-pkts": "0",
 "out-broadcast-pkts": "0",
 "out-multicast-pkts": "0",
 "out-discards": "0",
 "out-errors": "0"
 }
 },
 "subinterfaces": {
 "subinterface": [
 {
 "index": 0,
 "config": {
 "index": 0
 },
 "openconfig-if-ip:ipv4": {
 "addresses": {
 "address": [
 {
 "ip": "36.1.1.1",
 "config": {
 "ip": "36.1.1.1",
 "prefix-length": 25
 }
 }
 ]
 }
 },
 "openconfig-if-ip:ipv6": {
 "addresses": {},
 "router-advertisement": {
 "state": {}
 },
 "neighbors": {},
 "unnumbered": {
 "state": {},
 "interface-ref": {
 "state": {}
 }
 },
 "state": {
 "counters": {}
 }
 }
 }
 ]
 }
 }
 ]
}

PATCH method

URL: https://<host>/restconf/data/interfaces
Request body: {
      "interfaces": { 
  "interface": [
    {
      "name": "loopback 4",
      "config": {
        "name": "loopback 4",
        "type": "iana-if-type:softwareLoopback"
      },
      "subinterfaces": {
        "subinterface": [
          {
            "index": 0,
            "config": {
              "index": 0
            },
            "openconfig-if-ip:ipv4": {
              "addresses": {
                "address": [
                  {
                    "ip": "33.1.1.1",
                    "config": {
                      "ip": "33.1.1.1",
                      "prefix-length": 25
                    }
                  }
                ]
              }
            }
          }
        ]
      }
    }
  ]
      }
}

Response body: None

POST method

URL: https://<host>/restconf/data/interfaces
Request body: {
  "interface": [
    {
      "name": "loopback 3",
      "config": {
        "name": "loopback 3",
        "type": "iana-if-type:softwareLoopback"
      },
      "subinterfaces": {
        "subinterface": [
          {
            "index": 0,
            "config": {
              "index": 0
            },
            "openconfig-if-ip:ipv4": {
              "addresses": {
                "address": [
                  {
                    "ip": "36.1.1.1",
                    "config": {
                      "ip": "36.1.1.1",
                      "prefix-length": 25
                    }
                  }
                ]
              }
            }
          }
        ]
      }
    }
  ]
}

Response body: None

DELETE

URL: https://<host>/restconf/data/interfaces/interface/loopback 2
Request body: None    
Response body: None