From b82a535a45c5eaadbbc558c6063e35dd1c99ce1f Mon Sep 17 00:00:00 2001 From: Toni Uhlig Date: Fri, 8 Jan 2021 10:54:44 +0100 Subject: Increased network buffer size for python scripts (and raise exception if capacity reached). Signed-off-by: Toni Uhlig --- config.h | 4 ++++ dependencies/nDPIsrvd.py | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) 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: -- cgit v1.2.3