Esempio n. 1
0
 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
Esempio n. 2
0
 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
Esempio n. 4
0
 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
Esempio n. 5
0
    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
Esempio n. 6
0
 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