Commit 9dc621af authored by stephen hemminger's avatar stephen hemminger Committed by David S. Miller

fou: make local function static

The build header functions are not used by any other code.

net/ipv6/fou6.c:36:5: warning: no previous prototype for ‘fou6_build_header’ [-Wmissing-prototypes]
net/ipv6/fou6.c:54:5: warning: no previous prototype for ‘gue6_build_header’ [-Wmissing-prototypes]

Need to do some code rearranging to satisfy different Kconfig possiblities.
Signed-off-by: default avatarStephen Hemminger <sthemmin@microsoft.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c718c6d6
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#include <linux/kernel.h> #include <linux/kernel.h>
#include <net/genetlink.h> #include <net/genetlink.h>
#include <net/gue.h> #include <net/gue.h>
#include <net/fou.h>
#include <net/ip.h> #include <net/ip.h>
#include <net/protocol.h> #include <net/protocol.h>
#include <net/udp.h> #include <net/udp.h>
...@@ -859,25 +860,6 @@ size_t gue_encap_hlen(struct ip_tunnel_encap *e) ...@@ -859,25 +860,6 @@ size_t gue_encap_hlen(struct ip_tunnel_encap *e)
} }
EXPORT_SYMBOL(gue_encap_hlen); EXPORT_SYMBOL(gue_encap_hlen);
static void fou_build_udp(struct sk_buff *skb, struct ip_tunnel_encap *e,
struct flowi4 *fl4, u8 *protocol, __be16 sport)
{
struct udphdr *uh;
skb_push(skb, sizeof(struct udphdr));
skb_reset_transport_header(skb);
uh = udp_hdr(skb);
uh->dest = e->dport;
uh->source = sport;
uh->len = htons(skb->len);
udp_set_csum(!(e->flags & TUNNEL_ENCAP_FLAG_CSUM), skb,
fl4->saddr, fl4->daddr, skb->len);
*protocol = IPPROTO_UDP;
}
int __fou_build_header(struct sk_buff *skb, struct ip_tunnel_encap *e, int __fou_build_header(struct sk_buff *skb, struct ip_tunnel_encap *e,
u8 *protocol, __be16 *sport, int type) u8 *protocol, __be16 *sport, int type)
{ {
...@@ -894,24 +876,6 @@ int __fou_build_header(struct sk_buff *skb, struct ip_tunnel_encap *e, ...@@ -894,24 +876,6 @@ int __fou_build_header(struct sk_buff *skb, struct ip_tunnel_encap *e,
} }
EXPORT_SYMBOL(__fou_build_header); EXPORT_SYMBOL(__fou_build_header);
int fou_build_header(struct sk_buff *skb, struct ip_tunnel_encap *e,
u8 *protocol, struct flowi4 *fl4)
{
int type = e->flags & TUNNEL_ENCAP_FLAG_CSUM ? SKB_GSO_UDP_TUNNEL_CSUM :
SKB_GSO_UDP_TUNNEL;
__be16 sport;
int err;
err = __fou_build_header(skb, e, protocol, &sport, type);
if (err)
return err;
fou_build_udp(skb, e, fl4, protocol, sport);
return 0;
}
EXPORT_SYMBOL(fou_build_header);
int __gue_build_header(struct sk_buff *skb, struct ip_tunnel_encap *e, int __gue_build_header(struct sk_buff *skb, struct ip_tunnel_encap *e,
u8 *protocol, __be16 *sport, int type) u8 *protocol, __be16 *sport, int type)
{ {
...@@ -985,7 +949,45 @@ int __gue_build_header(struct sk_buff *skb, struct ip_tunnel_encap *e, ...@@ -985,7 +949,45 @@ int __gue_build_header(struct sk_buff *skb, struct ip_tunnel_encap *e,
} }
EXPORT_SYMBOL(__gue_build_header); EXPORT_SYMBOL(__gue_build_header);
int gue_build_header(struct sk_buff *skb, struct ip_tunnel_encap *e, #ifdef CONFIG_NET_FOU_IP_TUNNELS
static void fou_build_udp(struct sk_buff *skb, struct ip_tunnel_encap *e,
struct flowi4 *fl4, u8 *protocol, __be16 sport)
{
struct udphdr *uh;
skb_push(skb, sizeof(struct udphdr));
skb_reset_transport_header(skb);
uh = udp_hdr(skb);
uh->dest = e->dport;
uh->source = sport;
uh->len = htons(skb->len);
udp_set_csum(!(e->flags & TUNNEL_ENCAP_FLAG_CSUM), skb,
fl4->saddr, fl4->daddr, skb->len);
*protocol = IPPROTO_UDP;
}
static int fou_build_header(struct sk_buff *skb, struct ip_tunnel_encap *e,
u8 *protocol, struct flowi4 *fl4)
{
int type = e->flags & TUNNEL_ENCAP_FLAG_CSUM ? SKB_GSO_UDP_TUNNEL_CSUM :
SKB_GSO_UDP_TUNNEL;
__be16 sport;
int err;
err = __fou_build_header(skb, e, protocol, &sport, type);
if (err)
return err;
fou_build_udp(skb, e, fl4, protocol, sport);
return 0;
}
static int gue_build_header(struct sk_buff *skb, struct ip_tunnel_encap *e,
u8 *protocol, struct flowi4 *fl4) u8 *protocol, struct flowi4 *fl4)
{ {
int type = e->flags & TUNNEL_ENCAP_FLAG_CSUM ? SKB_GSO_UDP_TUNNEL_CSUM : int type = e->flags & TUNNEL_ENCAP_FLAG_CSUM ? SKB_GSO_UDP_TUNNEL_CSUM :
...@@ -1001,9 +1003,7 @@ int gue_build_header(struct sk_buff *skb, struct ip_tunnel_encap *e, ...@@ -1001,9 +1003,7 @@ int gue_build_header(struct sk_buff *skb, struct ip_tunnel_encap *e,
return 0; return 0;
} }
EXPORT_SYMBOL(gue_build_header);
#ifdef CONFIG_NET_FOU_IP_TUNNELS
static const struct ip_tunnel_encap_ops fou_iptun_ops = { static const struct ip_tunnel_encap_ops fou_iptun_ops = {
.encap_hlen = fou_encap_hlen, .encap_hlen = fou_encap_hlen,
......
...@@ -14,6 +14,8 @@ ...@@ -14,6 +14,8 @@
#include <net/udp.h> #include <net/udp.h>
#include <net/udp_tunnel.h> #include <net/udp_tunnel.h>
#if IS_ENABLED(CONFIG_IPV6_FOU_TUNNEL)
static void fou6_build_udp(struct sk_buff *skb, struct ip_tunnel_encap *e, static void fou6_build_udp(struct sk_buff *skb, struct ip_tunnel_encap *e,
struct flowi6 *fl6, u8 *protocol, __be16 sport) struct flowi6 *fl6, u8 *protocol, __be16 sport)
{ {
...@@ -33,7 +35,7 @@ static void fou6_build_udp(struct sk_buff *skb, struct ip_tunnel_encap *e, ...@@ -33,7 +35,7 @@ static void fou6_build_udp(struct sk_buff *skb, struct ip_tunnel_encap *e,
*protocol = IPPROTO_UDP; *protocol = IPPROTO_UDP;
} }
int fou6_build_header(struct sk_buff *skb, struct ip_tunnel_encap *e, static int fou6_build_header(struct sk_buff *skb, struct ip_tunnel_encap *e,
u8 *protocol, struct flowi6 *fl6) u8 *protocol, struct flowi6 *fl6)
{ {
__be16 sport; __be16 sport;
...@@ -49,9 +51,8 @@ int fou6_build_header(struct sk_buff *skb, struct ip_tunnel_encap *e, ...@@ -49,9 +51,8 @@ int fou6_build_header(struct sk_buff *skb, struct ip_tunnel_encap *e,
return 0; return 0;
} }
EXPORT_SYMBOL(fou6_build_header);
int gue6_build_header(struct sk_buff *skb, struct ip_tunnel_encap *e, static int gue6_build_header(struct sk_buff *skb, struct ip_tunnel_encap *e,
u8 *protocol, struct flowi6 *fl6) u8 *protocol, struct flowi6 *fl6)
{ {
__be16 sport; __be16 sport;
...@@ -67,9 +68,6 @@ int gue6_build_header(struct sk_buff *skb, struct ip_tunnel_encap *e, ...@@ -67,9 +68,6 @@ int gue6_build_header(struct sk_buff *skb, struct ip_tunnel_encap *e,
return 0; return 0;
} }
EXPORT_SYMBOL(gue6_build_header);
#if IS_ENABLED(CONFIG_IPV6_FOU_TUNNEL)
static const struct ip6_tnl_encap_ops fou_ip6tun_ops = { static const struct ip6_tnl_encap_ops fou_ip6tun_ops = {
.encap_hlen = fou_encap_hlen, .encap_hlen = fou_encap_hlen,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment