add SAI_FDB_ENTRY_ATTR_STATE attribute to sai_fdb_entry #1723
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary:
This SAI change adds a new sai_fdb_entry attribute “SAI_FDB_ENTRY_ATTR_STATE”. This state specified whether fdb entry is unknown, validated, pending or not installed. Unknown means the fdb entry state information is not available. Validated means the fdb entry already took effect and is forwarding packets based on mac + vlan. Pending means the fdb entry did not take effect, the packets to mac + vlan are still flooded and subsequent packets with the same source MAC+vlan will not result in further callbacks. Not installed means the fdb entry is not installed in hardware.
This “SAI_FDB_ENTRY_ATTR_STATE” attribute could be used in below two example workflows:
Example of query API:
sai_attribute_t get_attr_list[1];
get_attr_list[0].id = SAI_FDB_ENTRY_ATTR_STATE;
sai_fdb_api_table->get_fdb_entry_attribute((const sai_fdb_entry_t*)&fdb_entry, 1, get_attr_list));
sai_fdb_entry_state_t state = get_attr_list[0].value.s32