Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add tunterm acl plugin support. #122

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions platform/saivpp/vpplib/SwitchStateBase.h
Original file line number Diff line number Diff line change
Expand Up @@ -949,7 +949,9 @@ namespace saivpp

private:
std::map<sai_object_id_t, std::list<sai_object_id_t>> m_acl_tbl_rules_map;
std::map<sai_object_id_t, std::list<std::string>> m_acl_tbl_hw_ports_map;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is already m_acl_tbl_grp_ports_map. If we see acl and tunterm_acl as two objects created from the same acl_table, it is possible to share the same mapping. even m_acl_swindex_map and m_tunterm_acl_swindex_map can be combined to one if we use std::pair or std::Array to keep both indexes in one

std::map<sai_object_id_t, uint32_t> m_acl_swindex_map;
std::map<sai_object_id_t, uint32_t> m_tunterm_acl_swindex_map;
std::map<sai_object_id_t, std::list<sai_object_id_t>> m_acl_tbl_grp_mbr_map;
std::map<sai_object_id_t, std::list<sai_object_id_t>> m_acl_tbl_grp_ports_map;
std::map<sai_object_id_t, vpp_ace_cntr_info_t> m_ace_cntr_info_map;
Expand All @@ -973,6 +975,12 @@ namespace saivpp
_In_ sai_object_id_t tbl_oid,
_In_ bool is_add);

sai_status_t tbl_hw_ports_map_delete(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add some documents to explain these new functions

_In_ sai_object_id_t tbl_oid);

sai_status_t tunterm_acl_delete(
_In_ sai_object_id_t tbl_oid);

sai_status_t getAclTableId(
_In_ sai_object_id_t entry_id, sai_object_id_t *tbl_oid);

Expand All @@ -987,6 +995,20 @@ namespace saivpp

sai_status_t aclTableRemove(
_In_ const std::string &serializedObjectId);

sai_status_t tunterm_acl_add_replace(
_In_ vpp_tunerm_acl_t *acl,
_In_ sai_object_id_t tbl_oid);

sai_status_t tunterm_set_action_redirect(
_In_ sai_acl_entry_attr_t attr_id,
_In_ const sai_attribute_value_t *value,
_Out_ tunterm_acl_rule_t *rule);

sai_status_t tunterm_acl_rule_field_update(
_In_ sai_acl_entry_attr_t attr_id,
_In_ const sai_attribute_value_t *value,
_Out_ tunterm_acl_rule_t *rule);

sai_status_t aclTableCreate(
_In_ sai_object_id_t object_id,
Expand Down Expand Up @@ -1049,6 +1071,11 @@ namespace saivpp
_In_ sai_object_id_t tbl_oid,
_In_ bool is_bind);

sai_status_t tunterm_acl_bindunbind(
_In_ sai_object_id_t tbl_oid,
_In_ bool is_add,
_In_ std::string hwif_name);

sai_status_t getAclEntryStats(
_In_ sai_object_id_t ace_cntr_oid,
_In_ uint32_t attr_count,
Expand Down
Loading