5.2. Secondary Commands¶
Each of secondary processes is managed with sec
command.
It is for sending sub commands to secondary with specific ID called
secondary ID.
sec
command takes an secondary ID and a sub command. They must be
separated with delimiter ;
.
Some of sub commands take additional arguments for speicfying resource
owned by secondary process.
spp > sec [SEC_ID];[SUB_CMD]
5.2.1. status¶
Show running status and resources.
spp > sec 1;status
recv:7:{Client ID 1 Idling
1
port id: 0,on,PHY,outport: none
port id: 1,on,PHY,outport: none
}
5.2.2. component¶
Note
This command is only supported for spp_vf.
Start or stop a component. SPP VF provides three types of components,
forwarder
, classifier
and merger
.
component start
command creates and starts a component with given
options.
spp > sec [SEC_ID];component start [NAME] [CORE_ID] [DIRECTIVE]
NAME
is used as an identifier of the component.DIRECTIVE
is a role of the component and corresponds to three types of components.- forward
- merge
- classifier_mac
This is an example for starting three types of components.
spp > sec 1;component start forwarder1 2 forward
spp > sec 1;component start merger1 3 merge
spp > sec 1;component start classifier1 4 classifier_mac
component stop
command terminates a component with given options
same as component start
command..
spp > sec [SEC_ID];component stop [NAME] [CORE_ID] [DIRECTIVE]
This is an example for stopping three types of components.
spp > sec 1;component stop forwarder1 2 forward
spp > sec 1;component stop merger1 3 merge
spp > sec 1;component stop classifier1 4 classifier_mac
5.2.3. port¶
Note
This command is only supported for spp_vf.
Add a port to a component or delete it from. SPP VF is able to treat VLAN tag by adding port with VLAN options.
port add
command adds a port to a component with given options.
spp > sec [SEC_ID];port add [RES_ID] [PORT_TYPE] [NAME]
RES_ID
is a resource ID and defined as a combination of resource type and number separated with delimiter:
. There are three types of resources.phy
for physical NICvhost
for vhost PMDring
for ring PMD
PORT_TYPE
isrx
ortx
.NAME
is used as an identifier of the component.
This is an example for adding port phy:0
to classifier1
as
rx
and to merger1
as tx
.
spp > sec 1;port add phy:0 rx classifier1
spp > sec 1;port add phy:0 tx merger1
For VLAN support, you need to add options for port add
command.
To add VLAN tag, additional option add_vlantag
with its options
VLAN_ID
and PCP
are required.
spp > sec [SEC_ID];port add [RES_ID] [PORT_TYPE] [NAME] add_vlantag [VLAN_ID] [PCP]
PCP
(Priority Code Point) is an attribute for priority defined in IEEE 802.1p standard. It is ranged from 0 to 7 and 7 is the highest priority.
Or to delete VLAN tag, del_vlantag
option is required.
spp > sec [SEC_ID];port add [RES_ID] [PORT_TYPE] [NAME] del_vlantag
This is an example for adding a port with add_vlantag
or
del_vlantag
.
In this case, add rx port to append VLAN ID 101 with PCP 3 and
tx port to append VLAN ID 102 with PCP3.
- Add VLAN tag
spp > sec 1;port add phy:0 rx classifier1 add_vlantag 101 3
spp > sec 1;port add phy:0 tx merger1 add_vlantag 102 3
- Delete VLAN tag
spp > sec 1;port add phy:0 rx classifier1 del_vlantag
spp > sec 1;port add phy:0 tx merger1 del_vlantag
port del
command deletes a port from a component with given options
same as port add
command..
spp > sec [SEC_ID];port del [RES_ID] [PORT_TYPE] [NAME]
This is an example for deleting port added in previous example.
spp > sec 1;port del phy:0 rx classifier1
spp > sec 1;port del phy:0 tx merger1
5.2.4. classifier_table¶
Note
This command is only supported for spp_vf.
Register an entry as a combination of MAC address and resource ID to classifier table.
spp > sec [SEC_ID];classifier_table add mac [MAC_ADDRESS] [RES_ID]
This is an example to register an entry for port ring:0
.
spp > sec 1;classifier_table add mac 52:54:00:01:00:01 ring:0
Register an entry with a VLAN ID to classifier table.
spp > sec 1;classifier_table add vlan [VLAN_ID] [MAC_ADDRESS] [RES_ID]
This is an example to register an entry with VLAN ID 101
for port ring:0
.
spp > sec 0;classifier_table add vlan 101 52:54:00:01:00:01 ring:0
Delete an entry.
spp > sec 1;classifier_table add del [MAC_ADDRESS] [RES_ID]
This is an example to delete an entry for port ring:0
.
spp > sec 1;classifier_table del mac 52:54:00:01:00:01 ring:0
Delete an entry with a VLAN ID.
spp > sec 1;classifier_table del vlan [VLAN_ID] [MAC_ADDRESS] [RES_ID]
This is an example to delete an entry with VLAN ID 101.
spp > sec 0;classifier_table del vlan 101 52:54:00:01:00:01 ring:0
5.2.5. flush¶
Note
This command is only supported for spp_vf.
Activate series of commands for a SPP VF secondary process
(component
, port
or classifier
command).
You can cancel commands any time until
before running cancel
command.
spp > sec 1;flush
5.2.6. cancel¶
Note
This command is only supported for spp_vf.
Cancel all of commands for a SPP VF secondary process
before running flush
command.
spp > sec 1;cancel
5.2.7. add¶
Add a PMD to the secondary with resource ID.
Adding ring 0 by
spp> sec 1;add ring 0
recv:7:{addring0}
Or adding vhost 0 by
spp> sec 1;add vhost 0
recv:7:{addvhost0}
5.2.8. patch¶
Create a path between two ports, source and destination ports. Port ID is referred by status sub commnad. This command just creates path and does not start forwarding.
spp > sec 1;patch 0 2
recv:7:{patch02}
5.2.9. forward¶
Start forwarding.
spp > sec 1;forward
recv:7:{start forwarding}
Running status is changed from Idling
to Running
by
executing it.
spp > sec 1;status
recv:7:{Client ID 1 Running
1
port id: 0,on,PHY,outport: none
port id: 1,on,PHY,outport: none
}
5.2.10. stop¶
Stop forwarding.
spp > sec 1;stop
recv:7:{start forwarding}
Running status is changed from Running
to Idling
by
executing it.
spp > sec 1;status
recv:7:{Client ID 1 Running
1
port id: 0,on,PHY,outport: none
port id: 1,on,PHY,outport: none
}
5.2.11. del¶
Delete PMD added by add
subcommand from the secondary.
spp> sec 1;del ring 0
recv:7:{delring0}
5.2.12. exit¶
Terminate the secondary. For terminating all secondaries, use bye sec
command instead of it.
spp> sec 1;exit
recv:7:{delring0}