]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
suricatasc: add register-tenant-handler command
authorVictor Julien <victor@inliniac.net>
Fri, 6 Feb 2015 14:08:44 +0000 (15:08 +0100)
committerVictor Julien <victor@inliniac.net>
Thu, 23 Jul 2015 17:36:15 +0000 (19:36 +0200)
Arguments:
- tenant id (int)
- name of handler (string)
- traffic id related to handler (int, optional)

Examples:
- register-tenant-handler 1 vlan 1111
- register-tenant-handler 8 pcap

scripts/suricatasc/src/suricatasc.py

index 9507b6ba5f97b9c94ea63ad8d3b7c9cb87588f9d..97f1c24d70384fcc081e22c080b9bc0617624641 100644 (file)
@@ -80,7 +80,7 @@ class SuricataCompleter:
 
 class SuricataSC:
     def __init__(self, sck_path, verbose=False):
-        self.cmd_list=['shutdown','quit','pcap-file','pcap-file-number','pcap-file-list','iface-list','iface-stat','register-tenant','unregister-tenant']
+        self.cmd_list=['shutdown','quit','pcap-file','pcap-file-number','pcap-file-list','iface-list','iface-stat','register-tenant','unregister-tenant','register-tenant-handler']
         self.sck_path = sck_path
         self.verbose = verbose
 
@@ -212,6 +212,23 @@ class SuricataSC:
                 else:
                     arguments = {}
                     arguments["variable"] = variable
+            elif "register-tenant-handler" in command:
+                try:
+                    parts = command.split(' ')
+                except:
+                    raise SuricataCommandException("Arguments to command '%s' is missing" % (command))
+                cmd, tenantid, htype = parts[0], parts[1], parts[2]
+                hargs = None
+                if len(parts) > 3:
+                    hargs = parts[3]
+                if cmd != "register-tenant-handler":
+                    raise SuricataCommandException("Invalid command '%s'" % (command))
+                else:
+                    arguments = {}
+                    arguments["id"] = int(tenantid)
+                    arguments["htype"] = htype
+                    if hargs != None:
+                        arguments["hargs"] = int(hargs)
             elif "unregister-tenant" in command:
                 try:
                     [cmd, tenantid] = command.split(' ', 1)