On Sat, 28 Oct 2017 14:05:04 +0800, Yunsheng Lin wrote:
> Hi, Michael
>
> On 2017/10/28 13:56, Michael Chan wrote:
> > Fix undefined symbols when CONFIG_VLAN_8021Q or CONFIG_INET is not set.
> >
> > Fixes: 8c95f773b4a3 ("bnxt_en: add support for Flower based vxlan
> > encap/decap offload")
> > Reported-by: Jakub Kicinski <[email protected]>
> > Signed-off-by: Michael Chan <[email protected]>
> > ---
> > drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c | 6 ++++++
> > 1 file changed, 6 insertions(+)
> >
> > diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c
> > b/drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c
> > index 798d139..d5031f4 100644
> > --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c
> > +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c
> > @@ -904,6 +904,7 @@ static int bnxt_tc_resolve_tunnel_hdrs(struct bnxt *bp,
> > struct bnxt_tc_l2_key *l2_info,
> > struct net_device *real_dst_dev)
> > {
> > +#ifdef CONFIG_INET
>
> Can we use #if IS_ENABLED(CONFIG_INET) here too?
>
> I am not familiar with IS_ENABLED, just thought it would be
> good to be constistent because you are using IS_ENABLED below.
It's OK, CONFIG_INET can't be a module.
> > struct flowi4 flow = { {0} };
> > struct net_device *dst_dev;
> > struct neighbour *nbr;
> > @@ -925,6 +926,7 @@ static int bnxt_tc_resolve_tunnel_hdrs(struct bnxt *bp,
> > */
> > dst_dev = rt->dst.dev;
> > if (is_vlan_dev(dst_dev)) {
> > +#if IS_ENABLED(CONFIG_VLAN_8021Q)
But here you should perhaps use IS_REACHABLE() otherwise when bnxt is
built in and 8021q is a module there could be trouble, no?