From b2978becdee26c6fc731845d1139d494eece3fb3 Mon Sep 17 00:00:00 2001 From: chiennan_lin Date: Thu, 4 Feb 2021 15:12:19 +0800 Subject: [PATCH] Fix uncatched RuntimeError throwed when socket error while receiving packet afpacket.recv will throw RuntimeError when sniffed interface had link flipped. IfaceMgr doesn't catch the RuntimeError causing thread exit the main loop, thus can't receive packet anymore. --- ptf_nn/ptf_nn_agent.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ptf_nn/ptf_nn_agent.py b/ptf_nn/ptf_nn_agent.py index a6f7fa9..2ecb121 100644 --- a/ptf_nn/ptf_nn_agent.py +++ b/ptf_nn/ptf_nn_agent.py @@ -265,7 +265,7 @@ def run(self): while True: msg = afpacket.recv(self.socket, 4096) self.received(msg) - except socket.error as err: + except (socket.error, RuntimeError) as err: logger.debug("IfaceMgr {}-{} ({}) Error reading from the socket.".format( self.dev, self.port, self.iface_name)) self.socket.close()