summaryrefslogtreecommitdiffstats
path: root/src/plugins/map/map.api
diff options
context:
space:
mode:
authorJon Loeliger <jdl@netgate.com>2019-03-12 13:09:08 -0500
committerOle Trøan <otroan@employees.org>2019-03-19 20:44:34 +0000
commit4dc5c7b905d9ccfa24f6fd7365a7d656c3efaa78 (patch)
tree39e02ddb7f5a4275680ed6f3623af512a87b3f28 /src/plugins/map/map.api
parent2e2c91f9256ff06cb79bc9816772e098dd6b7987 (diff)
MAP: Add optional user-supplied 'tag' field in MAPs.
Like other entities, allow an arbitrray user-supplied 'tag' field to be place on created MAP domains. It is also later returned with the MAP details. You might be thinking "User assigned MAP name" here. As the MAP domain structure was at the limit of a cacheline size, introduce a parallel "extra data" vector with non-essential domain information in it. Change-Id: Icc12b64cc4cb3e040c9a475908b19f6abaf4c293 Signed-off-by: Jon Loeliger <jdl@netgate.com>
Diffstat (limited to 'src/plugins/map/map.api')
-rw-r--r--src/plugins/map/map.api18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/plugins/map/map.api b/src/plugins/map/map.api
index f64fe4ccd0d..74133c9df23 100644
--- a/src/plugins/map/map.api
+++ b/src/plugins/map/map.api
@@ -13,7 +13,7 @@
* limitations under the License.
*/
-option version = "3.0.0";
+option version = "3.1.0";
import "vnet/ip/ip_types.api";
@@ -27,6 +27,7 @@ import "vnet/ip/ip_types.api";
@param psid_offset - Port Set Identifider (PSID) offset
@param psid_length - PSID length
@param mtu - MTU
+ @param tag - A user field stored with the MAP
*/
define map_add_domain
{
@@ -39,6 +40,7 @@ define map_add_domain
u8 psid_offset;
u8 psid_length;
u16 mtu;
+ string tag;
};
/** \brief Reply for MAP domain add
@@ -94,6 +96,19 @@ define map_domain_dump
u32 context;
};
+/** \brief Details about a single MAP domain
+ @param context - returned sender context, to match reply w/ request
+ @param domain_index - MAP domain index
+ @param ip6_prefix - Rule IPv6 prefix
+ @param ip4_prefix - Rule IPv4 prefix
+ @param ip6_src - MAP domain IPv6 BR address / Tunnel source
+ @param ea_bits_len - Embedded Address bits length
+ @param psid_offset - Port Set Identifider (PSID) offset
+ @param psid_length - PSID length
+ @param flags -
+ @param mtu - MTU
+ @param tag - The user field stored with the MAP at creation time
+*/
define map_domain_details
{
u32 context;
@@ -106,6 +121,7 @@ define map_domain_details
u8 psid_length;
u8 flags;
u16 mtu;
+ string tag;
};
define map_rule_dump