net/ipv4/fou_core.c
122
struct fou *fou = fou_from_sock(sk);
net/ipv4/fou_core.c
1225
struct fou *fou, *next;
net/ipv4/fou_core.c
1229
list_for_each_entry_safe(fou, next, &fn->fou_list, list)
net/ipv4/fou_core.c
1230
fou_release(fou);
net/ipv4/fou_core.c
129
if (!fou)
net/ipv4/fou_core.c
158
if (fou_recv_pull(skb, fou, sizeof(struct udphdr)))
net/ipv4/fou_core.c
182
if (fou->family == AF_INET)
net/ipv4/fou_core.c
203
!!(fou->flags &
net/ipv4/fou_core.c
248
struct fou *fou = fou_from_sock(sk);
net/ipv4/fou_core.c
252
if (!fou)
net/ipv4/fou_core.c
266
ops = fou_gro_ops(sk, fou->protocol);
net/ipv4/fou_core.c
279
struct fou *fou = fou_from_sock(sk);
net/ipv4/fou_core.c
283
if (!fou) {
net/ipv4/fou_core.c
288
ops = fou_gro_ops(sk, fou->protocol);
net/ipv4/fou_core.c
337
struct fou *fou = fou_from_sock(sk);
net/ipv4/fou_core.c
343
if (!fou)
net/ipv4/fou_core.c
402
!!(fou->flags &
net/ipv4/fou_core.c
509
static bool fou_cfg_cmp(struct fou *fou, struct fou_cfg *cfg)
net/ipv4/fou_core.c
51
static inline struct fou *fou_from_sock(struct sock *sk)
net/ipv4/fou_core.c
512
struct sock *sk = fou->sk;
net/ipv4/fou_core.c
514
if (fou->family != udp_cfg->family ||
net/ipv4/fou_core.c
515
fou->port != udp_cfg->local_udp_port ||
net/ipv4/fou_core.c
520
if (fou->family == AF_INET) {
net/ipv4/fou_core.c
539
static int fou_add_to_port_list(struct net *net, struct fou *fou,
net/ipv4/fou_core.c
543
struct fou *fout;
net/ipv4/fou_core.c
553
list_add(&fou->list, &fn->fou_list);
net/ipv4/fou_core.c
559
static void fou_release(struct fou *fou)
net/ipv4/fou_core.c
56
static int fou_recv_pull(struct sk_buff *skb, struct fou *fou, size_t len)
net/ipv4/fou_core.c
561
list_del(&fou->list);
net/ipv4/fou_core.c
562
udp_tunnel_sock_release(fou->sk);
net/ipv4/fou_core.c
563
kfree_rcu(fou, rcu);
net/ipv4/fou_core.c
570
struct fou *fou = NULL;
net/ipv4/fou_core.c
581
fou = kzalloc_obj(*fou);
net/ipv4/fou_core.c
582
if (!fou) {
net/ipv4/fou_core.c
589
fou->port = cfg->udp_config.local_udp_port;
net/ipv4/fou_core.c
590
fou->family = cfg->udp_config.family;
net/ipv4/fou_core.c
591
fou->flags = cfg->flags;
net/ipv4/fou_core.c
592
fou->type = cfg->type;
net/ipv4/fou_core.c
593
fou->sk = sk;
net/ipv4/fou_core.c
597
tunnel_cfg.sk_user_data = fou;
net/ipv4/fou_core.c
606
fou->protocol = cfg->protocol;
net/ipv4/fou_core.c
61
if (fou->family == AF_INET)
net/ipv4/fou_core.c
622
err = fou_add_to_port_list(net, fou, cfg);
net/ipv4/fou_core.c
634
kfree_rcu(fou, rcu);
net/ipv4/fou_core.c
643
struct fou *fou;
net/ipv4/fou_core.c
646
list_for_each_entry(fou, &fn->fou_list, list) {
net/ipv4/fou_core.c
647
if (fou_cfg_cmp(fou, cfg)) {
net/ipv4/fou_core.c
648
fou_release(fou);
net/ipv4/fou_core.c
75
struct fou *fou = fou_from_sock(sk);
net/ipv4/fou_core.c
77
if (!fou)
net/ipv4/fou_core.c
777
static int fou_fill_info(struct fou *fou, struct sk_buff *msg)
net/ipv4/fou_core.c
779
struct sock *sk = fou->sk;
net/ipv4/fou_core.c
782
nla_put_be16(msg, FOU_ATTR_PORT, fou->port) ||
net/ipv4/fou_core.c
784
nla_put_u8(msg, FOU_ATTR_IPPROTO, fou->protocol) ||
net/ipv4/fou_core.c
785
nla_put_u8(msg, FOU_ATTR_TYPE, fou->type) ||
net/ipv4/fou_core.c
789
if (fou->flags & FOU_F_REMCSUM_NOPARTIAL)
net/ipv4/fou_core.c
80
if (fou_recv_pull(skb, fou, sizeof(struct udphdr)))
net/ipv4/fou_core.c
813
static int fou_dump_info(struct fou *fou, u32 portid, u32 seq,
net/ipv4/fou_core.c
822
if (fou_fill_info(fou, skb) < 0)
net/ipv4/fou_core.c
83
return -fou->protocol;
net/ipv4/fou_core.c
839
struct fou *fout;
net/ipv4/fou_core.c
884
struct fou *fout;