[PATCH net-next v2] net: psample: fix build error when CONFIG_INET is not enabled

From: Randy Dunlap
Date: Fri May 22 2020 - 16:05:32 EST


From: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>

Fix psample build error when CONFIG_INET is not set/enabled by
bracketing the tunnel code in #ifdef CONFIG_NET / #endif.

../net/psample/psample.c: In function â__psample_ip_tun_to_nlattrâ:
../net/psample/psample.c:216:25: error: implicit declaration of function âip_tunnel_info_optsâ; did you mean âip_tunnel_info_opts_setâ? [-Werror=implicit-function-declaration]

Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
Cc: Yotam Gigi <yotam.gi@xxxxxxxxx>
Cc: Cong Wang <xiyou.wangcong@xxxxxxxxx>
---
v2: Just bracket the new tunnel support code inside ifdef/endif (Cong Wang).

net/psample/psample.c | 8 ++++++++
1 file changed, 8 insertions(+)

--- linux-next-20200522.orig/net/psample/psample.c
+++ linux-next-20200522/net/psample/psample.c
@@ -209,6 +209,7 @@ void psample_group_put(struct psample_gr
}
EXPORT_SYMBOL_GPL(psample_group_put);

+#ifdef CONFIG_INET
static int __psample_ip_tun_to_nlattr(struct sk_buff *skb,
struct ip_tunnel_info *tun_info)
{
@@ -352,12 +353,15 @@ static int psample_tunnel_meta_len(struc

return sum;
}
+#endif

void psample_sample_packet(struct psample_group *group, struct sk_buff *skb,
u32 trunc_size, int in_ifindex, int out_ifindex,
u32 sample_rate)
{
+#ifdef CONFIG_INET
struct ip_tunnel_info *tun_info;
+#endif
struct sk_buff *nl_skb;
int data_len;
int meta_len;
@@ -371,9 +375,11 @@ void psample_sample_packet(struct psampl
nla_total_size(sizeof(u32)) + /* group_num */
nla_total_size(sizeof(u32)); /* seq */

+#ifdef CONFIG_INET
tun_info = skb_tunnel_info(skb);
if (tun_info)
meta_len += psample_tunnel_meta_len(tun_info);
+#endif

data_len = min(skb->len, trunc_size);
if (meta_len + nla_total_size(data_len) > PSAMPLE_MAX_PACKET_SIZE)
@@ -429,11 +435,13 @@ void psample_sample_packet(struct psampl
goto error;
}

+#ifdef CONFIG_INET
if (tun_info) {
ret = psample_ip_tun_to_nlattr(nl_skb, tun_info);
if (unlikely(ret < 0))
goto error;
}
+#endif

genlmsg_end(nl_skb, data);
genlmsg_multicast_netns(&psample_nl_family, group->net, nl_skb, 0,