public final class TableEntry extends com.google.protobuf.GeneratedMessageV3 implements TableEntryOrBuilder
From Section 11 of P4_14 spec: At run time, the table entry insert operation (not part of P4) must specify: - Values for each field specified in the reads entry. - The name of the action from the action_specification or the action_profile_specification and the parameters to be passed to the action function when it is called.Protobuf type
p4.v1.TableEntry
Modifier and Type | Class and Description |
---|---|
static class |
TableEntry.Builder
From Section 11 of P4_14 spec:
At run time, the table entry insert operation (not part of P4) must specify:
- Values for each field specified in the reads entry.
|
static class |
TableEntry.IdleTimeout
Protobuf type
p4.v1.TableEntry.IdleTimeout |
static interface |
TableEntry.IdleTimeoutOrBuilder |
com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage,BuilderType extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType,BuilderType>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
Modifier and Type | Field and Description |
---|---|
static int |
ACTION_FIELD_NUMBER |
static int |
CONTROLLER_METADATA_FIELD_NUMBER |
static int |
COUNTER_DATA_FIELD_NUMBER |
static int |
IDLE_TIMEOUT_NS_FIELD_NUMBER |
static int |
IS_DEFAULT_ACTION_FIELD_NUMBER |
static int |
MATCH_FIELD_NUMBER |
static int |
METER_CONFIG_FIELD_NUMBER |
static int |
PRIORITY_FIELD_NUMBER |
static int |
TABLE_ID_FIELD_NUMBER |
static int |
TIME_SINCE_LAST_HIT_FIELD_NUMBER |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj) |
TableAction |
getAction()
.p4.v1.TableAction action = 3; |
TableActionOrBuilder |
getActionOrBuilder()
.p4.v1.TableAction action = 3; |
long |
getControllerMetadata()
Metadata (cookie) opaque to the target.
|
CounterData |
getCounterData()
.p4.v1.CounterData counter_data = 7; |
CounterDataOrBuilder |
getCounterDataOrBuilder()
.p4.v1.CounterData counter_data = 7; |
static TableEntry |
getDefaultInstance() |
TableEntry |
getDefaultInstanceForType() |
static com.google.protobuf.Descriptors.Descriptor |
getDescriptor() |
long |
getIdleTimeoutNs()
The TTL for the entry, in nanoseconds.
|
boolean |
getIsDefaultAction()
Set to true if the table entry is being used to update the non-const
default action of the table.
|
FieldMatch |
getMatch(int index)
repeated .p4.v1.FieldMatch match = 2; |
int |
getMatchCount()
repeated .p4.v1.FieldMatch match = 2; |
List<FieldMatch> |
getMatchList()
repeated .p4.v1.FieldMatch match = 2; |
FieldMatchOrBuilder |
getMatchOrBuilder(int index)
repeated .p4.v1.FieldMatch match = 2; |
List<? extends FieldMatchOrBuilder> |
getMatchOrBuilderList()
repeated .p4.v1.FieldMatch match = 2; |
MeterConfig |
getMeterConfig()
meter_config and counter_data are convenience fields that enable the
controller to configure the direct resources associated with the table at
the same time as a match-action entry is inserted or modified.
|
MeterConfigOrBuilder |
getMeterConfigOrBuilder()
meter_config and counter_data are convenience fields that enable the
controller to configure the direct resources associated with the table at
the same time as a match-action entry is inserted or modified.
|
com.google.protobuf.Parser<TableEntry> |
getParserForType() |
int |
getPriority()
Should only be set if the match implies a TCAM lookup, i.e.
|
int |
getSerializedSize() |
int |
getTableId()
uint32 table_id = 1; |
TableEntry.IdleTimeout |
getTimeSinceLastHit()
Table wite: this field should be left unset.
|
TableEntry.IdleTimeoutOrBuilder |
getTimeSinceLastHitOrBuilder()
Table wite: this field should be left unset.
|
com.google.protobuf.UnknownFieldSet |
getUnknownFields() |
boolean |
hasAction()
.p4.v1.TableAction action = 3; |
boolean |
hasCounterData()
.p4.v1.CounterData counter_data = 7; |
int |
hashCode() |
boolean |
hasMeterConfig()
meter_config and counter_data are convenience fields that enable the
controller to configure the direct resources associated with the table at
the same time as a match-action entry is inserted or modified.
|
boolean |
hasTimeSinceLastHit()
Table wite: this field should be left unset.
|
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable |
internalGetFieldAccessorTable() |
boolean |
isInitialized() |
static TableEntry.Builder |
newBuilder() |
static TableEntry.Builder |
newBuilder(TableEntry prototype) |
TableEntry.Builder |
newBuilderForType() |
protected TableEntry.Builder |
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) |
static TableEntry |
parseDelimitedFrom(InputStream input) |
static TableEntry |
parseDelimitedFrom(InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static TableEntry |
parseFrom(byte[] data) |
static TableEntry |
parseFrom(byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static TableEntry |
parseFrom(ByteBuffer data) |
static TableEntry |
parseFrom(ByteBuffer data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static TableEntry |
parseFrom(com.google.protobuf.ByteString data) |
static TableEntry |
parseFrom(com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static TableEntry |
parseFrom(com.google.protobuf.CodedInputStream input) |
static TableEntry |
parseFrom(com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static TableEntry |
parseFrom(InputStream input) |
static TableEntry |
parseFrom(InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static com.google.protobuf.Parser<TableEntry> |
parser() |
TableEntry.Builder |
toBuilder() |
void |
writeTo(com.google.protobuf.CodedOutputStream output) |
canUseUnsafe, computeStringSize, computeStringSizeNoTag, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneof, internalGetMapField, makeExtensionsImmutable, newBuilderForType, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTag
findInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toString
addAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
public static final int TABLE_ID_FIELD_NUMBER
public static final int MATCH_FIELD_NUMBER
public static final int ACTION_FIELD_NUMBER
public static final int PRIORITY_FIELD_NUMBER
public static final int CONTROLLER_METADATA_FIELD_NUMBER
public static final int METER_CONFIG_FIELD_NUMBER
public static final int COUNTER_DATA_FIELD_NUMBER
public static final int IS_DEFAULT_ACTION_FIELD_NUMBER
public static final int IDLE_TIMEOUT_NS_FIELD_NUMBER
public static final int TIME_SINCE_LAST_HIT_FIELD_NUMBER
public final com.google.protobuf.UnknownFieldSet getUnknownFields()
getUnknownFields
in interface com.google.protobuf.MessageOrBuilder
getUnknownFields
in class com.google.protobuf.GeneratedMessageV3
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
internalGetFieldAccessorTable
in class com.google.protobuf.GeneratedMessageV3
public int getTableId()
uint32 table_id = 1;
getTableId
in interface TableEntryOrBuilder
public List<FieldMatch> getMatchList()
repeated .p4.v1.FieldMatch match = 2;
getMatchList
in interface TableEntryOrBuilder
public List<? extends FieldMatchOrBuilder> getMatchOrBuilderList()
repeated .p4.v1.FieldMatch match = 2;
getMatchOrBuilderList
in interface TableEntryOrBuilder
public int getMatchCount()
repeated .p4.v1.FieldMatch match = 2;
getMatchCount
in interface TableEntryOrBuilder
public FieldMatch getMatch(int index)
repeated .p4.v1.FieldMatch match = 2;
getMatch
in interface TableEntryOrBuilder
public FieldMatchOrBuilder getMatchOrBuilder(int index)
repeated .p4.v1.FieldMatch match = 2;
getMatchOrBuilder
in interface TableEntryOrBuilder
public boolean hasAction()
.p4.v1.TableAction action = 3;
hasAction
in interface TableEntryOrBuilder
public TableAction getAction()
.p4.v1.TableAction action = 3;
getAction
in interface TableEntryOrBuilder
public TableActionOrBuilder getActionOrBuilder()
.p4.v1.TableAction action = 3;
getActionOrBuilder
in interface TableEntryOrBuilder
public int getPriority()
Should only be set if the match implies a TCAM lookup, i.e. at least one of the match fields is Ternary or Range. A higher number indicates higher priority. Only the highest priority entry that matches the packet must be selected. Given an existing entry with prority k, if the controller tries to insert or modify another entry with priority k such that a packet may match both entries, an error is returned. This will be the case if the overlap is strict (entries are identical) or not. In the future, if there is a use-case, a table-level annotation may be introduced to make the overlap check non-strict. In that case, if there are multiple matching entries with the same highest priority, the selected entry will be explicitly undefined.
int32 priority = 4;
getPriority
in interface TableEntryOrBuilder
public long getControllerMetadata()
Metadata (cookie) opaque to the target. There is no requirement of where this is stored, as long as it is returned with the rest of the entry in a Read RPC.
uint64 controller_metadata = 5;
getControllerMetadata
in interface TableEntryOrBuilder
public boolean hasMeterConfig()
meter_config and counter_data are convenience fields that enable the controller to configure the direct resources associated with the table at the same time as a match-action entry is inserted or modified. Table write: - If the table does not contain a direct resource, then setting the corresponding direct resource field in any table write operation will return an error. - When inserting a new table entry, leaving these fields unset means that the direct resources of this table (if any) will assume default values. For counters, the default value is 0, and for meters, the default value is always green. - When updating a table entry, leaving these fields unset means that the direct resources (if any) will not be updated. Table read: - If the table does not contain a direct resource, then the corresponding field will not be set in the read table entry. - If the meter_config field has default value, it will not be set in the read table entry. - The counter_data field will always be set in a read table entry if the table contains a direct counter.
.p4.v1.MeterConfig meter_config = 6;
hasMeterConfig
in interface TableEntryOrBuilder
public MeterConfig getMeterConfig()
meter_config and counter_data are convenience fields that enable the controller to configure the direct resources associated with the table at the same time as a match-action entry is inserted or modified. Table write: - If the table does not contain a direct resource, then setting the corresponding direct resource field in any table write operation will return an error. - When inserting a new table entry, leaving these fields unset means that the direct resources of this table (if any) will assume default values. For counters, the default value is 0, and for meters, the default value is always green. - When updating a table entry, leaving these fields unset means that the direct resources (if any) will not be updated. Table read: - If the table does not contain a direct resource, then the corresponding field will not be set in the read table entry. - If the meter_config field has default value, it will not be set in the read table entry. - The counter_data field will always be set in a read table entry if the table contains a direct counter.
.p4.v1.MeterConfig meter_config = 6;
getMeterConfig
in interface TableEntryOrBuilder
public MeterConfigOrBuilder getMeterConfigOrBuilder()
meter_config and counter_data are convenience fields that enable the controller to configure the direct resources associated with the table at the same time as a match-action entry is inserted or modified. Table write: - If the table does not contain a direct resource, then setting the corresponding direct resource field in any table write operation will return an error. - When inserting a new table entry, leaving these fields unset means that the direct resources of this table (if any) will assume default values. For counters, the default value is 0, and for meters, the default value is always green. - When updating a table entry, leaving these fields unset means that the direct resources (if any) will not be updated. Table read: - If the table does not contain a direct resource, then the corresponding field will not be set in the read table entry. - If the meter_config field has default value, it will not be set in the read table entry. - The counter_data field will always be set in a read table entry if the table contains a direct counter.
.p4.v1.MeterConfig meter_config = 6;
getMeterConfigOrBuilder
in interface TableEntryOrBuilder
public boolean hasCounterData()
.p4.v1.CounterData counter_data = 7;
hasCounterData
in interface TableEntryOrBuilder
public CounterData getCounterData()
.p4.v1.CounterData counter_data = 7;
getCounterData
in interface TableEntryOrBuilder
public CounterDataOrBuilder getCounterDataOrBuilder()
.p4.v1.CounterData counter_data = 7;
getCounterDataOrBuilder
in interface TableEntryOrBuilder
public boolean getIsDefaultAction()
Set to true if the table entry is being used to update the non-const default action of the table. If true, the "match" field must be empty and the "action" field must be populated with a valid direct action.
bool is_default_action = 8;
getIsDefaultAction
in interface TableEntryOrBuilder
public long getIdleTimeoutNs()
The TTL for the entry, in nanoseconds. A value of 0 means that the table entry never "expires".
int64 idle_timeout_ns = 9;
getIdleTimeoutNs
in interface TableEntryOrBuilder
public boolean hasTimeSinceLastHit()
Table wite: this field should be left unset. Table read: if the table supports idle timeout and time_since_last_hit is set in the request, this field will be set in the response.
.p4.v1.TableEntry.IdleTimeout time_since_last_hit = 10;
hasTimeSinceLastHit
in interface TableEntryOrBuilder
public TableEntry.IdleTimeout getTimeSinceLastHit()
Table wite: this field should be left unset. Table read: if the table supports idle timeout and time_since_last_hit is set in the request, this field will be set in the response.
.p4.v1.TableEntry.IdleTimeout time_since_last_hit = 10;
getTimeSinceLastHit
in interface TableEntryOrBuilder
public TableEntry.IdleTimeoutOrBuilder getTimeSinceLastHitOrBuilder()
Table wite: this field should be left unset. Table read: if the table supports idle timeout and time_since_last_hit is set in the request, this field will be set in the response.
.p4.v1.TableEntry.IdleTimeout time_since_last_hit = 10;
getTimeSinceLastHitOrBuilder
in interface TableEntryOrBuilder
public final boolean isInitialized()
isInitialized
in interface com.google.protobuf.MessageLiteOrBuilder
isInitialized
in class com.google.protobuf.GeneratedMessageV3
public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
writeTo
in interface com.google.protobuf.MessageLite
writeTo
in class com.google.protobuf.GeneratedMessageV3
IOException
public int getSerializedSize()
getSerializedSize
in interface com.google.protobuf.MessageLite
getSerializedSize
in class com.google.protobuf.GeneratedMessageV3
public boolean equals(Object obj)
equals
in interface com.google.protobuf.Message
equals
in class com.google.protobuf.AbstractMessage
public int hashCode()
hashCode
in interface com.google.protobuf.Message
hashCode
in class com.google.protobuf.AbstractMessage
public static TableEntry parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferException
public static TableEntry parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferException
public static TableEntry parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferException
public static TableEntry parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferException
public static TableEntry parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferException
public static TableEntry parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferException
public static TableEntry parseFrom(InputStream input) throws IOException
IOException
public static TableEntry parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOException
public static TableEntry parseDelimitedFrom(InputStream input) throws IOException
IOException
public static TableEntry parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOException
public static TableEntry parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
IOException
public static TableEntry parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOException
public TableEntry.Builder newBuilderForType()
newBuilderForType
in interface com.google.protobuf.Message
newBuilderForType
in interface com.google.protobuf.MessageLite
public static TableEntry.Builder newBuilder()
public static TableEntry.Builder newBuilder(TableEntry prototype)
public TableEntry.Builder toBuilder()
toBuilder
in interface com.google.protobuf.Message
toBuilder
in interface com.google.protobuf.MessageLite
protected TableEntry.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
newBuilderForType
in class com.google.protobuf.GeneratedMessageV3
public static TableEntry getDefaultInstance()
public static com.google.protobuf.Parser<TableEntry> parser()
public com.google.protobuf.Parser<TableEntry> getParserForType()
getParserForType
in interface com.google.protobuf.Message
getParserForType
in interface com.google.protobuf.MessageLite
getParserForType
in class com.google.protobuf.GeneratedMessageV3
public TableEntry getDefaultInstanceForType()
getDefaultInstanceForType
in interface com.google.protobuf.MessageLiteOrBuilder
getDefaultInstanceForType
in interface com.google.protobuf.MessageOrBuilder
Copyright © 2018 OpenDaylight. All rights reserved.