On Fri, 27 Oct 2017 20:28:16 -0700, Michael Chan wrote:
> On Fri, Oct 27, 2017 at 8:18 PM, Jakub Kicinski <kubak...@wp.pl> wrote:
> > On Thu, 26 Oct 2017 11:51:29 -0400, Michael Chan wrote:  
> >> From: Sathya Perla <sathya.pe...@broadcom.com>
> >>
> >> 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 <sathya.pe...@broadcom.com>
> >> Signed-off-by: Michael Chan <michael.c...@broadcom.com>  
> >
> > 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  
> 
> Thanks for reporting this.  I think we need to use vlan_dev_real_dev()
> API which will handle the case where CONFIG_VLAN_8021Q is not defined.
> 
> I will send a patch to fix this shortly.  Thanks again.

I found another one :)

drivers/net/ethernet/broadcom/bnxt/bnxt_tc.o: In function 
`bnxt_tc_resolve_tunnel_hdrs.isra.34':
bnxt_tc.c:(.text+0x5cd): undefined reference to `ip_route_output_flow'

This is when CONFIG_INET is not set.

Reply via email to