def buildTableEntry(self, table_name, match_fields=None, default_action=False, action_name=None, action_params=None, priority=None): table_entry = p4runtime_pb2.TableEntry() table_entry.table_id = self.get_tables_id(table_name) if priority is not None: table_entry.priority = priority if match_fields: table_entry.match.extend([ self.get_match_field_pb(table_name, match_field_name, value) for match_field_name, value in match_fields.items() ]) if default_action: table_entry.is_default_action = True if action_name: action = table_entry.action.action action.action_id = self.get_actions_id(action_name) if action_params: action.params.extend([ self.get_action_param_pb(action_name, field_name, value) for field_name, value in action_params.items() ]) return table_entry
def build_table_entry(self, table_name, match_fields=None, default_action=False, action_name=None, action_params=None, group_id=None, priority=None): table_entry = p4runtime_pb2.TableEntry() table_entry.table_id = self.get_tables_id(table_name) if priority is not None: table_entry.priority = priority if match_fields: table_entry.match.extend([ self.get_match_field_pb(table_name, match_field_name, value) for match_field_name, value in match_fields.iteritems() ]) if default_action: table_entry.is_default_action = True if action_name: action = table_entry.action.action action.CopyFrom(self.build_action(action_name, action_params)) if group_id: table_entry.action.action_profile_group_id = group_id return table_entry
def make_table_entry(self, table_name_and_key, action_name_and_params, priority=None, options=None): self.check_table_name_and_key(table_name_and_key) table_name = table_name_and_key[0] key = table_name_and_key[1] self.check_action_name_and_params(action_name_and_params) action_name = action_name_and_params[0] action_params = action_name_and_params[1] table_entry = p4runtime_pb2.TableEntry() table_entry.table_id = self.get_table_id(table_name) if key is not None: self.set_match_key(table_entry, table_name, key) else: table_entry.is_default_action = True if priority: table_entry.priority = priority if options is not None: if 'idle_timeout_ns' in options: table_entry.idle_timeout_ns = options['idle_timeout_ns'] if 'elapsed_ns' in options: table_entry.time_since_last_hit.elapsed_ns = options[ 'elapsed_ns'] if 'metadata' in options: table_entry.metadata = options['metadata'] self.set_action_entry(table_entry, action_name, action_params) return table_entry
def buildTableEntry(self, table_name, match_fields={}, action_name=None, action_params={}): table_entry = p4runtime_pb2.TableEntry() table_entry.table_id = self.get_tables_id(table_name) if match_fields: table_entry.match.extend([ self.get_match_field_pb(table_name, match_field_name, value) for match_field_name, value in match_fields.iteritems() ]) if action_name: action = table_entry.action.action action.action_id = self.get_actions_id(action_name) if action_params: action.params.extend([ self.get_action_param_pb(action_name, field_name, value) for field_name, value in action_params.iteritems() ]) return table_entry
def build_table_entry(self, table_name, match_fields=None, default_action=False, action_name=None, action_params=None, priority=None): logger.info( 'Building table entry to table [%s] with match_fields - [%s] ' 'action - [%s] and params - [%s]', table_name, match_fields, action_name, action_params) table_entry = p4runtime_pb2.TableEntry() table_entry.table_id = self.get_tables_id(table_name) logger.debug('Table ID - [%s]', table_entry.table_id) if priority is not None: table_entry.priority = priority if match_fields: table_entry.match.extend([ self.get_match_field_pb(table_name, match_field_name, value) for match_field_name, value in match_fields.items() ]) if default_action: table_entry.is_default_action = True if action_name: action = table_entry.action.action action.action_id = self.get_actions_id(action_name) if action_params: logger.info('Action params - [%s]', action_params) action.params.extend([ self.get_action_param_pb(action_name, field_name, value) for field_name, value in action_params.items() ]) return table_entry