Lines Matching defs:self
26 def __init__(self, ip_src: Address, ip_dst: Address, l4_sport: int, l4_dport: int):
27 self.ip_src = ip_src
28 self.ip_dst = ip_dst
29 self.l4_sport = l4_sport
30 self.l4_dport = l4_dport
32 def reverse(self):
34 ip_src=self.ip_dst,
35 l4_sport=self.l4_dport,
36 ip_dst=self.ip_src,
37 l4_dport=self.l4_sport,
40 def hash_data(self, use_l4_port: bool = False) -> bytes:
41 data = self.ip_src.packed + self.ip_dst.packed
43 data += struct.pack(">H", self.l4_sport)
44 data += struct.pack(">H", self.l4_dport)
50 self,
56 self.ip_src = ip_src
57 self.ip_dst = ip_dst
58 self.l4_sport_range = l4_sport_range
59 self.l4_dport_range = l4_dport_range
61 def __iter__(self) -> typing.Iterator[Packet]:
62 for ip_src in self.ip_src.hosts():
63 for ip_dst in self.ip_dst.hosts():
66 for sport in self.l4_sport_range:
67 for dport in self.l4_dport_range:
73 self,
79 self.queues_count = queues_count
80 self.reta = tuple(i % queues_count for i in range(reta_size))
81 self.key = key
82 self.use_l4_port = use_l4_port
84 def toeplitz_hash(self, data: bytes) -> int:
94 keyword.value |= self.key[i] << 24
95 keyword.value |= self.key[i + 1] << 16
96 keyword.value |= self.key[i + 2] << 8
97 keyword.value |= self.key[i + 3]
101 keyword.value |= self.key[i + 4] >> (8 - j)
107 def get_queue_index(self, packet: Packet) -> int:
108 bytes_to_hash = packet.hash_data(self.use_l4_port)
111 hash_value = self.toeplitz_hash(bytes_to_hash)
114 offset = hash_value & (len(self.reta) - 1)
116 return self.reta[offset]
159 def __init__(self, key: bytes = None, reta_size: int = None):
160 self.__key = key
161 self.__reta_size = reta_size
163 def rss_key(self) -> bytes:
164 return self.__key
166 def reta_size(self, num_queues: int) -> int:
167 return self.__reta_size
171 def rss_key(self) -> bytes:
185 def reta_size(self, num_queues: int) -> int: