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, writeStringNoTagfindInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toStringaddAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeToclone, finalize, getClass, notify, notifyAll, wait, wait, waitpublic 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.MessageOrBuildergetUnknownFields in class com.google.protobuf.GeneratedMessageV3public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3public int getTableId()
uint32 table_id = 1;getTableId in interface TableEntryOrBuilderpublic List<FieldMatch> getMatchList()
repeated .p4.v1.FieldMatch match = 2;getMatchList in interface TableEntryOrBuilderpublic List<? extends FieldMatchOrBuilder> getMatchOrBuilderList()
repeated .p4.v1.FieldMatch match = 2;getMatchOrBuilderList in interface TableEntryOrBuilderpublic int getMatchCount()
repeated .p4.v1.FieldMatch match = 2;getMatchCount in interface TableEntryOrBuilderpublic FieldMatch getMatch(int index)
repeated .p4.v1.FieldMatch match = 2;getMatch in interface TableEntryOrBuilderpublic FieldMatchOrBuilder getMatchOrBuilder(int index)
repeated .p4.v1.FieldMatch match = 2;getMatchOrBuilder in interface TableEntryOrBuilderpublic boolean hasAction()
.p4.v1.TableAction action = 3;hasAction in interface TableEntryOrBuilderpublic TableAction getAction()
.p4.v1.TableAction action = 3;getAction in interface TableEntryOrBuilderpublic TableActionOrBuilder getActionOrBuilder()
.p4.v1.TableAction action = 3;getActionOrBuilder in interface TableEntryOrBuilderpublic 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 TableEntryOrBuilderpublic 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 TableEntryOrBuilderpublic 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 TableEntryOrBuilderpublic 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 TableEntryOrBuilderpublic 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 TableEntryOrBuilderpublic boolean hasCounterData()
.p4.v1.CounterData counter_data = 7;hasCounterData in interface TableEntryOrBuilderpublic CounterData getCounterData()
.p4.v1.CounterData counter_data = 7;getCounterData in interface TableEntryOrBuilderpublic CounterDataOrBuilder getCounterDataOrBuilder()
.p4.v1.CounterData counter_data = 7;getCounterDataOrBuilder in interface TableEntryOrBuilderpublic 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 TableEntryOrBuilderpublic 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 TableEntryOrBuilderpublic 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 TableEntryOrBuilderpublic 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 TableEntryOrBuilderpublic 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 TableEntryOrBuilderpublic final boolean isInitialized()
isInitialized in interface com.google.protobuf.MessageLiteOrBuilderisInitialized in class com.google.protobuf.GeneratedMessageV3public void writeTo(com.google.protobuf.CodedOutputStream output)
throws IOException
writeTo in interface com.google.protobuf.MessageLitewriteTo in class com.google.protobuf.GeneratedMessageV3IOExceptionpublic int getSerializedSize()
getSerializedSize in interface com.google.protobuf.MessageLitegetSerializedSize in class com.google.protobuf.GeneratedMessageV3public boolean equals(Object obj)
equals in interface com.google.protobuf.Messageequals in class com.google.protobuf.AbstractMessagepublic int hashCode()
hashCode in interface com.google.protobuf.MessagehashCode in class com.google.protobuf.AbstractMessagepublic static TableEntry parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static TableEntry parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static TableEntry parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static TableEntry parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static TableEntry parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static TableEntry parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static TableEntry parseFrom(InputStream input) throws IOException
IOExceptionpublic static TableEntry parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic static TableEntry parseDelimitedFrom(InputStream input) throws IOException
IOExceptionpublic static TableEntry parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic static TableEntry parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
IOExceptionpublic static TableEntry parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic TableEntry.Builder newBuilderForType()
newBuilderForType in interface com.google.protobuf.MessagenewBuilderForType in interface com.google.protobuf.MessageLitepublic static TableEntry.Builder newBuilder()
public static TableEntry.Builder newBuilder(TableEntry prototype)
public TableEntry.Builder toBuilder()
toBuilder in interface com.google.protobuf.MessagetoBuilder in interface com.google.protobuf.MessageLiteprotected TableEntry.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
newBuilderForType in class com.google.protobuf.GeneratedMessageV3public static TableEntry getDefaultInstance()
public static com.google.protobuf.Parser<TableEntry> parser()
public com.google.protobuf.Parser<TableEntry> getParserForType()
getParserForType in interface com.google.protobuf.MessagegetParserForType in interface com.google.protobuf.MessageLitegetParserForType in class com.google.protobuf.GeneratedMessageV3public TableEntry getDefaultInstanceForType()
getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuildergetDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilderCopyright © 2018 OpenDaylight. All rights reserved.