Restool(1)

๐Ÿ“ฆ version 2.4, in nixos 26.05, nixpkgs unstable

๐ŸŽ€ NAME ๐ŸŽ€

okay so this is restool, from the General Commands Manual โ€” the Restool(1) page, bestie โ€” and it's here to create and manage DPAA2 containers and objects. ๐Ÿ’…โœจ

๐Ÿ‘€ OVERVIEW ๐Ÿ‘€

To see the commands each object supports, run:

restool <object-type> --help

For object type and command-specific help, run:

restool <object-type> <command> --help

๐Ÿงพ SYNOPSIS ๐Ÿงพ

restool [<global-opts>] <object-type> <command> <object-name> [ARGS...]

๐Ÿ’– DESCRIPTION ๐Ÿ’–

restool is a user space application providing the ability to dynamically create and manage DPAA2 containers and objects from Linux. ๐Ÿง๐Ÿ’ซ

Restool is designed for use with ARMv8 SoCs and has been tested with ARMv8 cross and native compilers. ๐Ÿ”ฅ

โœจ OPTIONS โœจ

Valid <global-opts> are:

  • -v, --version โ€” Displays tool version info. ๐Ÿ’–
  • -m, --mc-version โ€” Displays mc firmware version. ๐Ÿ› ๏ธ
  • -h, -?, --help โ€” Displays general help info. ๐Ÿซถ
  • -s, --script โ€” Display script friendly output. ๐Ÿ“œ
  • --rescan โ€” Issues a rescan of fsl-mc bus before exiting. ๐Ÿ”„
  • --root=[dprc] โ€” Specifies root container name. ๐Ÿ‘‘

Valid commands vary for each object type. Most objects support the following commands: help, info, create, destroy.

<object-name> is a string containing object type and ID (e.g. dpni.7).

Valid <object-type> values are:

<dprc|dpni|dpio|dpsw|dpbp|dpci|dpcon|dpseci|dpdmux|dpmcp|dpmac|dpdcei|dpaiop|dprtc|dpdmai>

๐Ÿ“ NOTE ๐Ÿ“

For each valid object-type the info and destroy commands are the same.

๐Ÿ’ For info command:

Usage line: Usage: restool <object-type> info <object-type-object>

Then there's a bare OPTIONS line, and then OPTIONS: โ€” yes, both, because we keep all the details. ๐Ÿซถ

  • --verbose โ€” Shows extended/verbose information about the object. ๐Ÿ”

๐ŸŒŸ EXAMPLE:

Display information about dpni.5:

$ restool dpni info dpni.5

๐Ÿ’ฅ For destroy command:

Usage line: Usage: restool <object-type> destroy <object-type-object>

  • e.g. restool dpni destroy dpni.9
  • e.g. restool dpdmux destroy dpdmux.9

๐ŸŽ€ DPRC ๐ŸŽ€

okay bestie, DPRC is the whole container-of-containers situation, and the top-level usage is literally this:

Usage: restool dprc <command> [--help] [ARGS...], where <command> can
       be:

โœจ sync โœจ

synchronizes the objects in MC with MC bus. thatโ€™s the whole vibe.

Usage: restool dprc sync

๐ŸŒธ list ๐ŸŒธ

lists all containers (DPRC objects) in the system. iconic inventory behavior.

Usage: restool dprc list OPTIONS

OPTIONS ๐Ÿ’…

  • --full-path โ€” prints the dprc list in a full-path format like: dprc.1/dprc.2

๐Ÿฆ‹ show ๐Ÿฆ‹

displays the object contents of a DPRC object. peek inside, bestie.

Usage: restool dprc show <container>

โญ info โญ

displays detailed information about a DPRC object. itโ€™s giving deep lore.

๐ŸŽ€ create ๐ŸŽ€

creates a new child DPRC under the specified parent. baby container time.

Usage: restool dprc create <parent-container>
[--options=<options-mask>]

[--label=<label-string>]

OPTIONS ๐Ÿ’…

  • --options=<options-mask> โ€” where the mask is a comma- or space-separated list of DPRC options:
    • DPRC_CFG_OPT_SPAWN_ALLOWED
    • DPRC_CFG_OPT_ALLOC_ALLOWED
    • DPRC_CFG_OPT_OBJ_CREATE_ALLOWED
    • DPRC_CFG_OPT_TOPOLOGY_CHANGES_ALLOWED
    • DPRC_CFG_OPT_AIOP
    • DPRC_CFG_OPT_IRQ_CFG_ALLOWED
    • DPRC_CFG_OPT_PL_ALLOWED
  • --label=<label-string> โ€” where <label-string> is a string of up to 15 chars to label the container.

EXAMPLES โœจ

Create a child DPRC under parent dprc.1 with default options:

$ restool dprc create dprc.1

Create a child DPRC under parent dprc.1 with default options and a label string:

$ restool dprc create dprc.1 โ€“label=โ€œnadkโ€™s dprcโ€

๐Ÿ’€ destroy ๐Ÿ’€

destroys a child DPRC under the specified parent. bye-bye, little container.

๐Ÿซถ assign ๐Ÿซถ

moves an object from a parent container to a child container. also can change an objectโ€™s plugged state.

To move an object from parent to child:

Usage: restool dprc assign <container> --child=<child-container>

--object=<object>

To move an object and set the plugged state of an object:

Usage: restool dprc assign <container> --child=<child-container>

--object=<object> --plugged=<state>

To set the plugged state of an object:

Usage: restool dprc assign <container> --object=<object>
--plugged=<state>
  • <container> โ€” Specifies the source container for the operation.
  • --child=<child-container> โ€” Specifies the destination container for the operation.
  • --object=<object> โ€” Specifies the object to move from parent container to child container
  • --plugged=<state> โ€” Specifies the plugged state of the object (valid values are 0 or 1)

NOTES ๐Ÿซถ

  • -It is not possible to assign DPRC objects.
  • -It is not possible (and unnecessary) to change the plugged state of a DPRC
  • -It is not possible to move plugged objects (i.e. plugged=1)
  • -The assign operation may be restricted by the permissions granted in the container attributes.

EXAMPLES โœจ

To move dpni.2 from dprc.1 to dprc.4 (leaving the plugged state unchanged):

$ restool dprc assign dprc.1 โ€“child=dprc.4 โ€“object=dpni.2

To move dpni.2 from dprc.1 to dprc.4 and set dpni.2 to be plugged:

$ restool dprc assign dprc.1 โ€“child=dprc.4 โ€“object=dpni.2 โ€“plugged=1

To set dpni.2 in container dprc.1 to be plugged:

$ restool dprc assign dprc.1 โ€“object=dprc.2 โ€“plugged=1

๐ŸŒˆ unassign ๐ŸŒˆ

moves an object from a child container to a parent container. reverse card energy.

Usage: restool dprc unassign <parent-container> --child=<child-container>

--object=<object>
  • <parent-container> โ€” Container that is the destination of the operation.
  • --child=<child-container> โ€” Container that is the source of the operation.
  • --object=<object> โ€” Specifies the object to move from parent to child.

NOTES ๐Ÿซถ

  • -It is not possible to unassign dprc objects

EXAMPLE ๐ŸŒธ

To move dpni.2 from dprc.4 (child) to dprc.1 (parent):

$ restool dprc unassign dprc.1 --child=dprc.4 --object=dpni.2

๐ŸŽ€ set-label ๐ŸŽ€

sets label/alias for any objects except root container. name tag era.

Usage: restool dprc set-label <object> --label=<label>
  • --label=<label> โ€” Specifies a string of up to 15 characters to label the object.

NOTE ๐ŸŒธ

  • <object> cannot be the root container

EXAMPLE ๐ŸŒธ

To set the label โ€œmountainโ€ on dpni.1:

$ restool dprc set-label dpni.1 --label="mountain"

๐Ÿ”’ set-locked ๐Ÿ”’

lock/unlock a child container. do not disturb mode.

Usage: restool dprc set-locked <child_container> --locked=<state>
  • --locked=<state> โ€” state = 1; child container is locked / state = 0; child container is unlocked

NOTE ๐ŸŒธ

  • <child_container> โ€” Must be one of the child containers of the container executing the command

EXAMPLE ๐ŸŒธ

To lock the container dprc.2 that is the child container of dprc.1:

$ restool dprc set-locked dprc.2 --locked=1

๐Ÿ”— connect ๐Ÿ”—

connects 2 objects, creating a link between them. matchmaker behavior, honestly.

Usage: restool dprc connect <parent-container>
--endpoint1=<object>

--endpoint2=<object> OPTIONS
  • <parent-container> โ€” Specifies the parent-container.
  • --endpoint1=<object> โ€” Specifies an endpoint object.
  • --endpoint2=<object> โ€” Specifies an endpoint object.

OPTIONS ๐Ÿ’…

  • --committed-rate=<number> โ€” Committed rate (Mbits/s). Must be provided alongside max-rate.
  • --max-rate=<number> โ€” Maximum rate (Mbits/s). Must be provided alongside committed-rate.

NOTES ๐Ÿซถ

  • -<parent-container> must be a common ancestor of both <object> arguments (for example the root container)
  • -endpoint1 and endpoint2 do not need to be in the same container.
  • -endpoints must be disconnected prior to being connected (use `dprc disconnect' to disconnect endpoints)
  • -multi-port objects such as a dpsw or dpdmux use the following naming convention to specify endpoints: <object>.<id>.<port>

EXAMPLE ๐ŸŒธ

To connect dpni.8 to dpsw.0.0:

$ restool dprc connect dprc.1 --endpoint1=dpsw.0.0 --endpoint2=dpni.8

โœ‚๏ธ disconnect โœ‚๏ธ

removes the link between two objects. either endpoint can be specified as the target of the operation. unlink era.

Usage: restool dprc disconnect <parent-container>
--endpoint=<object>
  • <parent-container> โ€” Specifies the parent-container.
  • --endpoint=<object> โ€” Specifies either endpoint of a connection.

NOTES ๐Ÿซถ

  • -<parent-container> must be an ancestor of the <object> (for example the root container)

EXAMPLE ๐ŸŒธ

To disconnect dpni.8:

$ restool dprc disconnect dprc.1 --endpoint=dpni.8

๐Ÿงš generate-dpl ๐Ÿงš

generate DPL syntax for the specified container. itโ€™s giving output-to-stdout realness.

Usage: restool dprc generate-dpl

<container> specifies the name of the container.

NOTES ๐Ÿซถ

Generates the DPL syntax for the specified container to stdout, including all child and decendant containers.

EXAMPLE ๐ŸŒธ

Generate a DPL for dprc.1:

$ restool dprc generate-dpl dprc.1

๐Ÿ’… DPNI

Usage: restool dpni <command> [--help] [ARGS...]

where <command> can be one of these iconic little numbers ๐Ÿ‘‡

๐ŸŒธ info

Displays detailed information about a DPNI object. It's giving "tell me everything about yourself" energy ๐Ÿ’–

๐Ÿฆ‹ create

Creates a new child DPNI under the root DPRC.

Usage: restool dpni create OPTIONS

โœจ OPTIONS

  • --options=<options-mask> โ€” where <options-mask> is a comma or space separated list of DPNI options. Pick your faves, bestie:
    • DPNI_OPT_TX_FRM_RELEASE
    • DPNI_OPT_NO_MAC_FILTER
    • DPNI_OPT_HAS_POLICING
    • DPNI_OPT_SHARED_CONGESTION
    • DPNI_OPT_HAS_KEY_MASKING
    • DPNI_OPT_NO_FS
    • DPNI_OPT_HAS_OPR
    • DPNI_OPT_OPR_PER_TC
    • DPNI_OPT_SINGLE_SENDER
    • DPNI_OPT_CUSTOM_CG
    • DPNI_OPT_SHARED_HASH_KEY
    • DPNI_OPT_SHARED_FS
  • --num-queues=<number> โ€” where <number> is the number of TX/RX queues used for traffic distribution. It's literally how you spread traffic across multiple GPP cores. Default is one queue, and the maximum supported value is 16. No cap on the vibes tho ๐Ÿซถ
  • --num-tcs=<number> โ€” where <number> is the number of traffic classes (TCs) reserved for the DPNI. Defaults to one TC. Maximum supported value is 16. Heads up: there are maximum 16 TCs for Tx and 8 TCs for Rx. So when num_tcs > 8, Tx will use this value but Rx will have only 8 traffic classes. Asymmetric but slay ๐Ÿ’…
  • --mac-filter-entries=<number> โ€” where <number> is the number of entries in the MAC address filtering table. Allows both unicast and multicast entries. By default, there are 80 entries. Maximum supported value is 80. This option is the former --mac-entries which can still be used โ€” the change was made to align with the options passed through DPL. Glow-up, not a rewrite โœจ
  • --vlan-filter-entries=<number> โ€” the number of entries in the VLAN address filtering table. By default, VLAN filtering is disabled. Maximum value is 16. This option is the former --vlan-entries which can still be used โ€” the change was made to align with the options passed through DPL. Same glow-up, same energy ๐ŸŽ€
  • --qos-entries=<number> โ€” where <number> is the number of entries in the QoS classification table. Ignored if the DPNI has a single TC. By default, set to 64.
  • --fs-entries=<number> โ€” where <number> is the number of entries in the flow steering table. Defaults to 64. Maximum value is 1024.
  • --num-cgs=<number> โ€” where <number> is the number of congestion groups (CGs) reserved for the DPNI. Defaults to one per TC. Maximum supported value is 128.
  • --container=<container-name> โ€” specifies the parent container name. e.g. dprc.2, dprc.3 etc.
  • --dist-key-size=<number> โ€” where <number> is the maximum key size for the distribution. '0' will be treated as '24' which is enough for IPv4 5-tuple. Cute lil default, iykyk ๐ŸŒˆ
  • --num-channels=<number> โ€” where <number> is the number of egress channels used by this dpni object. Valid range is [1-32]. Defaults to 1.
  • --num-opr=<number> โ€” where <number> is the desired custom number of order point records when DPNI_OPT_CUSTOM_OPR is set. Maximum supported value is num_tcs * num_queues, which is also the default value. Math is mathing ๐Ÿงฎ

๐Ÿ’€ destroy

Destroys a child DPNI under the root DPRC. Gone, reduced to atoms ๐Ÿ˜ญ

๐ŸŒŸ update

Update attributes of an already created DPNI.

Usage: restool dpni update dpni.X OPTIONS

๐Ÿ’œ OPTIONS

  • --mac-addr=<addr> โ€” where <addr> is a string specifying the primary MAC address (e.g. 00:00:05:00:00:05).

๐Ÿฆ‹ DPIO

Usage: restool dpio <command> [--help] [ARGS...]

where <command> can be:

๐ŸŒธ info

Displays detailed information about a DPIO object.

โœจ create

Creates a new child DPIO under the root DPRC.

Usage: restool dpio create OPTIONS

๐ŸŽ€ OPTIONS

If options are not specified, create DPIO by default options. She's low-maintenance like that ๐Ÿ’…

  • --channel-mode=<mode> โ€” where <mode> is one of:
    • DPIO_LOCAL_CHANNEL
    • DPIO_NO_CHANNEL

Default value is DPIO_LOCAL_CHANNEL.

  • --num-priorities=<number> โ€” valid values for <number> are 1-8. Default value is 8.
  • --container=<container-name> โ€” specifies the parent container name. e.g. dprc.2, dprc.3 etc. If it is not specified, the new object will be created under the default dprc. She finds her own home ๐Ÿ 

๐Ÿ”ฅ EXAMPLE

Create a DPIO object with all default options:

$ restool dpio create

๐Ÿ’€ destroy

Destroys a child DPIO under the root DPRC.


๐ŸŒˆ DPSW

Usage: restool dpsw <command> [--help] [ARGS...]

where <command> can be:

๐ŸŒธ info

Displays detailed information about a DPSW object.

โœจ create

Creates a new child DPSW under the root DPRC.

Usage: restool dpsw create OPTIONS

๐ŸŽ€ OPTIONS

If options are not specified, create DPSW by default options. Main character energy: works out of the box ๐Ÿ‘‘

  • --num-ifs=<number> โ€” where <number> is the number of external and internal interfaces.
  • --options=<options-mask> โ€” where <options-mask> is a comma separated list of DPSW options:
    • DPSW_OPT_FLOODING_DIS
    • DPSW_OPT_MULTICAST_DIS
    • DPSW_OPT_CTRL_IF_DIS
    • DPSW_OPT_FLOODING_METERING_DIS
    • DPSW_OPT_METERING_EN
    • DPSW_OPT_LAG_DIS
  • --max-vlans=<number> โ€” where <number> is the maximum number of VLAN's. Default is 16.
  • --max-fdbs=<number> โ€” where <number> is the maximum Number of FDB's. Default is 16.
  • --max-fdb-entries=<number> โ€” where <number> is the number of FDB entries. Default is 1024.
  • --fdb-aging-time=<number> โ€” where <number> is the default FDB aging time in seconds. Default is 300 seconds. Aging gracefully, periodt ๐Ÿ“
  • --max-fdb-mc-groups=<number> โ€” where <number> is the number of multicast groups in each FDB table. Default is 32.
  • --container=<container-name> โ€” specifies the parent container name. e.g. dprc.2, dprc.3 etc. If it is not specified, the new object will be created under the default dprc.

๐Ÿ”ฅ EXAMPLE

Create a DPSW object with all default options:

$ restool dpsw create

๐Ÿ’€ destroy

Destroys a child DPSW under the root DPRC.

๐ŸŒŸ update

Configure a child DPSW under the root DPRC.

Usage: restool dpsw update <dpsw-object> [OPTIONS]

๐Ÿ’œ OPTIONS

  • --if-id=<number> โ€” specifies the number of the interface to configure. If not specified, configure all interfaces. All of them. Every single one ๐Ÿ’–
  • --taildrop=<0|1> โ€” used to enable or disable the feature.
  • --units=<units> โ€” specifies taildrop units: BYTES\FRAMES\BUFFERS.
  • --threshold=<number> โ€” specifies taildrop threshold.

๐Ÿงš DPBP

Usage: restool dpbp <command> [--help] [ARGS...]

where <command> can be:

๐ŸŒธ info

Displays detailed information about a DPBP object.

โœจ create

Creates a new child DPBP under the root DPRC.

Usage: restool dpbp create OPTIONS

๐ŸŽ€ OPTIONS

If options are not specified, create DPBP by default options.

  • --container=<container-name> โ€” specifies the parent container name. e.g. dprc.2, dprc.3 etc. If it is not specified, the new object will be created under the default dprc.

๐Ÿ’€ destroy

Destroys a child DPBP under the root DPRC.

โœจ DPCI โœจ

Usage: restool dpci <command> [--help] [ARGS...], where <command> can be:

  • info โ€” shows you the full deets on a DPCI object ๐Ÿ’…
  • create โ€” spins up a brand-new child DPCI under the root DPRC
  • destroy โ€” yeets a child DPCI under the root DPRC

๐ŸŒธ create

Usage:

restool dpci create OPTIONS

OPTIONS:

  • if options are not specified, create DPCI by default options
  • --options=<options-mask> โ€” where <options-mask> is a comma or space separated list of DPCI options:
    • DPCI_OPT_HAS_OPR
    • DPCI_OPT_OPR_SHARED
  • --num-priorities=<number> โ€” sets the number of priorities. Valid values are 1-2. Default value is 1
  • --container=<container-name> โ€” the parent container name, like dprc.2, dprc.3 etc. If it's not specified, the new object will be created under the default dprc ๐Ÿซถ

EXAMPLES:

Create a DPCI object with all default options:

$ restool dpci create

Create a DPCI object with 2 priorities:

$ restool dpci create --num-priorities=2

๐Ÿ’€ destroy

destroys a child DPCI under the root DPRC.


๐Ÿฆ‹ DPCON ๐Ÿฆ‹

Usage: restool dpcon <command> [--help] [ARGS...], where <command> can be:

  • info โ€” detailed info about a DPCON object, no gatekeeping
  • create โ€” makes a new child DPCON under the root DPRC
  • destroy โ€” destroys a child DPCON under the root DPRC

๐ŸŒธ create

Usage:

restool dpcon create OPTIONS

OPTIONS:

  • if options are not specified, create DPCON by default options
  • --num-priorities=<number> โ€” valid values for <number> are 1-8. Default value is 2.
  • --container=<container-name> โ€” the parent container name, like dprc.2, dprc.3 etc. If it's not specified, the new object will be created under the default dprc โœจ

EXAMPLES:

Create a DPCON object with all default options:

$ restool dpcon create

Create a DPCON with 2 priorities:

$ restool dpcon create --num-priorities=2

๐Ÿ’€ destroy

destroys a child DPCON under the root DPRC.


๐ŸŽ€ DPSECI ๐ŸŽ€

Usage: restool dpseci <command> [--help] [ARGS...], where <command> can be:

  • info โ€” everything you need to know about a DPSECI object
  • create โ€” creates a new child DPSECI under the root DPRC
  • destroy โ€” destroys a child DPSECI under the root DPRC

๐ŸŒธ create

Usage:

restool dpseci create --num-queues=<count> --priorities=<pri1,pri2,...> OPTIONS
  • --num-queues=<number of rx/tx queues> โ€” ranges from 1 to 16
  • --priorities=<priority1,priority2, ...,priority8> โ€” DPSECI supports num-queues priorities that can be individually set.
  • if --num-queues=3, then --priorities=X,Y,Z โ€” valid values for <priorityN> are 1-8.
  • --num-queues and --priorities must both be specified. Both. Like, the two of them. Periodt ๐Ÿ‘‘

OPTIONS:

  • if options are not specified, create DPSECI by default options
  • --options=<optionm-mask> โ€” where <options-mask> is a comma or space separated list of DPSECI options:
    • DPSECI_OPT_OPR_SHARED
    • DPSECI_OPT_HAS_OPR
    • DPSECI_OPT_HAS_CG
  • --container=<container-name> โ€” the parent container name, like dprc.2, dprc.3 etc. If it's not specified, the new object will be created under the default dprc ๐ŸŒˆ

EXAMPLE:

Create a DPSECI with 2 rx/tx queues, 2,4 priorities:

$ restool dpseci create --num-queues=2 --priorities=2,4
no bestie, <optionm-mask> isn't a typo I made up, that's literally how it's spelled on the page ๐Ÿ’€ keep it moving.

๐Ÿ’€ destroy

destroys a child DPSECI under the root DPRC.


๐Ÿงš DPDMUX ๐Ÿงš

Usage: restool dpdmux <command> [--help] [ARGS...], where <command> can be:

  • info โ€” detailed info on a DPDMUX object
  • create โ€” creates a new child DPDMUX under the root DPRC
  • destroy โ€” destroys a child DPDMUX under the root DPRC

๐ŸŒธ create

Usage:

restool dpdmux create --num-ifs=<number> OPTIONS
  • --num-ifs=<number> โ€” number of virtual interfaces (excluding the uplink interface)

OPTIONS:

  • --method=<dmat-method> โ€” where <dmat-method> defines the method of the DPDMUX address table. A valid value is one of the following:
    • DPDMUX_METHOD_NONE
    • DPDMUX_METHOD_C_VLAN_MAC
    • DPDMUX_METHOD_MAC
    • DPDMUX_METHOD_C_VLAN
    • DPDMUX_METHOD_CUSTOM

Default is DPDMUX_METHOD_C_VLAN_MAC

  • --manip=<manip> โ€” where <manip> defines the DPDMUX required manipulation operation. A valid value is one of the following:
    • DPDMUX_MANIP_NONE

Default is DPDMUX_MANIP_NONE

  • --options=<options-mask> โ€” where <options-mask> is a comma separated list of DPDMUX options:
    • DPDMUX_OPT_BRIDGE_EN
    • DPDMUX_OPT_CLS_MASK_SUPPORT

Default is 0

  • --default-if=<if-id-number> โ€” desired default interface ID. Default is 0 (no default interface). Maximum num_ifs.
  • --max-dmat-entries=<number> โ€” maximum entries in DPDMUX address table. Default is 64.
  • --max-mc-groups=<number> โ€” number of multicast groups in DPDMUX address table. Default is 32 groups.
  • --container=<container-name> โ€” the parent container name, like dprc.2, dprc.3 etc. If it's not specified, the new object will be created under the default dprc ๐Ÿ’œ

๐Ÿ’€ destroy

destroys a child DPDMUX under the root DPRC.


โญ DPMCP โญ

Usage: restool dpmcp <command> [--help] [ARGS...], where <command> can be:

  • info โ€” displays detailed information about a DPMCP object.
  • create โ€” creates a new child DPMCP under the root DPRC.
  • destroy โ€” destroys a child DPMCP under the root DPRC.

๐ŸŒธ create

Usage:

restool dpmcp create OPTIONS

OPTIONS:

  • if options are not specified, create DPMCP by default options
  • --container=<container-name> โ€” the parent container name, like dprc.2, dprc.3 etc.

If it is not specified, the new object will be created under the default dprc ๐Ÿซถ


๐Ÿ”ฅ DPMAC ๐Ÿ”ฅ

Usage: restool dpmac <command> [--help] [ARGS...], where <command> can be:

  • info โ€” displays detailed information about a DPMAC object.
  • create โ€” creates a new child DPMAC under the root DPRC.
  • destroy โ€” destroys a child DPMAC under the root DPRC.

๐ŸŒธ create

Usage:

restool dpmac create --mac-id=<number> OPTIONS
  • --mac-id=<number> โ€” where <number> specifies the id of the hardware MAC associated with the DPMAC object.

OPTIONS:

  • if options are not specified, create DPMAC by default options
  • --container=<container-name> โ€” the parent container name, like dprc.2, dprc.3 etc.

If it is not specified, the new object will be created under the default dprc ๐ŸŒธ

EXAMPLE:

create a DPMAC with specified mac id:

$ restool dpmac create โ€“mac-id=4
that's the page's own dash right there, copied character for character โ€” not me being chaotic, iykyk ๐Ÿ™ˆ

๐Ÿ’œ DPDCEI ๐Ÿ’œ

Usage: restool dpcei <command> [--help] [ARGS...], where <command> can be:

  • info โ€” displays detailed information about a DPDCEI object.
  • create โ€” creates a new child DPDCEI under the root DPRC.
  • destroy โ€” destroys a child DPDCEI under the root DPRC.

๐ŸŒธ create

Usage:

restool dpdcei create --engine=<engine> --priority=<number> OPTIONS
  • --engine=<engine> โ€” compression or decompression engine to be selected. A valid value is one of the following:
    • DPDCEI_ENGINE_COMPRESSION, DPDCEI_ENGINE_DECOMPRESSION
  • --priority=<number> โ€” priority for DCE hardware processing (valid values 1-8)

OPTIONS:

  • if options are not specified, create DPDCEI by default options
  • --container=<container-name> โ€” the parent container name, like dprc.2, dprc.3 etc.

If it is not specified, the new object will be created under the default dprc ๐ŸŽ€


๐Ÿ“ DPAIOP ๐Ÿ“

Usage: restool dpaiop <command> [--help] [ARGS...], where <command> can be:

  • info โ€” displays detailed information about a DPAIOP object.
  • create โ€” creates a new child DPAIOP under the root DPRC.
  • destroy โ€” destroys a child DPAIOP under the root DPRC.

๐ŸŒธ create

Usage:

restool dpaiop create --aiop-container=<container-name> OPTIONS
  • --aiop-container=<container-name> โ€” specifies the AIOP container name, e.g. dprc.3, dprc.4, etc.

OPTIONS:

  • if options are not specified, create DPAIOP by default options.
  • --container=<container-name> โ€” the parent container name, like dprc.2, dprc.3 etc.

If it is not specified, the new object will be created under the default dprc ๐Ÿ’–

EXAMPLE:

create a DPAIOP

$ restool dpaiop create --aiop-container=dprc.3

๐Ÿ’€ destroy

destroys a child DPAIOP under the root DPRC.

๐Ÿ’… DPRTC

Okay bestie, DPRTC time! The usage vibe is:

Usage: restool dprtc <command> [--help] [ARGS...], where <command> can be:

And <command> can be these icons:

  • info โ€” displays detailed information about a DPRTC object. Receipts, basically.
  • create โ€” creates a new child DPRTC under the root DPRC. New object, who dis?
  • destroy โ€” destroys a child DPRTC under the root DPRC. Gone-gone, periodt.

โœจ dprtc create

The usage is:

Usage: restool dprtc create OPTIONS

๐ŸŽ€ OPTIONS

  • If options are not specified, create DPRTC by default options. Lowkey the no-options route is valid.
  • --container=<container-name> โ€” Specifies the parent container name. e.g. dprc.2, dprc.3 etc. You're telling it which container is the parent, bestie.
If it is not specified, the new object will be created under the default dprc. Default dprc is the backup plan, fr fr.

๐ŸŒธ DPDMAI

DPDMAI has entered the chat! Usage is:

Usage: restool dpdmai <command> [--help] [ARGS...], where <command> can be:

The commands are:

  • info โ€” displays detailed information about a DPDMAI object. Info dump, but make it cute.
  • create โ€” creates a new child DPDMAI under the root DPRC. New child object, slay.
  • destroy โ€” destroys a child DPDMAI under the root DPRC. Bye bye, don't let the DPRC hit you on the way out.

๐Ÿ’– dpdmai create

Usage:

Usage: restool dpdmai create OPTIONS

๐Ÿฆ‹ OPTIONS

  • If options are not specified, create DPDMAI by default options. The default is: restool dpdmai create --priorities=1,2 (yes, bestie, that's literally the default).
  • --priorities=<priority1,priority2> โ€” Valid values for <priorityN> are 1-8. So keep those priority numbers inside the 1-8 window, okay?
  • --num-queues=<number> โ€” Valid values are [1, #num-cores]. Queue math, but make it valid.
  • --container=<container-name> โ€” Specifies the parent container name. e.g. dprc.2, dprc.3 etc. Same container-name energy as above.
If it is not specified, the new object will be created under the default dprc. No container named? Default dprc it is.

๐ŸŒˆ EXAMPLES

Example time, obviously:

Create a DPDMAI object with all default options:

$ restool dpdmai create

Create a DPDMAI with 2,4 priorities:

$ restool dpdmai create --priorities=2,4

๐Ÿ‘‘ AUTHORS

Cosmin-Florin Aluchenesei. Author credit, iconic.


That's the whole page, bestie! This was restool 1.0.0, dated January 2021 โ€” go forth and slay those DPAA2 objects ๐Ÿ’…โœจ๐ŸŽ€๐Ÿซถ

๐Ÿ“ฆ where this page comes from