" Set default traffic Management hierarchy on a port\n\n"
#endif
- "ddp add (port_id) (profile_path[,output_path])\n"
+ "ddp add (port_id) (profile_path[,backup_profile_path])\n"
" Load a profile package on a port\n\n"
- "ddp del (port_id) (profile_path)\n"
+ "ddp del (port_id) (backup_profile_path)\n"
" Delete a profile package from a port\n\n"
"ptype mapping get (port_id) (valid_only)\n"
cmdline_parse_inst_t cmd_ddp_add = {
.f = cmd_ddp_add_parsed,
.data = NULL,
- .help_str = "ddp add <port_id> <profile_path[,output_path]>",
+ .help_str = "ddp add <port_id> <profile_path[,backup_profile_path]>",
.tokens = {
(void *)&cmd_ddp_add_ddp,
(void *)&cmd_ddp_add_add,
cmdline_parse_inst_t cmd_ddp_del = {
.f = cmd_ddp_del_parsed,
.data = NULL,
- .help_str = "ddp del <port_id> <profile_path>",
+ .help_str = "ddp del <port_id> <backup_profile_path>",
.tokens = {
(void *)&cmd_ddp_del_ddp,
(void *)&cmd_ddp_del_del,
Current implementation supports MPLSoUDP/MPLSoGRE/GTP-C/GTP-U/PPPoE/PPPoL2TP,
steering can be used with rte_flow API.
-Load a profile which supports MPLSoUDP/MPLSoGRE:
+Load a profile which supports MPLSoUDP/MPLSoGRE and store backup profile:
.. code-block:: console
- testpmd> ddp add 0 ./mpls.pkgo
+ testpmd> ddp add 0 ./mpls.pkgo,./backup.pkgo
-Delete a MPLS profile:
+Delete a MPLS profile and restore backup profile:
.. code-block:: console
- testpmd> ddp del 0 ./mpls.pkgo
+ testpmd> ddp del 0 ./backup.pkgo
Get loaded DDP package info list:
ddp add
~~~~~~~
-Load a dynamic device personalization (DDP) package::
+Load a dynamic device personalization (DDP) profile and store backup profile::
- testpmd> ddp add (port_id) (package_path[,output_path])
+ testpmd> ddp add (port_id) (profile_path[,backup_profile_path])
ddp del
~~~~~~~
-Delete a dynamic device personalization package::
+Delete a dynamic device personalization profile and restore backup profile::
- testpmd> ddp del (port_id) (package_path)
+ testpmd> ddp del (port_id) (backup_profile_path)
ptype mapping
~~~~~~~~~~~~~