Skip to content

Commit

Permalink
1. remove the use of DPAPP_CONNTRACK
Browse files Browse the repository at this point in the history
2. refactor dash_ingress
  • Loading branch information
jimmyzhai committed Aug 29, 2024
1 parent 735147e commit e939e3d
Show file tree
Hide file tree
Showing 17 changed files with 264 additions and 231 deletions.
2 changes: 0 additions & 2 deletions dash-pipeline/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ ifeq ($(HAVE_DPAPP),y)
DPAPP_LINK = veth4
DPAPP_LINK_PEER = veth5
SWITCH_PORT_DPAPP = --interface 2@$(DPAPP_LINK)
D_DPAPP_CONNTRACK = -DDPAPP_CONNTRACK
endif

mkfile_path := $(abspath $(lastword $(MAKEFILE_LIST)))
Expand Down Expand Up @@ -130,7 +129,6 @@ $(P4_OUTDIR)/dash_pipeline_p4rt.txt: $(P4_SRC)
-w / \
$(DOCKER_P4C_BMV2_IMG) p4c-bm2-ss \
-DTARGET_BMV2_V1MODEL \
$(D_DPAPP_CONNTRACK) \
$(P4_MAIN) \
-o $(P4_OUTDIR)/dash_pipeline.json \
--p4runtime-files $(P4_OUTDIR)/dash_pipeline_p4rt.json,$(P4_OUTDIR)/dash_pipeline_p4rt.txt \
Expand Down
64 changes: 32 additions & 32 deletions dash-pipeline/SAI/specs/dash_acl.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,11 @@ sai_apis:
p4_meta: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4Meta
tables:
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
id: 50200087
id: 37949057
actions:
default: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: default
id: 25655048
id: 21989040
attr_param_id: {}
- !!python/object:utils.sai_spec.sai_api.SaiApi
name: dash_acl_rule
Expand Down Expand Up @@ -194,116 +194,116 @@ sai_apis:
p4_meta: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4Meta
tables:
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
id: 41950136
id: 43936368
actions:
SAI_DASH_ACL_RULE_ACTION_PERMIT: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: SAI_DASH_ACL_RULE_ACTION_PERMIT
id: 32161567
id: 24892843
attr_param_id: {}
SAI_DASH_ACL_RULE_ACTION_PERMIT_AND_CONTINUE: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: SAI_DASH_ACL_RULE_ACTION_PERMIT_AND_CONTINUE
id: 20706700
id: 26577723
attr_param_id: {}
SAI_DASH_ACL_RULE_ACTION_DENY: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: SAI_DASH_ACL_RULE_ACTION_DENY
id: 28146588
id: 31332881
attr_param_id: {}
SAI_DASH_ACL_RULE_ACTION_DENY_AND_CONTINUE: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: SAI_DASH_ACL_RULE_ACTION_DENY_AND_CONTINUE
id: 31424218
id: 24146215
attr_param_id: {}
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
id: 43016664
id: 48549629
actions:
SAI_DASH_ACL_RULE_ACTION_PERMIT: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: SAI_DASH_ACL_RULE_ACTION_PERMIT
id: 32161567
id: 24892843
attr_param_id: {}
SAI_DASH_ACL_RULE_ACTION_PERMIT_AND_CONTINUE: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: SAI_DASH_ACL_RULE_ACTION_PERMIT_AND_CONTINUE
id: 20706700
id: 26577723
attr_param_id: {}
SAI_DASH_ACL_RULE_ACTION_DENY: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: SAI_DASH_ACL_RULE_ACTION_DENY
id: 28146588
id: 31332881
attr_param_id: {}
SAI_DASH_ACL_RULE_ACTION_DENY_AND_CONTINUE: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: SAI_DASH_ACL_RULE_ACTION_DENY_AND_CONTINUE
id: 31424218
id: 24146215
attr_param_id: {}
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
id: 49695908
id: 40869404
actions:
SAI_DASH_ACL_RULE_ACTION_PERMIT: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: SAI_DASH_ACL_RULE_ACTION_PERMIT
id: 32161567
id: 24892843
attr_param_id: {}
SAI_DASH_ACL_RULE_ACTION_PERMIT_AND_CONTINUE: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: SAI_DASH_ACL_RULE_ACTION_PERMIT_AND_CONTINUE
id: 20706700
id: 26577723
attr_param_id: {}
SAI_DASH_ACL_RULE_ACTION_DENY: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: SAI_DASH_ACL_RULE_ACTION_DENY
id: 28146588
id: 31332881
attr_param_id: {}
SAI_DASH_ACL_RULE_ACTION_DENY_AND_CONTINUE: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: SAI_DASH_ACL_RULE_ACTION_DENY_AND_CONTINUE
id: 31424218
id: 24146215
attr_param_id: {}
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
id: 49209582
id: 49672642
actions:
SAI_DASH_ACL_RULE_ACTION_PERMIT: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: SAI_DASH_ACL_RULE_ACTION_PERMIT
id: 18858683
id: 22622424
attr_param_id: {}
SAI_DASH_ACL_RULE_ACTION_PERMIT_AND_CONTINUE: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: SAI_DASH_ACL_RULE_ACTION_PERMIT_AND_CONTINUE
id: 24263137
id: 27458076
attr_param_id: {}
SAI_DASH_ACL_RULE_ACTION_DENY: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: SAI_DASH_ACL_RULE_ACTION_DENY
id: 29962337
id: 27228779
attr_param_id: {}
SAI_DASH_ACL_RULE_ACTION_DENY_AND_CONTINUE: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: SAI_DASH_ACL_RULE_ACTION_DENY_AND_CONTINUE
id: 26077229
id: 29275145
attr_param_id: {}
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
id: 36478314
id: 37932124
actions:
SAI_DASH_ACL_RULE_ACTION_PERMIT: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: SAI_DASH_ACL_RULE_ACTION_PERMIT
id: 18858683
id: 22622424
attr_param_id: {}
SAI_DASH_ACL_RULE_ACTION_PERMIT_AND_CONTINUE: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: SAI_DASH_ACL_RULE_ACTION_PERMIT_AND_CONTINUE
id: 24263137
id: 27458076
attr_param_id: {}
SAI_DASH_ACL_RULE_ACTION_DENY: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: SAI_DASH_ACL_RULE_ACTION_DENY
id: 29962337
id: 27228779
attr_param_id: {}
SAI_DASH_ACL_RULE_ACTION_DENY_AND_CONTINUE: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: SAI_DASH_ACL_RULE_ACTION_DENY_AND_CONTINUE
id: 26077229
id: 29275145
attr_param_id: {}
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
id: 39012793
id: 46113118
actions:
SAI_DASH_ACL_RULE_ACTION_PERMIT: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: SAI_DASH_ACL_RULE_ACTION_PERMIT
id: 18858683
id: 22622424
attr_param_id: {}
SAI_DASH_ACL_RULE_ACTION_PERMIT_AND_CONTINUE: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: SAI_DASH_ACL_RULE_ACTION_PERMIT_AND_CONTINUE
id: 24263137
id: 27458076
attr_param_id: {}
SAI_DASH_ACL_RULE_ACTION_DENY: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: SAI_DASH_ACL_RULE_ACTION_DENY
id: 29962337
id: 27228779
attr_param_id: {}
SAI_DASH_ACL_RULE_ACTION_DENY_AND_CONTINUE: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: SAI_DASH_ACL_RULE_ACTION_DENY_AND_CONTINUE
id: 26077229
id: 29275145
attr_param_id: {}
4 changes: 2 additions & 2 deletions dash-pipeline/SAI/specs/dash_direction_lookup.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -64,10 +64,10 @@ sai_apis:
p4_meta: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4Meta
tables:
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
id: 44703784
id: 49875338
actions:
SAI_DIRECTION_LOOKUP_ENTRY_ACTION_SET_OUTBOUND_DIRECTION: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: SAI_DIRECTION_LOOKUP_ENTRY_ACTION_SET_OUTBOUND_DIRECTION
id: 17408972
id: 32588257
attr_param_id:
SAI_DIRECTION_LOOKUP_ENTRY_ATTR_DASH_ENI_MAC_OVERRIDE_TYPE: 1
8 changes: 4 additions & 4 deletions dash-pipeline/SAI/specs/dash_eni.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -64,11 +64,11 @@ sai_apis:
p4_meta: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4Meta
tables:
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
id: 36648123
id: 39883185
actions:
SAI_ENI_ETHER_ADDRESS_MAP_ENTRY_ACTION_SET_ENI: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: SAI_ENI_ETHER_ADDRESS_MAP_ENTRY_ACTION_SET_ENI
id: 24618133
id: 19019152
attr_param_id:
SAI_ENI_ETHER_ADDRESS_MAP_ENTRY_ATTR_ENI_ID: 1
- !!python/object:utils.sai_spec.sai_api.SaiApi
Expand Down Expand Up @@ -1616,9 +1616,9 @@ sai_apis:
p4_meta: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4Meta
tables:
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
id: 45859274
id: 38483381
actions:
default: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: default
id: 27167550
id: 30359009
attr_param_id: {}
10 changes: 5 additions & 5 deletions dash-pipeline/SAI/specs/dash_inbound_routing.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -141,26 +141,26 @@ sai_apis:
p4_meta: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4Meta
tables:
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
id: 38920290
id: 46226512
actions:
SAI_INBOUND_ROUTING_ENTRY_ACTION_TUNNEL_DECAP: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: SAI_INBOUND_ROUTING_ENTRY_ACTION_TUNNEL_DECAP
id: 22253429
id: 19753110
attr_param_id:
SAI_INBOUND_ROUTING_ENTRY_ATTR_METER_CLASS_OR: 1
SAI_INBOUND_ROUTING_ENTRY_ATTR_METER_CLASS_AND: 2
SAI_INBOUND_ROUTING_ENTRY_ACTION_TUNNEL_DECAP_PA_VALIDATE: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: SAI_INBOUND_ROUTING_ENTRY_ACTION_TUNNEL_DECAP_PA_VALIDATE
id: 27987616
id: 25922590
attr_param_id:
SAI_INBOUND_ROUTING_ENTRY_ATTR_SRC_VNET_ID: 1
SAI_INBOUND_ROUTING_ENTRY_ATTR_METER_CLASS_OR: 2
SAI_INBOUND_ROUTING_ENTRY_ATTR_METER_CLASS_AND: 3
SAI_INBOUND_ROUTING_ENTRY_ACTION_VXLAN_DECAP: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: SAI_INBOUND_ROUTING_ENTRY_ACTION_VXLAN_DECAP
id: 32581635
id: 29008246
attr_param_id: {}
SAI_INBOUND_ROUTING_ENTRY_ACTION_VXLAN_DECAP_PA_VALIDATE: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: SAI_INBOUND_ROUTING_ENTRY_ACTION_VXLAN_DECAP_PA_VALIDATE
id: 22711915
id: 21551298
attr_param_id: {}
2 changes: 1 addition & 1 deletion dash-pipeline/SAI/specs/dash_outbound_ca_to_pa.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,7 @@ sai_apis:
p4_meta: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4Meta
tables:
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
id: 43335456
id: 48765007
actions:
SAI_OUTBOUND_CA_TO_PA_ENTRY_ACTION_SET_TUNNEL_MAPPING: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: SAI_OUTBOUND_CA_TO_PA_ENTRY_ACTION_SET_TUNNEL_MAPPING
Expand Down
6 changes: 3 additions & 3 deletions dash-pipeline/SAI/specs/dash_outbound_routing.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -294,7 +294,7 @@ sai_apis:
p4_meta: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4Meta
tables:
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
id: 44010720
id: 38546097
actions:
SAI_OUTBOUND_ROUTING_ENTRY_ACTION_ROUTE_VNET: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: SAI_OUTBOUND_ROUTING_ENTRY_ACTION_ROUTE_VNET
Expand Down Expand Up @@ -367,9 +367,9 @@ sai_apis:
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
id: 40572680
actions:
default: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: default
id: 20489967
id: 30077100
attr_param_id: {}
4 changes: 2 additions & 2 deletions dash-pipeline/SAI/specs/dash_pa_validation.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,9 @@ sai_apis:
p4_meta: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4Meta
tables:
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
id: 35526612
id: 43665660
actions:
SAI_PA_VALIDATION_ENTRY_ACTION_PERMIT: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: SAI_PA_VALIDATION_ENTRY_ACTION_PERMIT
id: 32591400
id: 19504487
attr_param_id: {}
4 changes: 2 additions & 2 deletions dash-pipeline/SAI/specs/dash_tunnel.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,9 @@ sai_apis:
p4_meta: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4Meta
tables:
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
id: 44400659
id: 34128771
actions:
default: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: default
id: 27891720
id: 18727423
attr_param_id: {}
4 changes: 2 additions & 2 deletions dash-pipeline/SAI/specs/dash_vip.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -64,9 +64,9 @@ sai_apis:
p4_meta: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4Meta
tables:
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
id: 45245089
id: 48212080
actions:
SAI_VIP_ENTRY_ACTION_ACCEPT: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: SAI_VIP_ENTRY_ACTION_ACCEPT
id: 26041632
id: 22859453
attr_param_id: {}
4 changes: 2 additions & 2 deletions dash-pipeline/SAI/specs/dash_vnet.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@ sai_apis:
p4_meta: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4Meta
tables:
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
id: 49590243
id: 39583935
actions:
default: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction
name: default
id: 20510911
id: 28116018
attr_param_id: {}
15 changes: 5 additions & 10 deletions dash-pipeline/bmv2/dash_headers.p4
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ header encap_data_t {
EthernetAddress underlay_dmac;
dash_encapsulation_t dash_encapsulation;
}
const bit<16> ENCAP_DATA_HDR_SIZE=(24+24+32+32+48+48+16)/8;
const bit<16> ENCAP_DATA_HDR_SIZE=encap_data_t.minSizeInBytes();

header overlay_rewrite_data_t {
EthernetAddress dmac;
Expand All @@ -63,7 +63,7 @@ header overlay_rewrite_data_t {
bit<7> reserved;
bool is_ipv6;
}
const bit<16> OVERLAY_REWRITE_DATA_HDR_SIZE=(48+128+128+128+128+8)/8;
const bit<16> OVERLAY_REWRITE_DATA_HDR_SIZE=overlay_rewrite_data_t.minSizeInBytes();

header ethernet_t {
EthernetAddress dst_addr;
Expand Down Expand Up @@ -153,7 +153,6 @@ header ipv6_t {
const bit<16> IPV6_HDR_SIZE=320/8;


#ifdef DPAPP_CONNTRACK
enum bit<16> dash_flow_enabled_key_t {
ENI_ADDR = (1 << 0),
VNI = (1 << 1),
Expand Down Expand Up @@ -210,7 +209,7 @@ header flow_key_t {
bit<7> reserved;
bit<1> is_ip_v6;
}
const bit<16> FLOW_KEY_HDR_SIZE=(48+16+128+128+16+16+8+8)/8;
const bit<16> FLOW_KEY_HDR_SIZE=flow_key_t.minSizeInBytes();

header flow_data_t {
bit<7> reserved;
Expand All @@ -221,7 +220,7 @@ header flow_data_t {
bit<32> routing_actions;
dash_meter_class_t meter_class;
}
const bit<16> FLOW_DATA_HDR_SIZE=(8+32+16+16+32+32)/8;
const bit<16> FLOW_DATA_HDR_SIZE=flow_data_t.minSizeInBytes();

// dash packet metadata
header dash_packet_meta_t {
Expand All @@ -230,15 +229,12 @@ header dash_packet_meta_t {
dash_packet_subtype_t packet_subtype;
bit<16> length;
}
const bit<16> PACKET_META_HDR_SIZE=(8+4+4+16)/8;
const bit<16> PACKET_META_HDR_SIZE=dash_packet_meta_t.minSizeInBytes();

#define DASH_ETHTYPE 0x876d
#define DPAPP_MAC 0x02fe23f0e413

#endif // DPAPP_CONNTRACK

struct headers_t {
#ifdef DPAPP_CONNTRACK
/* packet metadata headers */
ethernet_t dp_ethernet;
dash_packet_meta_t packet_meta;
Expand All @@ -247,7 +243,6 @@ struct headers_t {
overlay_rewrite_data_t flow_overlay_data;
encap_data_t flow_encap_data;
encap_data_t flow_tunnel_data;
#endif // DPAPP_CONNTRACK

/* Underlay 1 headers */
ethernet_t u1_ethernet;
Expand Down
Loading

0 comments on commit e939e3d

Please sign in to comment.