On Thu, 26 Oct 2017 11:51:29 -0400, Michael Chan wrote: > From: Sathya Perla <[email protected]> > > This patch adds IPv4 vxlan encap/decap action support to TC-flower > offload. > > For vxlan encap, the driver maintains a tunnel encap hash-table. > When a new flow with a tunnel encap action arrives, this table > is looked up; if an encap entry exists, it uses the already > programmed encap_record_handle as the tunnel_handle in the > hwrm_cfa_flow_alloc cmd. Else, a new encap node is added and the > L2 header fields are queried via a route lookup. > hwrm_cfa_encap_record_alloc cmd is used to create a new encap > record and the encap_record_handle is used as the tunnel_handle > while adding the flow. > > For vxlan decap, the driver maintains a tunnel decap hash-table. > When a new flow with a tunnel decap action arrives, this table > is looked up; if a decap entry exists, it uses the already > programmed decap_filter_handle as the tunnel_handle in the > hwrm_cfa_flow_alloc cmd. Else, a new decap node is added and > a decap_filter_handle is alloc'd via the hwrm_cfa_decap_filter_alloc > cmd. This handle is used as the tunnel_handle while adding the flow. > > The code to issue the HWRM FW cmds is introduced in a follow-up patch. > > Signed-off-by: Sathya Perla <[email protected]> > Signed-off-by: Michael Chan <[email protected]>
Hi! I hit this randconfig build testing:
../drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c: In function
‘bnxt_tc_resolve_tunnel_hdrs’:
../drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c:928:32: error: implicit
declaration of function ‘vlan_dev_priv’ [-Werror=implicit-function-declaration]
struct vlan_dev_priv *vlan = vlan_dev_priv(dst_dev);
^~~~~~~~~~~~~
../drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c:928:32: warning: initialization
makes pointer from integer without a cast [-Wint-conversion]
In file included from ../include/uapi/linux/stddef.h:1:0,
from ../include/linux/stddef.h:4,
from ../include/uapi/linux/posix_types.h:4,
from ../include/uapi/linux/types.h:13,
from ../include/linux/types.h:5,
from ../include/linux/list.h:4,
from ../include/linux/timer.h:4,
from ../include/linux/netdevice.h:28,
from ../drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c:10:
../drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c:930:11: error: dereferencing
pointer to incomplete type ‘struct vlan_dev_priv’
if (vlan->real_dev != real_dst_dev) {
^
../include/linux/compiler.h:156:30: note: in definition of macro ‘__trace_if’
if (__builtin_constant_p(!!(cond)) ? !!(cond) : \
^~~~
../drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c:930:3: note: in expansion of
macro ‘if’
if (vlan->real_dev != real_dst_dev) {
^~
cc1: some warnings being treated as errors
.config.bz2
Description: application/bzip
