Skip to content

Commit

Permalink
Rename routing group and attributes (sonic-net#587)
Browse files Browse the repository at this point in the history
  • Loading branch information
marian-pritsak authored Jun 26, 2024
1 parent 5165875 commit 36ead21
Show file tree
Hide file tree
Showing 27 changed files with 250 additions and 263 deletions.
14 changes: 7 additions & 7 deletions dash-pipeline/SAI/specs/dash_eni.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -573,14 +573,14 @@ sai_apis:
deprecated: false
is_vlan: false
- !!python/object:utils.sai_spec.sai_attribute.SaiAttribute
name: SAI_ENI_ATTR_ROUTING_GROUP_ID
description: Action parameter routing group id
name: SAI_ENI_ATTR_OUTBOUND_ROUTING_GROUP_ID
description: Action parameter outbound routing group id
type: sai_object_id_t
attr_value_field: u16
default: SAI_NULL_OBJECT_ID
isresourcetype: false
flags: CREATE_AND_SET
object_name: SAI_OBJECT_TYPE_ROUTING_GROUP
object_name: SAI_OBJECT_TYPE_OUTBOUND_ROUTING_GROUP
allow_null: true
valid_only: null
is_vlan: false
Expand Down Expand Up @@ -1585,11 +1585,11 @@ sai_apis:
object_name: null
allow_null: false
valid_only: null
deprecated: false
is_vlan: false
deprecated: false
- !!python/object:utils.sai_spec.sai_attribute.SaiAttribute
name: SAI_ENI_STAT_OUTBOUND_ROUTING_GROUP_ADMIN_DOWN_DROP_PACKETS
description: DASH ENI OUTBOUND_ROUTING_GROUP_ADMIN_DOWN_DROP_PACKETS stat count
name: SAI_ENI_STAT_OUTBOUND_ROUTING_GROUP_DISABLED_DROP_PACKETS
description: DASH ENI OUTBOUND_ROUTING_GROUP_DISABLED_DROP_PACKETS stat count
type: sai_uint64_t
attr_value_field: u64
default: null
Expand All @@ -1598,8 +1598,8 @@ sai_apis:
object_name: null
allow_null: false
valid_only: null
deprecated: false
is_vlan: false
deprecated: false
p4_meta: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4Meta
tables:
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
Expand Down
42 changes: 33 additions & 9 deletions dash-pipeline/SAI/specs/dash_outbound_routing.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,23 +43,17 @@ sai_apis:
type: sai_object_id_t
objects: SAI_OBJECT_TYPE_SWITCH
valid_only: null
- !!python/object:utils.sai_spec.sai_struct_entry.SaiStructEntry
name: eni_id
description: Exact matched key eni_id
type: sai_object_id_t
objects: SAI_OBJECT_TYPE_ENI
valid_only: null
- !!python/object:utils.sai_spec.sai_struct_entry.SaiStructEntry
name: destination
description: LPM matched key destination
type: sai_ip_prefix_t
objects: null
valid_only: null
- !!python/object:utils.sai_spec.sai_struct_entry.SaiStructEntry
name: routing_group_id
description: Exact matched key routing_group_id
name: outbound_routing_group_id
description: Exact matched key outbound_routing_group_id
type: sai_object_id_t
objects: SAI_OBJECT_TYPE_ROUTING_GROUP
objects: SAI_OBJECT_TYPE_OUTBOUND_ROUTING_GROUP
valid_only: null
attributes:
- !!python/object:utils.sai_spec.sai_attribute.SaiAttribute
Expand Down Expand Up @@ -349,3 +343,33 @@ sai_apis:
name: SAI_OUTBOUND_ROUTING_ENTRY_ACTION_DROP
id: 18759588
attr_param_id: {}
- !!python/object:utils.sai_spec.sai_api.SaiApi
name: outbound_routing_group
description: outbound routing group
is_object: true
enums: []
structs: []
attributes:
- !!python/object:utils.sai_spec.sai_attribute.SaiAttribute
name: SAI_OUTBOUND_ROUTING_GROUP_ATTR_DISABLED
description: Action parameter disabled
type: bool
attr_value_field: booldata
default: 'false'
isresourcetype: false
flags: CREATE_AND_SET
object_name: null
allow_null: false
valid_only: null
is_vlan: false
deprecated: false
stats: []
p4_meta: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4Meta
tables:
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
id: 34522254
actions:
default: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: default
id: 20489967
attr_param_id: {}
35 changes: 0 additions & 35 deletions dash-pipeline/SAI/specs/dash_routing_group.yaml

This file was deleted.

4 changes: 1 addition & 3 deletions dash-pipeline/SAI/specs/sai_spec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ api_types:
- SAI_API_ROUTE
- SAI_API_DASH_VIP
- SAI_API_DASH_TUNNEL
- SAI_API_DASH_ROUTING_GROUP
object_types:
- SAI_OBJECT_TYPE_DASH_ACL_GROUP
- SAI_OBJECT_TYPE_DASH_ACL_RULE
Expand All @@ -33,7 +32,7 @@ object_types:
- SAI_OBJECT_TYPE_ROUTE_ENTRY
- SAI_OBJECT_TYPE_VIP_ENTRY
- SAI_OBJECT_TYPE_DASH_TUNNEL
- SAI_OBJECT_TYPE_ROUTING_GROUP
- SAI_OBJECT_TYPE_OUTBOUND_ROUTING_GROUP
object_entries:
- !!python/object:utils.sai_spec.sai_struct_entry.SaiStructEntry
name: direction_lookup_entry
Expand Down Expand Up @@ -271,4 +270,3 @@ api_groups:
- !inc '/SAI/specs/route.yaml'
- !inc '/SAI/specs/dash_vip.yaml'
- !inc '/SAI/specs/dash_tunnel.yaml'
- !inc '/SAI/specs/dash_routing_group.yaml'
2 changes: 1 addition & 1 deletion dash-pipeline/bmv2/dash_counters.p4
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,6 @@ DEFINE_ENI_PACKET_COUNTER(outbound_routing_entry_miss_drop)
DEFINE_ENI_PACKET_COUNTER(outbound_ca_pa_entry_miss_drop)
DEFINE_ENI_PACKET_COUNTER(inbound_routing_entry_miss_drop)
DEFINE_ENI_PACKET_COUNTER(outbound_routing_group_miss_drop)
DEFINE_ENI_PACKET_COUNTER(outbound_routing_group_admin_down_drop)
DEFINE_ENI_PACKET_COUNTER(outbound_routing_group_disabled_drop)

#endif // __DASH_COUNTERS__
8 changes: 4 additions & 4 deletions dash-pipeline/bmv2/dash_metadata.p4
Original file line number Diff line number Diff line change
Expand Up @@ -61,9 +61,9 @@ enum bit<16> dash_tunnel_dscp_mode_t {
PIPE_MODEL = 1
}

struct routing_group_data_t {
bit<16> routing_group_id;
bool routing_group_admin_state;
struct outbound_routing_group_data_t {
bit<16> outbound_routing_group_id;
bool disabled;
}

struct eni_data_t {
Expand All @@ -76,7 +76,7 @@ struct eni_data_t {
IPv4Address pl_underlay_sip;
bit<6> dscp;
dash_tunnel_dscp_mode_t dscp_mode;
routing_group_data_t routing_group_data;
outbound_routing_group_data_t outbound_routing_group_data;
}

struct meter_context_t {
Expand Down
20 changes: 10 additions & 10 deletions dash-pipeline/bmv2/dash_pipeline.p4
Original file line number Diff line number Diff line change
Expand Up @@ -112,17 +112,17 @@ control dash_ingress(
bit<1> disable_fast_path_icmp_flow_redirection,
bit<1> full_flow_resimulation_requested,
bit<64> max_resimulated_flow_per_second,
@SaiVal[type="sai_object_id_t"] bit<16> routing_group_id)
@SaiVal[type="sai_object_id_t"] bit<16> outbound_routing_group_id)
{
meta.eni_data.cps = cps;
meta.eni_data.pps = pps;
meta.eni_data.flows = flows;
meta.eni_data.admin_state = admin_state;
meta.eni_data.pl_sip = pl_sip;
meta.eni_data.pl_sip_mask = pl_sip_mask;
meta.eni_data.pl_underlay_sip = pl_underlay_sip;
meta.encap_data.underlay_dip = vm_underlay_dip;
meta.eni_data.routing_group_data.routing_group_id = routing_group_id;
meta.eni_data.cps = cps;
meta.eni_data.pps = pps;
meta.eni_data.flows = flows;
meta.eni_data.admin_state = admin_state;
meta.eni_data.pl_sip = pl_sip;
meta.eni_data.pl_sip_mask = pl_sip_mask;
meta.eni_data.pl_underlay_sip = pl_underlay_sip;
meta.encap_data.underlay_dip = vm_underlay_dip;
meta.eni_data.outbound_routing_group_data.outbound_routing_group_id = outbound_routing_group_id;
if (dash_tunnel_dscp_mode == dash_tunnel_dscp_mode_t.PIPE_MODEL) {
meta.eni_data.dscp = dscp;
}
Expand Down
20 changes: 10 additions & 10 deletions dash-pipeline/bmv2/stages/outbound_routing.p4
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,18 @@ control outbound_routing_stage(inout headers_t hdr,
inout metadata_t meta)
{

action set_routing_group_attr(bit<1> admin_state) {
meta.eni_data.routing_group_data.routing_group_admin_state = (bool)admin_state;
action set_outbound_routing_group_attr(bit<1> disabled) {
meta.eni_data.outbound_routing_group_data.disabled = (bool)disabled;
}

@SaiTable[name = "routing_group", api = "dash_routing_group", isobject="true"]
table routing_group {
@SaiTable[name = "outbound_routing_group", api = "dash_outbound_routing", order = 1, isobject="true"]
table outbound_routing_group {
key = {
meta.eni_data.routing_group_data.routing_group_id : exact @SaiVal[type="sai_object_id_t"];
meta.eni_data.outbound_routing_group_data.outbound_routing_group_id : exact @SaiVal[type="sai_object_id_t"];
}

actions = {
set_routing_group_attr;
set_outbound_routing_group_attr;
@defaultonly drop(meta);
}
}
Expand All @@ -28,7 +28,7 @@ control outbound_routing_stage(inout headers_t hdr,
@SaiTable[name = "outbound_routing", api = "dash_outbound_routing"]
table routing {
key = {
meta.eni_data.routing_group_data.routing_group_id : exact @SaiVal[type="sai_object_id_t"];
meta.eni_data.outbound_routing_group_data.outbound_routing_group_id : exact @SaiVal[type="sai_object_id_t"];
meta.is_overlay_ip_v6 : exact @SaiVal[name = "destination_is_v6"];
meta.dst_ip_addr : lpm @SaiVal[name = "destination"];
}
Expand All @@ -51,14 +51,14 @@ control outbound_routing_stage(inout headers_t hdr,
return;
}

if (!routing_group.apply().hit) {
if (!outbound_routing_group.apply().hit) {
UPDATE_ENI_COUNTER(outbound_routing_group_miss_drop);
drop(meta);
return;
}

if (!meta.eni_data.routing_group_data.routing_group_admin_state) {
UPDATE_ENI_COUNTER(outbound_routing_group_admin_down_drop);
if (meta.eni_data.outbound_routing_group_data.disabled) {
UPDATE_ENI_COUNTER(outbound_routing_group_disabled_drop);
drop(meta);
return;
}
Expand Down
2 changes: 1 addition & 1 deletion dash-pipeline/tests/libsai/vnet_out/vnet_out.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ int main(int argc, char **argv)
attr.value.booldata = false;
attrs.push_back(attr);

attr.id = SAI_ENI_ATTR_ROUTING_GROUP_ID;
attr.id = SAI_ENI_ATTR_OUTBOUND_ROUTING_GROUP_ID;
attr.value.oid = SAI_NULL_OBJECT_ID;
attrs.push_back(attr);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ def test_sai_thrift_create_eni(saithrift_client):
disable_fast_path_icmp_flow_redirection = 0,
full_flow_resimulation_requested = False,
max_resimulated_flow_per_second = 0,
routing_group_id = 0)
outbound_routing_group_id = 0)
assert (eni != SAI_NULL_OBJECT_ID);

eam = sai_thrift_eni_ether_address_map_entry_t(switch_id=switch_id, address = eth_addr)
Expand Down
28 changes: 14 additions & 14 deletions test/test-cases/functional/ptf/sai_dash_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ def eni_create(self, **kwargs):
"outbound_v6_stage4_dash_acl_group_id": 0,
"outbound_v6_stage5_dash_acl_group_id": 0,
"disable_fast_path_icmp_flow_redirection": 0,
"routing_group_id": 0,
"outbound_routing_group_id": 0,
"full_flow_resimulation_requested": False,
"max_resimulated_flow_per_second": 0
}
Expand Down Expand Up @@ -240,20 +240,20 @@ def vnet_create(self, vni):
def vnet_remove(self, vnet_id):
sai_thrift_remove_vnet(self.client, vnet_id)

def routing_group_create(self, admin_state):
def outbound_routing_group_create(self, disabled):
"""
Create routing group
"""

routing_group_id = sai_thrift_create_routing_group(self.client, admin_state=admin_state)
outbound_routing_group_id = sai_thrift_create_outbound_routing_group(self.client, disabled=disabled)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.assertNotEqual(routing_group_id, 0)
self.add_teardown_obj(self.routing_group_remove, routing_group_id)
self.assertNotEqual(outbound_routing_group_id, 0)
self.add_teardown_obj(self.outbound_routing_group_remove, outbound_routing_group_id)

return routing_group_id
return outbound_routing_group_id

def routing_group_remove(self, routing_group_id):
sai_thrift_remove_routing_group(self.client, routing_group_id)
def outbound_routing_group_remove(self, outbound_routing_group_id):
sai_thrift_remove_outbound_routing_group(self.client, outbound_routing_group_id)

def inbound_routing_decap_validate_create(self, eni_id, vni, sip, sip_mask, src_vnet_id):
"""
Expand Down Expand Up @@ -312,14 +312,14 @@ def pa_validation_create(self, sip, vnet_id):
def pa_validation_remove(self, pa_validation_entry):
sai_thrift_remove_pa_validation_entry(self.client, pa_validation_entry)

def outbound_routing_vnet_direct_create(self, routing_group_id, lpm, dst_vnet_id,
def outbound_routing_vnet_direct_create(self, outbound_routing_group_id, lpm, dst_vnet_id,
overlay_ip, counter_id=None, dash_tunnel_id=0):
"""
Create outband vnet direct routing entry
"""

outbound_routing_entry = sai_thrift_outbound_routing_entry_t(
switch_id=self.switch_id, routing_group_id=routing_group_id,
switch_id=self.switch_id, outbound_routing_group_id=outbound_routing_group_id,
destination=sai_ipprefix(lpm))
sai_thrift_create_outbound_routing_entry(self.client,
outbound_routing_entry, dst_vnet_id=dst_vnet_id,
Expand All @@ -331,13 +331,13 @@ def outbound_routing_vnet_direct_create(self, routing_group_id, lpm, dst_vnet_id

return outbound_routing_entry

def outbound_routing_direct_create(self, routing_group_id, lpm, counter_id=None, dash_tunnel_id=0):
def outbound_routing_direct_create(self, outbound_routing_group_id, lpm, counter_id=None, dash_tunnel_id=0):
"""
Create outband vnet direct routing entry
"""

outbound_routing_entry = sai_thrift_outbound_routing_entry_t(
switch_id=self.switch_id, routing_group_id=routing_group_id,
switch_id=self.switch_id, outbound_routing_group_id=outbound_routing_group_id,
destination=sai_ipprefix(lpm))
sai_thrift_create_outbound_routing_entry(self.client, outbound_routing_entry, counter_id=counter_id,
action=SAI_OUTBOUND_ROUTING_ENTRY_ACTION_ROUTE_DIRECT,
Expand All @@ -347,13 +347,13 @@ def outbound_routing_direct_create(self, routing_group_id, lpm, counter_id=None,

return outbound_routing_entry

def outbound_routing_vnet_create(self, routing_group_id, lpm, dst_vnet_id, counter_id=None, dash_tunnel_id=0):
def outbound_routing_vnet_create(self, outbound_routing_group_id, lpm, dst_vnet_id, counter_id=None, dash_tunnel_id=0):
"""
Create outbound vnet routing entry
"""

outbound_routing_entry = sai_thrift_outbound_routing_entry_t(
switch_id=self.switch_id, routing_group_id=routing_group_id,
switch_id=self.switch_id, outbound_routing_group_id=outbound_routing_group_id,
destination=sai_ipprefix(lpm))
sai_thrift_create_outbound_routing_entry(self.client,
outbound_routing_entry, dst_vnet_id=dst_vnet_id,
Expand Down
Loading

0 comments on commit 36ead21

Please sign in to comment.