Skip to content

Commit

Permalink
geneve support in LNW.p4 (#394)
Browse files Browse the repository at this point in the history
* geneve support in LNW.p4

Signed-off-by: Satish Pitchikala <satish.pitchikala@intel.com>

* added actions for geneve

Signed-off-by: Satish Pitchikala <satish.pitchikala@intel.com>

* geneve dcap actions

Signed-off-by: Satish Pitchikala <satish.pitchikala@intel.com>

* fix for dpdk target build fail

Signed-off-by: Satish Pitchikala <satish.pitchikala@intel.com>

* fix for issue while deleting entries

Signed-off-by: Satish Pitchikala <satish.pitchikala@intel.com>

* updated ovs refpoint

Signed-off-by: Satish Pitchikala <satish.pitchikala@intel.com>

* Update ovs-p4rt/ovs_p4rt.cc

Co-authored-by: Derek G Foster <derek.foster@intel.com>
Signed-off-by: Satish Pitchikala <satish.pitchikala@intel.com>

* Update ovs-p4rt/ovs_p4rt.cc

Co-authored-by: Derek G Foster <derek.foster@intel.com>
Signed-off-by: Satish Pitchikala <satish.pitchikala@intel.com>

* Update ovs-p4rt/ovs_p4rt.cc

Co-authored-by: Derek G Foster <derek.foster@intel.com>
Signed-off-by: Satish Pitchikala <satish.pitchikala@intel.com>

* Update ovs-p4rt/ovs_p4rt.cc

Co-authored-by: Derek G Foster <derek.foster@intel.com>
Signed-off-by: Satish Pitchikala <satish.pitchikala@intel.com>

* Bump robinraju/release-downloader from 1.8 to 1.9 (#400)

Bumps [robinraju/release-downloader](https://github.com/robinraju/release-downloader) from 1.8 to 1.9.
- [Release notes](https://github.com/robinraju/release-downloader/releases)
- [Commits](robinraju/release-downloader@v1.8...v1.9)

---
updated-dependencies:
- dependency-name: robinraju/release-downloader
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Satish Pitchikala <satish.pitchikala@intel.com>

* Bump tj-actions/changed-files from 41 to 42 (#399)

Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 41 to 42.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](tj-actions/changed-files@v41...v42)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Satish Pitchikala <satish.pitchikala@intel.com>

* Refine p4cp github lint workflows (#398)

- Rename lintdocs.yml to linters.yml.

- Move py_bandit_check and clang_format_check to linters.yml.

- Expand py_bandit_check to apply to all .py files.

Signed-off-by: Derek G Foster <derek.foster@intel.com>
Signed-off-by: Satish Pitchikala <satish.pitchikala@intel.com>

* P4CP : DefaultActionSupport (#397)

* P4Runtime Client Changes

Signed-off-by: Kumar, Aashish <aashish.kumar@intel.com>

* Addressing comments

Signed-off-by: Kumar, Aashish <aashish.kumar@intel.com>

* Addressing comments

Signed-off-by: Kumar, Aashish <aashish.kumar@intel.com>

---------

Signed-off-by: Kumar, Aashish <aashish.kumar@intel.com>
Signed-off-by: Satish Pitchikala <satish.pitchikala@intel.com>

* Update krnlmon submodule reference (#401)

Signed-off-by: Kumar, Aashish <aashish.kumar@intel.com>
Signed-off-by: Satish Pitchikala <satish.pitchikala@intel.com>

* clang format the code

Signed-off-by: Satish Pitchikala <satish.pitchikala@intel.com>

* fix for ipv6 tunnel port

Signed-off-by: Satish Pitchikala <satish.pitchikala@intel.com>

* Addressing review comments

Signed-off-by: Satish Pitchikala <satish.pitchikala@intel.com>

---------

Signed-off-by: Satish Pitchikala <satish.pitchikala@intel.com>
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Derek G Foster <derek.foster@intel.com>
Signed-off-by: Kumar, Aashish <aashish.kumar@intel.com>
Co-authored-by: Derek G Foster <derek.foster@intel.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: aashishkuma <aashish.kumar@intel.com>
  • Loading branch information
4 people authored Feb 9, 2024
1 parent 46fcb03 commit 2681b1f
Show file tree
Hide file tree
Showing 3 changed files with 786 additions and 88 deletions.
132 changes: 112 additions & 20 deletions ovs-p4rt/es2k/p4_name_mapping.h
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ extern "C" {
#define ACTION_VXLAN_ENCAP_V6_PARAM_DS "ds"
#define ACTION_VXLAN_ENCAP_V6_PARAM_ECN "ecn"
#define ACTION_VXLAN_ENCAP_V6_PARAM_FLOW_LABEL "flow_label"
#define ACTION_VXLAN_ENCAP_V6_PARAM_hop_limit "hop_limit"
#define ACTION_VXLAN_ENCAP_V6_PARAM_HOP_LIMIT "hop_limit"
#define ACTION_VXLAN_ENCAP_V6_PARAM_SRC_PORT "src_port"
#define ACTION_VXLAN_ENCAP_V6_PARAM_DST_PORT "dst_port"
#define ACTION_VXLAN_ENCAP_V6_PARAM_VNI "vni"
Expand All @@ -77,11 +77,77 @@ extern "C" {
#define ACTION_VXLAN_ENCAP_V6_VLAN_POP_PARAM_DS "ds"
#define ACTION_VXLAN_ENCAP_V6_VLAN_POP_PARAM_ECN "ecn"
#define ACTION_VXLAN_ENCAP_V6_VLAN_POP_PARAM_FLOW_LABEL "flow_label"
#define ACTION_VXLAN_ENCAP_V6_VLAN_POP_PARAM_hop_limit "hop_limit"
#define ACTION_VXLAN_ENCAP_V6_VLAN_POP_PARAM_HOP_LIMIT "hop_limit"
#define ACTION_VXLAN_ENCAP_V6_VLAN_POP_PARAM_SRC_PORT "src_port"
#define ACTION_VXLAN_ENCAP_V6_VLAN_POP_PARAM_DST_PORT "dst_port"
#define ACTION_VXLAN_ENCAP_V6_VLAN_POP_PARAM_VNI "vni"

/* GENEVE_ENCAP_MOD_TABLE */
#define GENEVE_ENCAP_MOD_TABLE "linux_networking_control.geneve_encap_mod_table"

#define GENEVE_ENCAP_MOD_TABLE_KEY_VENDORMETA_MOD_DATA_PTR \
"vmeta.common.mod_blob_ptr"

#define ACTION_GENEVE_ENCAP "linux_networking_control.geneve_encap"
#define ACTION_GENEVE_ENCAP_PARAM_SRC_ADDR "src_addr"
#define ACTION_GENEVE_ENCAP_PARAM_DST_ADDR "dst_addr"
#define ACTION_GENEVE_ENCAP_PARAM_DST_PORT "dst_port"
#define ACTION_GENEVE_ENCAP_PARAM_SRC_PORT "src_port"
#define ACTION_GENEVE_ENCAP_PARAM_VNI "vni"

/* GENEVE_ENCAP_VLAN_POP_MOD_TABLE */
#define GENEVE_ENCAP_VLAN_POP_MOD_TABLE \
"linux_networking_control.geneve_encap_vlan_pop_mod_table"

#define GENEVE_ENCAP_VLAN_POP_MOD_TABLE_KEY_VENDORMETA_MOD_DATA_PTR \
"vmeta.common.mod_blob_ptr"

#define ACTION_GENEVE_ENCAP_VLAN_POP \
"linux_networking_control.geneve_encap_vlan_pop"

#define ACTION_GENEVE_ENCAP_VLAN_POP_PARAM_SRC_ADDR "src_addr"
#define ACTION_GENEVE_ENCAP_VLAN_POP_PARAM_DST_ADDR "dst_addr"
#define ACTION_GENEVE_ENCAP_VLAN_POP_PARAM_DST_PORT "dst_port"
#define ACTION_GENEVE_ENCAP_VLAN_POP_PARAM_SRC_PORT "src_port"
#define ACTION_GENEVE_ENCAP_VLAN_POP_PARAM_VNI "vni"

/* GENEVE_ENCAP_V6_MOD_TABLE */
#define GENEVE_ENCAP_V6_MOD_TABLE \
"linux_networking_control.geneve_encap_v6_mod_table"

#define GENEVE_ENCAP_V6_MOD_TABLE_KEY_VENDORMETA_MOD_DATA_PTR \
"vmeta.common.mod_blob_ptr"

#define ACTION_GENEVE_ENCAP_V6 "linux_networking_control.geneve_encap_v6"
#define ACTION_GENEVE_ENCAP_V6_PARAM_SRC_ADDR "src_addr"
#define ACTION_GENEVE_ENCAP_V6_PARAM_DST_ADDR "dst_addr"
#define ACTION_GENEVE_ENCAP_V6_PARAM_DS "ds"
#define ACTION_GENEVE_ENCAP_V6_PARAM_ECN "ecn"
#define ACTION_GENEVE_ENCAP_V6_PARAM_FLOW_LABEL "flow_label"
#define ACTION_GENEVE_ENCAP_V6_PARAM_HOP_LIMIT "hop_limit"
#define ACTION_GENEVE_ENCAP_V6_PARAM_SRC_PORT "src_port"
#define ACTION_GENEVE_ENCAP_V6_PARAM_DST_PORT "dst_port"
#define ACTION_GENEVE_ENCAP_V6_PARAM_VNI "vni"

/* GENEVE_ENCAP_V6_VLAN_POP_MOD_TABLE */
#define GENEVE_ENCAP_V6_VLAN_POP_MOD_TABLE \
"linux_networking_control.geneve_encap_v6_vlan_pop_mod_table"

#define GENEVE_ENCAP_V6_VLAN_POP_MOD_TABLE_KEY_VENDORMETA_MOD_DATA_PTR \
"vmeta.common.mod_blob_ptr"

#define ACTION_GENEVE_ENCAP_V6_VLAN_POP \
"linux_networking_control.geneve_encap_v6_vlan_pop"
#define ACTION_GENEVE_ENCAP_V6_VLAN_POP_PARAM_SRC_ADDR "src_addr"
#define ACTION_GENEVE_ENCAP_V6_VLAN_POP_PARAM_DST_ADDR "dst_addr"
#define ACTION_GENEVE_ENCAP_V6_VLAN_POP_PARAM_DS "ds"
#define ACTION_GENEVE_ENCAP_V6_VLAN_POP_PARAM_ECN "ecn"
#define ACTION_GENEVE_ENCAP_V6_VLAN_POP_PARAM_FLOW_LABEL "flow_label"
#define ACTION_GENEVE_ENCAP_V6_VLAN_POP_PARAM_HOP_LIMIT "hop_limit"
#define ACTION_GENEVE_ENCAP_V6_VLAN_POP_PARAM_SRC_PORT "src_port"
#define ACTION_GENEVE_ENCAP_V6_VLAN_POP_PARAM_DST_PORT "dst_port"
#define ACTION_GENEVE_ENCAP_V6_VLAN_POP_PARAM_VNI "vni"

/* IPV4_TUNNEL_TERM_TABLE */
#define IPV4_TUNNEL_TERM_TABLE "linux_networking_control.ipv4_tunnel_term_table"

Expand All @@ -90,12 +156,14 @@ extern "C" {
#define IPV4_TUNNEL_TERM_TABLE_KEY_IPV4_DST "ipv4_dst"
#define IPV4_TUNNEL_TERM_TABLE_KEY_VNI "vni"

#define ACTION_DECAP_OUTER_HDR "linux_networking_control.decap_outer_hdr"
#define ACTION_DECAP_OUTER_HDR_PARAM_TUNNEL_ID "tunnel_id"

#define ACTION_DECAP_OUTER_HDR_AND_PUSH_VLAN \
"linux_networking_control.decap_outer_and_push_vlan"
#define ACTION_DECAP_OUTER_HDR_AND_PUSH_VLAN_PARAM_TUNNEL_ID "tunnel_id"
#define ACTION_SET_VXLAN_DECAP_OUTER_HDR \
"linux_networking_control.set_vxlan_decap_outer_hdr"
#define ACTION_SET_VXLAN_DECAP_OUTER_HDR_AND_PUSH_VLAN \
"linux_networking_control.set_vxlan_decap_outer_and_push_vlan"
#define ACTION_SET_GENEVE_DECAP_OUTER_HDR \
"linux_networking_control.set_geneve_decap_outer_hdr"
#define ACTION_SET_GENEVE_DECAP_OUTER_HDR_AND_PUSH_VLAN \
"linux_networking_control.set_geneve_decap_outer_and_push_vlan"

/* IPV6_TUNNEL_TERM_TABLE */
#define IPV6_TUNNEL_TERM_TABLE "linux_networking_control.ipv6_tunnel_term_table"
Expand All @@ -122,6 +190,24 @@ extern "C" {
#define ACTION_VXLAN_DECAP_AND_PUSH_VLAN_PARAM_DEI "dei"
#define ACTION_VXLAN_DECAP_AND_PUSH_VLAN_PARAM_VLAN_ID "vlan_id"

/* GENEVE_DECAP_MOD TABLE */
#define GENEVE_DECAP_MOD_TABLE "linux_networking_control.geneve_decap_mod_table"
#define GENEVE_DECAP_MOD_TABLE_KEY_MOD_BLOB_PTR "vmeta.common.mod_blob_ptr"
#define ACTION_GENEVE_DECAP_OUTER_HDR \
"linux_networking_control.geneve_decap_outer_hdr"

/* GENEVE_DECAP_AND_VLAN_PUSH_MOD TABLE */
#define GENEVE_DECAP_AND_VLAN_PUSH_MOD_TABLE \
"linux_networking_control.geneve_decap_and_push_vlan_mod_table"
#define GENEVE_DECAP_AND_VLAN_PUSH_MOD_TABLE_KEY_MOD_BLOB_PTR \
"vmeta.common.mod_blob_ptr"

#define ACTION_GENEVE_DECAP_AND_PUSH_VLAN \
"linux_networking_control.geneve_decap_and_push_vlan"
#define ACTION_GENEVE_DECAP_AND_PUSH_VLAN_PARAM_PCP "pcp"
#define ACTION_GENEVE_DECAP_AND_PUSH_VLAN_PARAM_DEI "dei"
#define ACTION_GENEVE_DECAP_AND_PUSH_VLAN_PARAM_VLAN_ID "vlan_id"

/* L2_FWD_RX_TABLE */
#define L2_FWD_RX_TABLE "linux_networking_control.l2_fwd_rx_table"

Expand Down Expand Up @@ -159,25 +245,31 @@ extern "C" {

#define L2_FWD_TX_TABLE_ACTION_L2_FWD "linux_networking_control.l2_fwd"

#define L2_FWD_TX_TABLE_ACTION_SET_TUNNEL_UNDERLAY_V4 \
"linux_networking_control.set_tunnel_underlay_v4"
#define L2_FWD_TX_TABLE_ACTION_SET_VXLAN_UNDERLAY_V4 \
"linux_networking_control.set_vxlan_underlay_v4"

#define L2_FWD_TX_TABLE_ACTION_SET_GENEVE_UNDERLAY_V4 \
"linux_networking_control.set_geneve_underlay_v4"

#define ACTION_SET_TUNNEL_UNDERLAY_V4_PARAM_TUNNEL_ID "tunnel_id"
#define L2_FWD_TX_TABLE_ACTION_SET_VXLAN_UNDERLAY_V6 \
"linux_networking_control.set_vxlan_underlay_v6"

#define L2_FWD_TX_TABLE_ACTION_SET_TUNNEL_UNDERLAY_V6 \
"linux_networking_control.set_tunnel_underlay_v6"
#define L2_FWD_TX_TABLE_ACTION_SET_GENEVE_UNDERLAY_V6 \
"linux_networking_control.set_geneve_underlay_v6"

#define ACTION_SET_TUNNEL_UNDERLAY_V6_PARAM_TUNNEL_ID "tunnel_id"
#define L2_FWD_TX_TABLE_ACTION_POP_VLAN_SET_VXLAN_UNDERLAY_V4 \
"linux_networking_control.pop_vlan_set_vxlan_underlay_v4"

#define L2_FWD_TX_TABLE_ACTION_POP_VLAN_SET_TUNNEL_UNDERLAY_V4 \
"linux_networking_control.pop_vlan_set_tunnel_underlay_v4"
#define L2_FWD_TX_TABLE_ACTION_POP_VLAN_SET_GENEVE_UNDERLAY_V4 \
"linux_networking_control.pop_vlan_set_geneve_underlay_v4"

#define ACTION_POP_VLAN_SET_TUNNEL_UNDERLAY_V4_PARAM_TUNNEL_ID "tunnel_id"
#define L2_FWD_TX_TABLE_ACTION_POP_VLAN_SET_VXLAN_UNDERLAY_V6 \
"linux_networking_control.pop_vlan_set_vxlan_underlay_v6"

#define L2_FWD_TX_TABLE_ACTION_POP_VLAN_SET_TUNNEL_UNDERLAY_V6 \
"linux_networking_control.pop_vlan_set_tunnel_underlay_v6"
#define L2_FWD_TX_TABLE_ACTION_POP_VLAN_SET_GENEVE_UNDERLAY_V6 \
"linux_networking_control.pop_vlan_set_geneve_underlay_v6"

#define ACTION_POP_VLAN_SET_TUNNEL_UNDERLAY_V6_PARAM_TUNNEL_ID "tunnel_id"
#define ACTION_PARAM_TUNNEL_ID "tunnel_id"

#define L2_FWD_TX_TABLE_ACTION_ADD_VLAN_AND_FWD \
"linux_networking_control.add_vlan_and_fwd"
Expand Down
Loading

0 comments on commit 2681b1f

Please sign in to comment.