summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorToni Uhlig <matzeton@googlemail.com>2021-01-08 10:54:44 +0100
committerToni Uhlig <matzeton@googlemail.com>2021-01-08 10:54:44 +0100
commitb82a535a45c5eaadbbc558c6063e35dd1c99ce1f (patch)
treeb6a709fe6cfed283e9cf66b77951ae8ec4876edb
parentf637802c0aabb976d2a84bfdca9ff468536e4e5a (diff)
Increased network buffer size for python scripts (and raise exception if capacity reached).
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
-rw-r--r--config.h4
-rw-r--r--dependencies/nDPIsrvd.py5
2 files changed, 8 insertions, 1 deletions
diff --git a/config.h b/config.h
index aa635515b..45af506ac 100644
--- a/config.h
+++ b/config.h
@@ -7,6 +7,10 @@
#define DISTRIBUTOR_HOST "127.0.0.1"
#define DISTRIBUTOR_PORT 7000
+/*
+ * NOTE: Buffer size needs to keep in sync with other implementations
+ * e.g. dependencies/nDPIsrvd.py
+ */
#define NETWORK_BUFFER_MAX_SIZE 9728 /* 8192 + 1024 + 512 */
/* nDPId default config options */
diff --git a/dependencies/nDPIsrvd.py b/dependencies/nDPIsrvd.py
index 8d0a09d3e..bdc7497ab 100644
--- a/dependencies/nDPIsrvd.py
+++ b/dependencies/nDPIsrvd.py
@@ -14,7 +14,7 @@ DEFAULT_PORT = 7000
DEFAULT_UNIX = '/tmp/ndpid-distributor.sock'
NETWORK_BUFFER_MIN_SIZE = 5
-NETWORK_BUFFER_MAX_SIZE = 9216 # Please keep this value in sync with the one in config.h
+NETWORK_BUFFER_MAX_SIZE = 9728 # Please keep this value in sync with the one in config.h
PKT_TYPE_ETH_IP4 = 0x0800
PKT_TYPE_ETH_IP6 = 0x86DD
@@ -59,6 +59,9 @@ class nDPIsrvdSocket:
self.digitlen = 0
def receive(self):
+ if len(self.buffer) == NETWORK_BUFFER_MAX_SIZE:
+ raise RuntimeError('buffer capacity reached ({} bytes), check if it is in sync with nDPId\'s NETWORK_BUFFER_MAX_SIZE'.format(NETWORK_BUFFER_MAX_SIZE))
+
recvd = self.sock.recv(NETWORK_BUFFER_MAX_SIZE - len(self.buffer))
if len(recvd) == 0: