From d7b124b19a5dba26e6943b93949eb68bb4017e88 Mon Sep 17 00:00:00 2001 From: Florent Fourcot Date: Tue, 7 Apr 2020 10:54:36 +0200 Subject: [PATCH] conntrack: add some __slots__ attribute to reduce memory usage --- pyroute2/conntrack.py | 6 ++++++ pyroute2/netlink/nfnetlink/nfctsocket.py | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/pyroute2/conntrack.py b/pyroute2/conntrack.py index 0ddb17f8..0f380be6 100644 --- a/pyroute2/conntrack.py +++ b/pyroute2/conntrack.py @@ -9,6 +9,9 @@ from pyroute2.netlink.nfnetlink.nfctsocket import NFCTSocket class NFCTATcpProtoInfo(object): + __slots__ = ('state', 'wscale_orig', 'wscale_reply', 'flags_orig', + 'flags_reply') + def __init__(self, state, wscale_orig=None, wscale_reply=None, flags_orig=None, flags_reply=None): self.state = state @@ -49,6 +52,9 @@ class NFCTATcpProtoInfo(object): class ConntrackEntry(object): + __slots__ = ('tuple_orig', 'tuple_reply', 'status', 'timeout', + 'protoinfo', 'mark', 'id', 'use') + def __init__(self, family, tuple_orig, tuple_reply, cta_status, cta_timeout, cta_protoinfo, cta_mark, cta_id, cta_use): self.tuple_orig = NFCTAttrTuple.from_netlink(family, tuple_orig) diff --git a/pyroute2/netlink/nfnetlink/nfctsocket.py b/pyroute2/netlink/nfnetlink/nfctsocket.py index 3f5fe909..94918343 100644 --- a/pyroute2/netlink/nfnetlink/nfctsocket.py +++ b/pyroute2/netlink/nfnetlink/nfctsocket.py @@ -367,6 +367,11 @@ class NFCTAttr(object): class NFCTAttrTuple(NFCTAttr): + + __slots__ = ('saddr', 'daddr', 'proto', 'sport', 'dport', + 'icmp_id', 'icmp_type', 'family', '_attr_ip', + '_attr_icmp') + def __init__(self, family=socket.AF_INET, saddr=None, daddr=None, proto=None, sport=None, dport=None, icmp_id=None, icmp_type=None, icmp_code=None): -- GitLab