openthread-br: remove superseded patch
The patch is not needed since it is implemented in https://github.com/openthread/ot-br-posix/pull/1908 and included into the current version. Signed-off-by: krant <aleksey.vasilenko@gmail.com>
This commit is contained in:
parent
9ad2c1fd97
commit
fc4596ddc4
|
@ -1,124 +0,0 @@
|
||||||
From d9086b843d5da519fca876794d14026b14cc68ae Mon Sep 17 00:00:00 2001
|
|
||||||
Message-ID: <d9086b843d5da519fca876794d14026b14cc68ae.1689665371.git.stefan@agner.ch>
|
|
||||||
From: Stefan Agner <stefan@agner.ch>
|
|
||||||
Date: Mon, 5 Jun 2023 23:41:50 +0200
|
|
||||||
Subject: [PATCH] [rest] support deleting the dataset
|
|
||||||
|
|
||||||
Add REST API to support deleting the active or pending operational
|
|
||||||
dataset. Deleting the active operational dataset requires the Thread
|
|
||||||
network to be disabled (just like modifying the active operational
|
|
||||||
dataset). Subsequent use of the PUT method allows to build entirly
|
|
||||||
new datasets with values generated by the stack (through
|
|
||||||
otDatasetCreateNewNetwork).
|
|
||||||
---
|
|
||||||
src/rest/openapi.yaml | 21 +++++++++++++++++++++
|
|
||||||
src/rest/resource.cpp | 35 +++++++++++++++++++++++++++++++++++
|
|
||||||
src/rest/resource.hpp | 1 +
|
|
||||||
3 files changed, 57 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/src/rest/openapi.yaml b/src/rest/openapi.yaml
|
|
||||||
index 2ba2a4dd56..2edc4af29a 100644
|
|
||||||
--- a/src/rest/openapi.yaml
|
|
||||||
+++ b/src/rest/openapi.yaml
|
|
||||||
@@ -248,6 +248,18 @@ paths:
|
|
||||||
description: Invalid request body.
|
|
||||||
"409":
|
|
||||||
description: Writing active operational dataset rejected because Thread network is active.
|
|
||||||
+ delete:
|
|
||||||
+ tags:
|
|
||||||
+ - node
|
|
||||||
+ summary: Deletes the active operational dataset
|
|
||||||
+ description: |-
|
|
||||||
+ Deletes the the active operational dataset on the current node. Only allowed if the Thread node
|
|
||||||
+ is inactive.
|
|
||||||
+ responses:
|
|
||||||
+ "200":
|
|
||||||
+ description: Successfully deleted the active operational dataset.
|
|
||||||
+ "409":
|
|
||||||
+ description: Deleting active operational dataset rejected because Thread network is active.
|
|
||||||
/node/dataset/pending:
|
|
||||||
get:
|
|
||||||
tags:
|
|
||||||
@@ -291,6 +303,15 @@ paths:
|
|
||||||
description: Successfully created the pending operational dataset.
|
|
||||||
"400":
|
|
||||||
description: Invalid request body.
|
|
||||||
+ delete:
|
|
||||||
+ tags:
|
|
||||||
+ - node
|
|
||||||
+ summary: Deletes the pending operational dataset
|
|
||||||
+ description: |-
|
|
||||||
+ Deletes the the pending operational dataset on the current node.
|
|
||||||
+ responses:
|
|
||||||
+ "200":
|
|
||||||
+ description: Successfully deleted the active operational dataset.
|
|
||||||
components:
|
|
||||||
schemas:
|
|
||||||
LeaderData:
|
|
||||||
diff --git a/src/rest/resource.cpp b/src/rest/resource.cpp
|
|
||||||
index a60e9d9483..829835341a 100644
|
|
||||||
--- a/src/rest/resource.cpp
|
|
||||||
+++ b/src/rest/resource.cpp
|
|
||||||
@@ -767,12 +767,47 @@ exit:
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+void Resource::DeleteDataset(DatasetType aDatasetType, Response &aResponse) const
|
|
||||||
+{
|
|
||||||
+ otbrError error = OTBR_ERROR_NONE;
|
|
||||||
+ std::string errorCode = GetHttpStatus(HttpStatusCode::kStatusOk);
|
|
||||||
+ otOperationalDatasetTlvs datasetTlvs = {};
|
|
||||||
+
|
|
||||||
+ if (aDatasetType == DatasetType::kActive)
|
|
||||||
+ {
|
|
||||||
+ VerifyOrExit(otThreadGetDeviceRole(mInstance) == OT_DEVICE_ROLE_DISABLED, error = OTBR_ERROR_INVALID_STATE);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (aDatasetType == DatasetType::kActive)
|
|
||||||
+ {
|
|
||||||
+ VerifyOrExit(otDatasetSetActiveTlvs(mInstance, &datasetTlvs) == OT_ERROR_NONE, error = OTBR_ERROR_REST);
|
|
||||||
+ }
|
|
||||||
+ else if (aDatasetType == DatasetType::kPending)
|
|
||||||
+ {
|
|
||||||
+ VerifyOrExit(otDatasetSetPendingTlvs(mInstance, &datasetTlvs) == OT_ERROR_NONE, error = OTBR_ERROR_REST);
|
|
||||||
+ }
|
|
||||||
+ aResponse.SetResponsCode(errorCode);
|
|
||||||
+
|
|
||||||
+exit:
|
|
||||||
+ if (error == OTBR_ERROR_INVALID_STATE)
|
|
||||||
+ {
|
|
||||||
+ ErrorHandler(aResponse, HttpStatusCode::kStatusConflict);
|
|
||||||
+ }
|
|
||||||
+ else if (error != OTBR_ERROR_NONE)
|
|
||||||
+ {
|
|
||||||
+ ErrorHandler(aResponse, HttpStatusCode::kStatusInternalServerError);
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
void Resource::Dataset(DatasetType aDatasetType, const Request &aRequest, Response &aResponse) const
|
|
||||||
{
|
|
||||||
std::string errorCode;
|
|
||||||
|
|
||||||
switch (aRequest.GetMethod())
|
|
||||||
{
|
|
||||||
+ case HttpMethod::kDelete:
|
|
||||||
+ DeleteDataset(aDatasetType, aResponse);
|
|
||||||
+ break;
|
|
||||||
case HttpMethod::kGet:
|
|
||||||
GetDataset(aDatasetType, aRequest, aResponse);
|
|
||||||
break;
|
|
||||||
diff --git a/src/rest/resource.hpp b/src/rest/resource.hpp
|
|
||||||
index d79085dbfc..362e501471 100644
|
|
||||||
--- a/src/rest/resource.hpp
|
|
||||||
+++ b/src/rest/resource.hpp
|
|
||||||
@@ -150,6 +150,7 @@ private:
|
|
||||||
void GetDataRloc(Response &aResponse) const;
|
|
||||||
void GetDataset(DatasetType aDatasetType, const Request &aRequest, Response &aResponse) const;
|
|
||||||
void SetDataset(DatasetType aDatasetType, const Request &aRequest, Response &aResponse) const;
|
|
||||||
+ void DeleteDataset(DatasetType aDatasetType, Response &aResponse) const;
|
|
||||||
|
|
||||||
void DeleteOutDatedDiagnostic(void);
|
|
||||||
void UpdateDiag(std::string aKey, std::vector<otNetworkDiagTlv> &aDiag);
|
|
||||||
--
|
|
||||||
2.41.0
|
|
||||||
|
|
Loading…
Reference in New Issue