Conversation
1f489b0 to
83faeb9
Compare
f4dd1fa to
fd2d08b
Compare
c68bf51 to
4314635
Compare
76f0ba9 to
722c38a
Compare
1ebeb7b to
1397373
Compare
0fa4034 to
e94b336
Compare
321f6b0 to
e134df9
Compare
jacob-keller
left a comment
There was a problem hiding this comment.
This version looks pretty good, I think there are a few minor refactors you did to match out-of-tree which shouldn't be done.
I also think this would benefit from being split apart to have relevant refactors and changes required for GTPU support in separate commits to aid review. This is a lot of code in one change right now.
| int err; | ||
|
|
||
| if (is_tun && !ice_get_open_tunnel_port(&pf->hw, &port_num, TNL_ALL)) | ||
| if (is_tun && !ice_get_open_tunnel_port(&pf->hw, TNL_ALL, &port_num)) |
There was a problem hiding this comment.
Przemek mentioned this on list,. I agree with him that we shouldn't reverse the order of arguments on this function for seemingly no reason. If you just want to align upstream with out-of-tree, we should invert the order out-of-tree.
| ice_release_res(hw, ICE_CHANGE_LOCK_RES_ID); | ||
| } | ||
|
|
||
|
|
There was a problem hiding this comment.
Unecessary extra whitespace here.
| ice_add_prof(struct ice_hw *hw, enum ice_block blk, u64 id, | ||
| unsigned long *ptypes, const struct ice_ptype_attributes *attr, | ||
| u16 attr_cnt, struct ice_fv_word *es, u16 *masks, bool symm, | ||
| bool fd_swap) |
There was a problem hiding this comment.
Ah, we switched to bitmap from u8[] here, which explains the difference in parameters. Ok.
| cfg->addl_hdrs, cfg->hash_flds, | ||
| cfg->hdr_type, cfg->symm); | ||
| cfg->addl_hdrs, cfg->hash_flds, cfg->hdr_type, | ||
| cfg->symm); |
There was a problem hiding this comment.
this change does cleanup formatting. If you keep it, it should be part of a different patch since netdev typically doesn't like code format changes in the same patches as new development.
| #include <net/xdp_sock_drv.h> | ||
|
|
||
| #define DRV_SUMMARY "Intel(R) Ethernet Connection E800 Series Linux Driver" | ||
| #define DRV_SUMMARY "Intel(R) Ethernet Connection E800 Series Linux Driver +GTP-Uv12" |
There was a problem hiding this comment.
This change makes sense for testing but isn't something that would typically go in a final patch.
| #define VIRTCHNL_VF_OFFLOAD_FDIR_PF BIT(28) | ||
| #define VIRTCHNL_VF_OFFLOAD_QOS BIT(29) | ||
| #define VIRTCHNL_VF_CAP_DCF BIT(30) | ||
| #define VIRTCHNL_VF_CAP_PTP BIT(31) |
There was a problem hiding this comment.
We should minimize this to only the changes required to add GTPU support, and leave the other bits blank , perhaps with a patch up front that adds reservation comments.
5ee6395 to
ff78b2a
Compare
This patch adds support for configuring GTP-U and PPPoE RSS and Flow Director (FDIR) offloads for Virtual Functions (VFs) in the ice driver.
Key features introduced:
- Support for GTP-U over IPv4/IPv6 with optional extension headers.
- Inner IPv4/UDP/TCP matching for AVF FDIR:
- ipv4 + gtpu/gtpu_eh + ipv4 + udp/tcp
- PPPoE session ID-based flow classification.
- Raw pattern-based RSS and FDIR programming via virtchnl.
- Symmetric hashing support for raw and protocol-based flows.
- Enhanced virtchnl interface to support new offload capabilities.
The implementation includes:
- Flow engine and parser updates to support new protocol fields.
- Virtchnl interface extensions for VF-PF communication.
- RSS and FDIR profile management improvements.
- Conflict resolution and rollback logic for overlapping profiles.
- Backward compatibility with existing AVF and DCF implementations.
Tested with AVF and DCF drivers supporting the extended virtchnl interface and validated with representative GTP-U and PPPoE traffic patterns.
Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
This patch adds support for configuring GTP-U and PPPoE RSS and Flow Director (FDIR) offloads for Virtual Functions (VFs) in the ice driver.
Key features introduced:
The implementation includes:
Tested with AVF and DCF drivers supporting the extended virtchnl interface and validated with representative GTP-U and PPPoE traffic patterns.
Signed-off-by: Aleksandr Loktionov aleksandr.loktionov@intel.com