Update the global advanced IP configuration

NAS File Storage REST API Reference

Version
15.6.x
File Size
1291 KB
Audience
anonymous
Part Number
MK-92HNAS100-07
ft:lastEdition
2026-04-07
patch /v9/storage/file-devices/advanced-ip-config/global

Make changes to the global advanced IP configuration.

Note: Some global settings will affect all interfaces, and others will only affect the interfaces which do not have specifically configured settings.

Authentication: x_subsystem_user Api Key "X-Subsystem-User"
Authentication: x_subsystem_password Api Key "X-Subsystem-Password"
Authentication: api_key Api Key "X-Api-Key"
Authentication: basicAuth HTTP - basic scheme
CLIENT REQUEST
curl -X 'PATCH'
-H "X-Subsystem-User: [[apiKey]]" \
-H "X-Subsystem-Password: [[apiKey]]" \
-H "X-Api-Key: [[apiKey]]" \
-H "Authorization: Basic [[basicHash]]" \
-H 'Accept: application/json'
-H 'Content-Type: application/json'
'https://172.27.146.40:8444/v9/storage/file-devices/advanced-ip-config/global'
-d ''
import http.client conn = http.client.HTTPSConnection("172.27.146.40:8444") payload = "{\"arpCacheTimeout\":60,\"ignoreIcmpEcho\":true,\"ignoreIcmpRedirect\":true,\"ipReassemblyTimer\":5,\"offSubnetMtu\":1500,\"otherMtu\":1500,\"tcpKeepAliveEnable\":true,\"tcpKeepAliveTimer\":\"7200\",\"tcpMtu\":1500}" headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH", 'content-type': "application/json" } conn.request("PATCH", "/v9/storage/file-devices/advanced-ip-config/global", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
require 'uri' require 'net/http' require 'openssl' url = URI("https://172.27.146.40:8444/v9/storage/file-devices/advanced-ip-config/global") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Patch.new(url) request["Authorization"] = 'Basic REPLACE_BASIC_AUTH' request["content-type"] = 'application/json' request.body = "{\"arpCacheTimeout\":60,\"ignoreIcmpEcho\":true,\"ignoreIcmpRedirect\":true,\"ipReassemblyTimer\":5,\"offSubnetMtu\":1500,\"otherMtu\":1500,\"tcpKeepAliveEnable\":true,\"tcpKeepAliveTimer\":\"7200\",\"tcpMtu\":1500}" response = http.request(request) puts response.read_body
const data = JSON.stringify({ "arpCacheTimeout": 60, "ignoreIcmpEcho": true, "ignoreIcmpRedirect": true, "ipReassemblyTimer": 5, "offSubnetMtu": 1500, "otherMtu": 1500, "tcpKeepAliveEnable": true, "tcpKeepAliveTimer": "7200", "tcpMtu": 1500 }); const xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener("readystatechange", function () { if (this.readyState === this.DONE) { console.log(this.responseText); } }); xhr.open("PATCH", "https://172.27.146.40:8444/v9/storage/file-devices/advanced-ip-config/global"); xhr.setRequestHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); xhr.setRequestHeader("content-type", "application/json"); xhr.send(data);
HttpResponse<String> response = Unirest.patch("https://172.27.146.40:8444/v9/storage/file-devices/advanced-ip-config/global") .header("Authorization", "Basic REPLACE_BASIC_AUTH") .header("content-type", "application/json") .body("{\"arpCacheTimeout\":60,\"ignoreIcmpEcho\":true,\"ignoreIcmpRedirect\":true,\"ipReassemblyTimer\":5,\"offSubnetMtu\":1500,\"otherMtu\":1500,\"tcpKeepAliveEnable\":true,\"tcpKeepAliveTimer\":\"7200\",\"tcpMtu\":1500}") .asString();
import Foundation let headers = [ "Authorization": "Basic REPLACE_BASIC_AUTH", "content-type": "application/json" ] let parameters = [ "arpCacheTimeout": 60, "ignoreIcmpEcho": true, "ignoreIcmpRedirect": true, "ipReassemblyTimer": 5, "offSubnetMtu": 1500, "otherMtu": 1500, "tcpKeepAliveEnable": true, "tcpKeepAliveTimer": "7200", "tcpMtu": 1500 ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://172.27.146.40:8444/v9/storage/file-devices/advanced-ip-config/global")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "PATCH" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume()
<?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_PORT => "8444", CURLOPT_URL => "https://172.27.146.40:8444/v9/storage/file-devices/advanced-ip-config/global", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "PATCH", CURLOPT_POSTFIELDS => "{\"arpCacheTimeout\":60,\"ignoreIcmpEcho\":true,\"ignoreIcmpRedirect\":true,\"ipReassemblyTimer\":5,\"offSubnetMtu\":1500,\"otherMtu\":1500,\"tcpKeepAliveEnable\":true,\"tcpKeepAliveTimer\":\"7200\",\"tcpMtu\":1500}", CURLOPT_HTTPHEADER => [ "Authorization: Basic REPLACE_BASIC_AUTH", "content-type: application/json" ], ]); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; }
CURL *hnd = curl_easy_init(); curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); curl_easy_setopt(hnd, CURLOPT_URL, "https://172.27.146.40:8444/v9/storage/file-devices/advanced-ip-config/global"); struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); headers = curl_slist_append(headers, "content-type: application/json"); curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"arpCacheTimeout\":60,\"ignoreIcmpEcho\":true,\"ignoreIcmpRedirect\":true,\"ipReassemblyTimer\":5,\"offSubnetMtu\":1500,\"otherMtu\":1500,\"tcpKeepAliveEnable\":true,\"tcpKeepAliveTimer\":\"7200\",\"tcpMtu\":1500}"); CURLcode ret = curl_easy_perform(hnd);
var client = new RestClient("https://172.27.146.40:8444/v9/storage/file-devices/advanced-ip-config/global"); var request = new RestRequest(Method.PATCH); request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); request.AddHeader("content-type", "application/json"); request.AddParameter("application/json", "{\"arpCacheTimeout\":60,\"ignoreIcmpEcho\":true,\"ignoreIcmpRedirect\":true,\"ipReassemblyTimer\":5,\"offSubnetMtu\":1500,\"otherMtu\":1500,\"tcpKeepAliveEnable\":true,\"tcpKeepAliveTimer\":\"7200\",\"tcpMtu\":1500}", ParameterType.RequestBody); IRestResponse response = client.Execute(request);
Body parameters
application/json
arpCacheTimeoutintegerint32

ARP cache timeout, in seconds. The valid range is 50 to 600 seconds

Example:60
ignoreIcmpEchoboolean

True indicates ICMP echo requests are ignored

ignoreIcmpRedirectboolean

True indicates ICMP redirect requests are ignored

ipReassemblyTimerintegerint32

IP reassembly timer, in seconds. The valid range is 1 to 300 seconds

Example:5
offSubnetMtuintegerint32

Off-subnet IP MTU size in bytes. The valid range is 68 to 9600 bytes, however some interfaces may further limit the effective MTU value. For IPv6 traffic the effective MTU will be 1280 bytes when this option is configured to be less than 1280

Example:1500
otherMtuintegerint32

Non-TCP packet IP MTU size in bytes. The valid range is 68 to 9600 bytes, however some interfaces may further limit the effective MTU value. For IPv6 traffic the effective MTU will be 1280 bytes when this option is configured to be less than 1280

Example:1500
tcpKeepAliveEnableboolean

True indicates that TCP keep alive is active

tcpKeepAliveTimerintegerint64

TCP keep alive timer interval, in seconds. The value must be greater than 900 seconds

Example:"7200"
tcpMtuintegerint32

TCP packet IP MTU size in bytes. The valid range is 68 to 9600 bytes, however some interfaces may further limit the effective MTU value. For IPv6 traffic the effective MTU will be 1280 bytes when this option is configured to be less than 1280

Example:1500
REQUEST
{ "arpCacheTimeout": 60, "ignoreIcmpEcho": false, "ignoreIcmpRedirect": false, "ipReassemblyTimer": 5, "offSubnetMtu": 1500, "otherMtu": 1500, "tcpKeepAliveEnable": false, "tcpKeepAliveTimer": "7200", "tcpMtu": 1500 }
Responses

No Content - the resource was updated successfully

Bad Request

Body
application/json
errorCodeintegerint32

Generic error code

Example:1081353
errorMsgstring

Main error message

Example:"Invalid description parameter - the optional parameter must be between 2 and 30 characters long to be valid, if supplied"
RESPONSE
{ "errorCode": 1081353, "errorMsg": "Invalid description parameter - the optional parameter must be between 2 and 30 characters long to be valid, if supplied" }

Unauthorized - the request was rejected because the credentials or API key were either missing or invalid

Forbidden - the client does not have the required permissions to perform the operation

Body
application/json
errorMsgstring

Main error message

Example:"Forbidden request - the client does not have the required permissions to perform the operation"
RESPONSE
{ "errorMsg": "Forbidden request - the client does not have the required permissions to perform the operation" }

Internal Server Error

Body
application/json
errorCodeintegerint32

Generic error code

errorDetailobject

Detailed error information

detailstring

More details on why the error occurred

faultstring
fileNamestring

Source file where the error occurred

Example:"RestApiFilesystems.cpp"
functionstring

Internal function name where the error occurred

Example:"mountFilesystem"
lineNumberintegerint32

Line number within the source file, where the error occurred

messagestring

Reason why the error(s) occurred

Example:"The file system is currently unassigned"
reasonstring

Reason why the error(s) occurred

Example:"The file system is currently unassigned"
returnedValueintegerint32

Not used

subCodeintegerint32

Specific failure error code

errorMsgstring

Main error message

Example:"Failed to mount file system"
RESPONSE
{ "errorCode": 0, "errorDetail": { "detail": "", "fault": "", "fileName": "RestApiFilesystems.cpp", "function": "mountFilesystem", "lineNumber": 0, "message": "The file system is currently unassigned", "reason": "The file system is currently unassigned", "returnedValue": 0, "subCode": 0 }, "errorMsg": "Failed to mount file system" }