NAT: add missing CLI and API documentation (VPP-1142) 97/10297/2
authorMatus Fabian <matfabia@cisco.com>
Mon, 29 Jan 2018 10:46:25 +0000 (02:46 -0800)
committerOle Trøan <otroan@employees.org>
Tue, 30 Jan 2018 09:23:56 +0000 (09:23 +0000)
Change-Id: I4e93595665b8d0e373c4df27311c27a51222961c
Signed-off-by: Matus Fabian <matfabia@cisco.com>
src/plugins/nat/dslite_cli.c
src/plugins/nat/nat.api

index f600c03..515929b 100644 (file)
@@ -288,6 +288,16 @@ dslite_show_sessions_command_fn (vlib_main_t * vm,
 
 /* *INDENT-OFF* */
 
+/*?
+ * @cliexpar
+ * @cliexstart{dslite add pool address}
+ * Add/delete DS-Lite pool address for AFTR element.
+ * To add DS-Lite pool address use:
+ *  vpp# dslite add pool address 10.1.1.3
+ * To add DS-Lite pool address range use:
+ *  vpp# dslite add pool address 10.1.1.5 - 10.1.1.7
+ * @cliexend
+?*/
 VLIB_CLI_COMMAND (dslite_add_pool_address_command, static) = {
   .path = "dslite add pool address",
   .short_help = "dslite add pool address <ip4-range-start> [- <ip4-range-end>] "
@@ -295,36 +305,95 @@ VLIB_CLI_COMMAND (dslite_add_pool_address_command, static) = {
   .function = dslite_add_del_pool_addr_command_fn,
 };
 
+/*?
+ * @cliexpar
+ * @cliexstart{show dslite pool}
+ * Show DS-lite pool addresses.
+ * vpp# show dslite pool
+ * DS-Lite pool:
+ * 10.0.0.3
+ * 10.0.0.5
+ * 10.0.0.6
+ * 10.0.0.7
+ * @cliexend
+?*/
 VLIB_CLI_COMMAND (show_dslite_pool_command, static) = {
   .path = "show dslite pool",
   .short_help = "show dslite pool",
   .function = dslite_show_pool_command_fn,
 };
 
+/*?
+ * @cliexpar
+ * @cliexstart{dslite set aftr-tunnel-endpoint-address}
+ * Set IPv6 tunnel endpoint address of the AFTR element.
+ * To set AFTR tunnel endpoint address use:
+ * vpp# dslite set aftr-tunnel-endpoint-address 2001:db8:85a3::8a2e:370:1
+ * @cliexend
+?*/
 VLIB_CLI_COMMAND (dslite_set_aftr_tunnel_addr, static) = {
   .path = "dslite set aftr-tunnel-endpoint-address",
   .short_help = "dslite set aftr-tunnel-endpoint-address <ip6>",
   .function = dslite_set_aftr_tunnel_addr_command_fn,
 };
 
+/*?
+ * @cliexpar
+ * @cliexstart{show dslite aftr-tunnel-endpoint-address}
+ * Show IPv6 tunnel endpoint address of the AFTR element.
+ * vpp# show dslite aftr-tunnel-endpoint-address
+ * 2001:db8:85a3::8a2e:370:1
+ * @cliexend
+?*/
 VLIB_CLI_COMMAND (dslite_show_aftr_ip6_addr, static) = {
   .path = "show dslite aftr-tunnel-endpoint-address",
   .short_help = "show dslite aftr-tunnel-endpoint-address",
   .function = dslite_show_aftr_ip6_addr_command_fn,
 };
 
+/*?
+ * @cliexpar
+ * @cliexstart{dslite set b4-tunnel-endpoint-address}
+ * Set IPv6 tunnel endpoint address of the B4 element.
+ * To set B4 tunnel endpoint address use:
+ * vpp# dslite set b4-tunnel-endpoint-address 2001:db8:62aa::375e:f4c1:1
+ * @cliexend
+?*/
 VLIB_CLI_COMMAND (dslite_set_b4_tunnel_addr, static) = {
   .path = "dslite set b4-tunnel-endpoint-address",
   .short_help = "dslite set b4-tunnel-endpoint-address <ip6>",
   .function = dslite_set_b4_tunnel_addr_command_fn,
 };
 
+/*?
+ * @cliexpar
+ * @cliexstart{show dslite b4-tunnel-endpoint-address}
+ * Show IPv6 tunnel endpoint address of the B4 element.
+ * vpp# show dslite b4-tunnel-endpoint-address
+ * 2001:db8:62aa::375e:f4c1:1
+ * @cliexend
+?*/
 VLIB_CLI_COMMAND (dslite_show_b4_ip6_addr, static) = {
   .path = "show dslite b4-tunnel-endpoint-address",
   .short_help = "show dslite b4-tunnel-endpoint-address",
   .function = dslite_show_b4_ip6_addr_command_fn,
 };
 
+/*?
+ * @cliexpar
+ * @cliexstart{show dslite sessions}
+ * Show DS-Lite sessions.
+ * vpp# show dslite sessions
+ * B4 fd01:2::2 1 sessions
+ *   in 192.168.1.1:20000 out 10.0.0.3:16253 protocol udp
+ *     total pkts 2, total bytes 136
+ * B4 fd01:2::3 2 sessions
+ *   in 192.168.1.1:20001 out 10.0.0.3:18995 protocol tcp
+ *     total pkts 2, total bytes 160
+ *   in 192.168.1.1:4000 out 10.0.0.3:53893 protocol icmp
+ *     total pkts 2, total bytes 136
+ * @cliexend
+?*/
 VLIB_CLI_COMMAND (dslite_show_sessions, static) = {
   .path = "show dslite sessions",
   .short_help = "show dslite sessions",
index aff8f1d..6bb0801 100644 (file)
@@ -564,12 +564,31 @@ define nat44_user_session_details {
   u32 total_pkts;
 };
 
+/** \brief NAT44 load-balancing address and port pair
+    @param addr - IPv4 address of the internal node
+    @param port - L4 port number of the internal node
+    @param probability - probability of the internal node to be randomly matched
+*/
 typeonly manual_endian define nat44_lb_addr_port {
   u8 addr[4];
   u16 port;
   u8 probability;
 };
 
+/** \brief Add/delete NAT44 load-balancing static mapping rule
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+    @param is_add - 1 if add, 0 if delete
+    @param external_addr - external IPv4 address of the service
+    @param external_port - external L4 port number of the service
+    @param protocol - IP protocol number of the service
+    @param vrf_id - internal network VRF ID
+    @param twice_nat - if 1 translate external host address and port
+    @param out2in_only - if 1 rule match only out2in direction
+    @param tag - opaque string tag
+    @param local_num - number of local network nodes
+    @param locals - local network nodes
+*/
 autoreply manual_endian define nat44_add_del_lb_static_mapping {
   u32 client_index;
   u32 context;
@@ -585,11 +604,28 @@ autoreply manual_endian define nat44_add_del_lb_static_mapping {
   vl_api_nat44_lb_addr_port_t locals[local_num];
 };
 
+/** \brief Dump NAT44 load-balancing static mapping rules
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+*/
 define nat44_lb_static_mapping_dump {
   u32 client_index;
   u32 context;
 };
 
+/** \brief NAT44 load-balancing static mapping rule details response
+    @param context - sender context, to match reply w/ request
+    @param is_add - 1 if add, 0 if delete
+    @param external_addr - external IPv4 address of the service
+    @param external_port - external L4 port number of the service
+    @param protocol - IP protocol number of the service
+    @param vrf_id - internal network VRF ID
+    @param twice_nat - if 1 translate external host address and port
+    @param out2in_only - if 1 rule match only out2in direction
+    @param tag - opaque string tag
+    @param local_num - number of local network nodes
+    @param locals - local network nodes
+*/
 manual_endian define nat44_lb_static_mapping_details {
   u32 context;
   u8 external_addr[4];