def ReadDirectCounters(self, table_name=None, counter_name=None, table_entry=None, dry_run=False): request = p4runtime_pb2.ReadRequest() request.device_id = self.device_id entity = request.entities.add() counter_entry = entity.direct_counter_entry if counter_name: counter_entry.counter_id = self.p4info_broswer.get_direct_counters_id( counter_name) else: counter_entry.counter_id = 0 # TODO we may not need this table entry if table_name: table_entry.table_id = self.p4info_broswer.get_tables_id( table_name) counter_entry.table_entry.CopyFrom(table_entry) counter_entry.data.packet_count = 0 if dry_run: print "P4 Runtime Read:", request else: for response in self.client_stub.Read(request): print response
def ReadTableEntries(self, table_name, dry_run=False): request = p4runtime_pb2.ReadRequest() request.device_id = self.device_id entity = request.entities.add() table_entry = entity.table_entry table_entry.table_id = self.p4info_broswer.get_tables_id(table_name) if dry_run: print "P4 Runtime Read:", request else: for response in self.client_stub.Read(request): yield response
def read_table_entries(self, table_id): print "Entered read table entries function" request = p4runtime_pb2.ReadRequest() request.device_id = self.device_id entity = request.entities.add() table_entry = entity.table_entry table_entry.table_id = table_id # request.election_id.CopyFrom(self.election_id) print "Read request is " print request for response in self.client_stub.Read(request): yield response
def ReadTableEntries(self, table_id=None, dry_run=False): request = p4runtime_pb2.ReadRequest() request.device_id = self.device_id entity = request.entities.add() table_entry = entity.table_entry if table_id is not None: table_entry.table_id = table_id else: table_entry.table_id = 0 if dry_run: print "P4Runtime Read:", request else: for response in self.client_stub.Read(request): yield response
def ReadMCastEntries(self, mcast_grp_id=None, dry_run=False): request = p4runtime_pb2.ReadRequest() request.device_id = self.device_id entity = request.entities.add() mcast_entry = entity.packet_replication_engine_entry.multicast_group_entry if mcast_grp_id is not None: mcast_entry.multicast_group_id = mcast_grp_id else: mcast_entry.multicast_group_id = 0 if dry_run: print "P4Runtime Read:", request else: for response in self.client_stub.Read(request): yield response
def ReadCounters(self, counter_id=None, index=None, dry_run=False): request = p4runtime_pb2.ReadRequest() request.device_id = self.device_id entity = request.entities.add() counter_entry = entity.counter_entry if counter_id is not None: counter_entry.counter_id = counter_id else: counter_entry.counter_id = 0 if index is not None: counter_entry.index.index = index if dry_run: print "P4Runtime Read:", request else: for response in self.client_stub.Read(request): yield response