网络数据链路命令可用于管理设备上的数据链路。您可以列出、修改、创建和删除数据链路资源。
|
|
|
|
|
|
列出设备上的所有已配置数据链路。数据链路列表中的各个对象都包含用于获取单个数据链路资源的相关操作的 href 属性以及数据链路属性。
请求示例:
GET /api/network/v1/datalinks HTTP/1.1 Host: zfs-storage.example.com Accept: application/json
JSON 数据示例:
{ "datalinks": [{ "href": "/api/network/v1/datalinks/ixgbe0", ... }, { "href": "/api/network/v1/datalinks/ixgbe1", ... }, { "href": "/api/network/v1/datalinks/ixgbe2", ... }, { "href": "/api/network/v1/datalinks/ixgbe3", ... }] }
GET 方法返回一个 JSON 对象,其中包含数据链路属性以及数据链路对象的列表。
GET /api/network/v1/datalinks/ixgbe0 HTTP/1.1 Host: zfs-storage.example.com Accept: application/json
JSON 数据示例:
{ "datalink": { "class": "device", "datalink": "ixgbe0", "duplex": "auto", "href": "/api/network/v1/datalinks/ixgbe0", "jumbo": false, "label": "Untitled Datalink", "links": [ "ixgbe0" ], "mac": "0:21:28:a1:d9:68", "mtu": 1500, "speed": "auto" } }
POST 命令可创建新的数据链路。创建新的数据链路时需要的一个额外属性是 class 属性,此属性定义了要创建的数据链路的类。数据链路类是在创建数据链路期间定义的,它可以是以下类型之一:
device-创建基于设备的数据链路
vnic-创建基于 VNIC 的数据链路
vlan-创建基于 VLAN 的数据链路
aggregation-创建基于聚合的数据链路
分区-创建 IB 分区数据链路
这些属性映射到 "configuration net datalinks" 菜单中提供的相同 CLI 属性。
请求示例:
POST /api/network/v1/datalinks HTTP/1.1 Host: zfs-storage.example.com:215 X-Auth-User: root X-Auth-Key: password Content-Type: application/json Content-Length: 78 { "class": "device", "jumbo": true, "links": ["ixgbe2"], "label": "TestDataLink" }
响应示例:
HTTP/1.1 201 Created X-Zfssa-Appliance-Api: 1.0 Location: /api/network/v1/datalinks/ixgbe2
PUT 方法可用于修改数据链路属性。有关设置数据链路的详细信息,请参见 CLI 文档。
请求示例:
PUT /api/network/v1/datalinks/ixgbe2 HTTP/1.1 {"jumbo": true}
响应示例:
HTTP/1.1 202 Accepted X-Zfssa-Appliance-Api: 1.0 Content-Type: application/json Content-Length: 219 { "datalink": { "href": "/api/network/v1/datalinks/ixgbe2", "class": "device", "label": "MyDataLink", "links": ["ixgbe2"], "mac": "0:21:28:a1:d9:6a", "mtu": 9000, "duplex": "auto", "jumbo": true, "speed": "auto" } }
此命令可从系统中删除数据链路。使用 href 路径删除指定的数据链路。
请求示例:
DELETE /api/network/v1/datalinks/ixgbe2 HTTP/1.1
响应示例:
HTTP/1.1 204 No Content