summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-11-04tools/sppc: separate building container imagestable-v18.08Yasufumi Ogawa
Building container image takes a long time for retrieving several packages and compile them. This update is to divide each Dockerfile into installing with apt install and building DPDK and its apps. In the second step, it uses the image created in the first step. Files named as `Dockerfile.*.base` are for installing packages, and no need to run them basically because this built image is uploaded to docker hub. You just run Dockerfiles which do not have `base` in the name. You only need to run `Dockerfile.*.base` if you make some changes in the file, or in offline. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-11-04bin: add opt for waiting pri in startup scriptYasufumi Ogawa
This update is to add option `--wait-pri` for `bin/start.sh`. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-11-04cli: change to wait spp_primary as optionalYasufumi Ogawa
For SPP CLI, waiting spp_primary launched is useful, but no need if it is already launched. This update is to change the feature as optional. SPP CLI waits primary if `--wait-pri` is given. $ python3 src/spp.py --wait-pri In terms of implementation, behaviour of waiting primary is moved from __init__() to _wait_pri_launched(). Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-11-04cli: output time to start spp_primaryYasufumi Ogawa
This is a tiny update for displaying a time cost for launching spp_primary. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-11-04cli: wait for spp_primary is launchedYasufumi Ogawa
This update is to add checking if spp_primary is ready for use. Interval time and timeout for checking are defined in Shell class as following. WAIT_PRI_INTERVAL = 0.5 # sec WAIT_PRI_TIMEOUT = 20 # sec This update is also including refactor for each of `print` method to use `format` method. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-10-04version: 18.08.4v18.08.4Yasufumi Ogawa
This patch is to update SPP to v18.08.4. * Fix bug for deleting vhost PMD in spp_nfv. * Add REST APIs for adding and deleting ports from primary process. * Add `bin/startup.sh` to start spp-ctl, CLI and spp_primary for quick start. Options for processes are defined in `bin/config.sh`. * Update managing devices given with `--vdev` because mechanism of sharing vdevs between primary and secondary is changed in DPDK. * Fix assigning wrong master lcore in which it is always assigned 0 if it is given other than 0. * Fix wrong finalization if rte_eal_init() is failed. * Change SPP_RET_OK and SPP_RET_NG to SPPWK_RET_OK and SPPWK_RET_NG because it is only used in secondary worker processes. * Disable to launch secondary processes with the same IDs wrongly. * Rename directory `controller` to `cli`, and label name in git log, because it should be distinguished from spp-ctl. * For testing behaviours of spp_primary, enable to add arbitrary vdevs and add `--dry-run` option. $ bin/start.sh --dry-run * Fix compile error of spp_pcap in SPP container. * Refactor spp_vf, spp_mirror and spp_pcap to reduce duplicated definitions and files. * Add config option for SPP CLI to specify any of config file. $ python3 src/spp.py --config /path/to/your/config.yml * Add validation for config command to check given value. * Update `topo` command. - Add supported types of secondary processes other than spp_nfv. - Add supported port types for spp_pcap. - remove `topo_resize` because it is changed to be set from `config` command. - Revise placeholder for styles. - Several bug fixes. * Add blacklist and whitelist options for SPP container. * Add app containers for `l3fwd-acl` and `suricata`[1]. For suricata, it is also added a build script for. - [1] https://github.com/vipinpv85/DPDK_SURICATA-4_1_1 * Add recipes for testing usecases described in docs. * Revise ringlatencystats, but still remained some problems for compiling in some environments. It is a TODO should be fixed in a future. * Fix many TODOs. * And many misc updates for improving usability and maintainability. * Update documentation for above changes. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-10-04docs: update install sectionYasufumi Ogawa
This update is to revise how to install Python packages with `requirements.txt` to be more clear meaning. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-10-04docs: revise misc in setup sectionYasufumi Ogawa
There are still ambiguous descriptions in setup guide, such as "Ubuntu or CentOS?", "1GB or 2MB hugepages?" or so. This update is to revise the descriptions. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-10-04spp_pcap: rename function spp_format_port_stirngYasufumi Ogawa
This update is to rename spp_format_port_stirng() which is for getting port type as resource UID to sppwk_port_uid(). Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-10-04tools/sppc: make compiling faster in build imagesYasufumi Ogawa
Add `-j` option to each of make commands to compile programs in parallel. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-10-04docs: fix wrong filename in building imagesYasufumi Ogawa
Fix old `build/build.py` to the latest `build/main.py`. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-10-04shared: rename func spp_check_used_portYasufumi Ogawa
This update is to rename spp_check_used_port() to sppwk_check_used_port() for conventions. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-10-04shared: refactor func spp_check_core_updateYasufumi Ogawa
spp_check_core_update() is used for inspecting lcore information of given ID is updated or not. If it is not updated, it returns SPP_RET_NG. However, it is not appropriate NG for the case just made no changed. This update is to change to return 0 if info is not changed, or 1. Name of function is also changed to sppwk_is_lcore_updated() to be more specific for the usage. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-10-04shared: rename func spp_get_component_typeYasufumi Ogawa
This update is to rename spp_get_component_type() to sppwk_get_comp_type() for conventions. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-10-04shared: remove unused spp_get_component_coreYasufumi Ogawa
spp_get_component_core() is used for getting information of given lcore ID, but not used from anywhere. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-10-04shared: add TODO to fix bug in latency statsYasufumi Ogawa
Spp_vf and spp_mirror has a feature for measuring latency of ring PMD. This optional feature is intended to be used by developers and is not activate by default. It is activated by editing Makefile in src/vf and src/mirror. Although this feature is not interested by most of users and does not prevent users from using SPP, it should be fixed. This update is to add TODO comments for notifying users to not use this feature until the bug is fixed. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-10-04spp_pcap: revise util func for status commandYasufumi Ogawa
As previous patch for spp_vf, this update is to rename it to iterate_lcore_info() and add comments as refactoring. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-10-04spp_mirror: revise util func for status commandYasufumi Ogawa
As previous patch for spp_vf, this update is to rename it to iterate_lcore_info() and add comments as refactoring. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-10-04spp_vf: revise util func for status commandYasufumi Ogawa
Util function spp_iterate_core_info() is for gettng each of lcore info for composing response of status command. This update is to rename it to iterate_lcore_info() and add comments as refactoring. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-10-04shared: renaem util funcs of ring latencyYasufumi Ogawa
Rename following functions for conventions. * spp_ringlatencystats_add_time_stamp() to sppwk_add_ring_latency_time() * spp_ringlatencystats_get_count() to sppwk_get_ring_latency_stats_count() * spp_ringlatencystats_get_stats() to sppwk_get_ring_latency_stats() Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-10-04shared: rename func for init latency statsYasufumi Ogawa
This update is to revise name of func spp_ringlatencystats_init() to sppwk_ring_latency_stats(), and also spp_ringlatencystats_uninit() to sppwk_clean_ring_latency_stats() to be more specific. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-10-04shared: rename struct for ring latency statsYasufumi Ogawa
Struct `spp_ringlatencystats_ring_latency_stats` is for containing stats as a histgram like data. It is only used in `latency_stats.c` and its header locally, so no need to such a long name. This update is to rename it to `ring_latency_stats_t`. This update also includes revising name of vars and comments. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-10-04shared: rename func for calc latency of ringYasufumi Ogawa
Name of spp_ringlatencystats_calculate_latency() is too long and redundant. sppwk_calc_ring_latency() is enough for the usage. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-10-04shared: rename file ringlatencystats to be shortYasufumi Ogawa
Filename of `ringlatencystats.c` and its header is not understandable because it is too long and has no separators. `latency_stats` is enough for the usage and no need to add `ring` explicitly. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-10-04spp_vf: remove unit test sectionYasufumi Ogawa
As spp_mirror, spp_vf supports unit test but nouse anymore. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-10-04spp_mirror: remove unit test sectionYasufumi Ogawa
Spp_mirror supports unit test which was used before released, but nouse anymore. This update is to remove the feature. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-09-10recipes: add spp_vf usecasesHideyuki Yamashita
This patch is to provide recipe scripts for usecase of spp_vf "Classify ICMP Packets". Signed-off-by: Hideyuki Yamashita <yamashita.hideyuki@po.ntt-tx.co.jp> Signed-off-by: Naoki Takada <ntakada14@gmail.com> Acked-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-09-10recipes: add multiple nodes usecasesHideyuki Yamashita
This patch is to provide recipe scripts for usecase of Multiple Nodes in docs. Signed-off-by: Hideyuki Yamashita <yamashita.hideyuki@po.ntt-tx.co.jp> Signed-off-by: Naoki Takada <ntakada14@gmail.com> Acked-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-09-10recipes: add spp_mirror usecasesHideyuki Yamashita
This patch is to provide recipe scripts for spp_pcap usecase "Duplicate Packets". Signed-off-by: Hideyuki Yamashita <yamashita.hideyuki@po.ntt-tx.co.jp> Signed-off-by: Naoki Takada <ntakada14@gmail.com> Acked-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-09-10recipes: add spp_pcap usecasesHideyuki Yamashita
This patch is to add recipe scripts for usecases of spp_pcap in docs. Signed-off-by: Hideyuki Yamashita <yamashita.hideyuki@po.ntt-tx.co.jp> Signed-off-by: Naoki Takada <ntakada14@gmail.com> Acked-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-09-10recipes: update spp_nfv usecasesHideyuki Yamashita
To enable user to run usecases, update recipe scripts of spp_nfv for the latest docs. Some of usecases are consists of several scripts under sub-directories so that user can run step by step. - Single spp_nfv - Dual spp_nfv - Dual spp_nfv with Ring PMD - Single spp_nfv with PCAP PMD Signed-off-by: Hideyuki Yamashita <yamashita.hideyuki@po.ntt-tx.co.jp> Signed-off-by: Naoki Takada <ntakada14@gmail.com> Acked-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-09-10docs: add suricata in sppcYasufumi Ogawa
This update is to add build and howto use section for suricata in SPP container. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-09-10tools/sppc: remove spp_vm launcherYasufumi Ogawa
As spp_vm was deprecated from SPP secondary, this update is to remove spp_vm launcher script. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-08-27tools/sppc: add launcher for suricataYasufumi Ogawa
This update is add launcher script for suricata. Here is an example of usage. Suricata is expected from command line, so this launcher is jsut to start bash and you need to suricata itself from bash. You notice that you need to upload your suricata config before run launcher. $ docker cp your.cnf CONTAINER_ID:/path/to/conf/your.conf $ ./suricata.py -d 1,2 -fg -ci sppc/suricata-ubuntu2:latest # suricata --dpdk=/path/to/config Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-08-27tools/sppc: change suricata ubuntu latestYasufumi Ogawa
Sometimes, building suricata on Ubuntu 18.04 is failed even if using tar.gz file, and it is more stable to build as 16.04 even though steps for building is increased. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-08-27tools/sppc: add suricata build for ubuntu1604Yasufumi Ogawa
Script for building an image of suricata-4.1.4 on Ubuntu 18.04 was released as previous patch. This update is to add support for Ubuntu 16.04. Building suricata-4.1.4 on Ubuntu 16.04 image has some problems and you cannot complete to compile suricata while docker building. So, you need to compile suricata by yourself after launched a container of the build image which is named as `sppc/suricata-ubuntu:16.04` by default. $ ./main.py -t suricata --dpdk-branch v18.11 --dist-ver 16.04 $ docker images ... sppc/suricata-ubuntu 16.04 ... $ docker run -it sppc/suricata-ubuntu:16.04 /bin/bash # ./install_suricata.sh ... After compilation is successfully done, logout and create a new docker image on which suricata is already built with `docker commit` command and image's container ID. In this example, new image is named as `sppc/suricata-ubuntu2:16.04`. # exit $ docker ps -a CONTAINER_ID sppc/suricata-ubuntu:16.04 "/bin/bash" 3 minutes ... $ docker commit CONTAINER_ID sppc/suricata-ubuntu2:16.04 Finally, you can run suricata with the new image. $ docker run -it sppc/suricata-ubuntu:16.04 /bin/bash # suricata --build-info These steps are described in documents in the next patches. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-08-27spp_nfv: fix buffer overflowYasufumi Ogawa
String `port_set` is used for containing a set of src and dst ports for returned message. It is formatted as 39 chars as following, although its buffer size is 32. "{\"src\":\"%s:%d\",\"dst\":\"%s:%d\"}" // 39 chars This update is to fix the bug by increasing buffer size to 128 which is enough for the usage. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-08-26tools/sppc: add building suricata imageYasufumi Ogawa
Suricata is a sophisticated IDS/IPS application supprting DPDK optionally[1]. This patch is to add suricata support to SPP container build script. [1] https://suricata-ids.org/ Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-08-26docs: rename SPP_CTRL_IP for sppcYasufumi Ogawa
As `SPP_CTRL_IP` is renamed in app container scripts, this update is to rename it in documentation. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-08-26tools/sppc: change env var SPP_CTRL_IPYasufumi Ogawa
The name of `SPP_CTRL_IP` of spp-ctl is ambiguous and it is better to renmae `SPP_CTL_IP`. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-08-26docs: remove topo_resize commandYasufumi Ogawa
As topo_resize command is removed from SPP CLI, remove it from documentation. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-08-26docs: add captured port types for spp_pcapYasufumi Ogawa
Spp_pcap only supports two port types, phy and ring, currently. However, There is no explanation for the supported types. This update is to add descriptions for. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-08-26tools/sppc: fix --signle-file-segments trueYasufumi Ogawa
This update is to fix a bug for which --single-file-segments option is always activated even if it is not given. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-08-20docs: add l3fwd-acl app containerYasufumi Ogawa
This update is to add descriptions for l3fwd-acl app container. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-08-20tools/sppc: add l3fwd-acl app containerYasufumi Ogawa
This update is to add l3fwd-acl app container [1]. [1]https://doc.dpdk.org/guides/sample_app_ug/l3_forward_access_ctrl.html Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-08-15docs: add single file segments EAL option for sppcYasufumi Ogawa
This update is to add examples of `blacklist` and `whitelist` to examples of SPP container tools. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-08-15tools/sppc: add single file segments EAL optionYasufumi Ogawa
This update is to add an EAL option `--single-file-segments` for app containers. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-08-13docs: add usage of blacklist for SPP containerYasufumi Ogawa
This update is to add description of usage of blacklist option. It describes how to inspect PCI addresses and how to specify them while launching app container. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-08-13docs: add two optiosn to examples of sppcYasufumi Ogawa
This update is to add examples of `blacklist` and `whitelist` to examples of SPP container tools. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
2019-08-13tools/sppc: add blacklist and whitelist optionsYasufumi Ogawa
EAL option `blacklist` is to exclude PCI devices from under management of DPDK, and `whitelist` is to include devices in opposition. This update is to add thesee options to app launcher because app container tries to have PCI devices, such as `phy:0` or so, which are already owned by SPP without `blacklist` or `whitelist`. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>