Soft Patch Panel
 help / color / Atom feed
* [spp] [PATCH] tools/sppc: add launcher for suricata
@ 2019-08-27  9:51 yasufum.o
  0 siblings, 0 replies; only message in thread
From: yasufum.o @ 2019-08-27  9:51 UTC (permalink / raw)
  To: spp, ferruh.yigit, yasufum.o

From: Yasufumi Ogawa <yasufum.o@gmail.com>

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>
---
 tools/sppc/app/suricata.py | 60 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)
 create mode 100755 tools/sppc/app/suricata.py

diff --git a/tools/sppc/app/suricata.py b/tools/sppc/app/suricata.py
new file mode 100755
index 0000000..5bbff5f
--- /dev/null
+++ b/tools/sppc/app/suricata.py
@@ -0,0 +1,60 @@
+#!/usr/bin/env python
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2019 Nippon Telegraph and Telephone Corporation
+
+import argparse
+import os
+import subprocess
+import sys
+
+work_dir = os.path.dirname(__file__)
+sys.path.append(work_dir + '/..')
+from conf import env
+from lib import app_helper
+from lib import common
+
+target_name = 'suricata'
+
+
+def parse_args():
+    parser = argparse.ArgumentParser(
+        description="Launcher for suricata container")
+
+    parser = app_helper.add_eal_args(parser)
+    parser = app_helper.add_appc_args(parser)
+    parser = app_helper.add_sppc_args(parser)
+    return parser.parse_args()
+
+
+def main():
+    args = parse_args()
+
+    # Setup for vhost devices with given device IDs.
+    dev_ids_list = app_helper.dev_ids_to_list(args.dev_ids)
+    sock_files = app_helper.sock_files(dev_ids_list)
+
+    # Setup docker command.
+    docker_cmd = ['sudo', 'docker', 'run', '\\']
+    docker_opts = app_helper.setup_docker_opts(
+        args, target_name, sock_files)
+
+    cmd_path = '/bin/bash'
+
+    cmd = [cmd_path, '\\']
+
+    cmds = docker_cmd + docker_opts + cmd
+    if cmds[-1] == '\\':
+        cmds.pop()
+    common.print_pretty_commands(cmds)
+
+    if args.dry_run is True:
+        exit()
+
+    # Remove delimiters for print_pretty_commands().
+    while '\\' in cmds:
+        cmds.remove('\\')
+    subprocess.call(cmds)
+
+
+if __name__ == '__main__':
+    main()
-- 
2.17.1


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, back to index

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-27  9:51 [spp] [PATCH] tools/sppc: add launcher for suricata yasufum.o

Soft Patch Panel

Archives are clonable:
	git clone --mirror http://inbox.dpdk.org/spp/0 spp/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 spp spp/ http://inbox.dpdk.org/spp \
		spp@dpdk.org
	public-inbox-index spp


Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.spp


AGPL code for this site: git clone https://public-inbox.org/ public-inbox