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]
NAMEis used as an identifier of the component.DIRECTIVEis 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_IDis a resource ID and defined as a combination of resource type and number separated with delimiter:. There are three types of resources.phyfor physical NICvhostfor vhost PMDringfor ring PMD
PORT_TYPEisrxortx.NAMEis 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}