Lines Matching refs:group

65 	struct vxlan_mdb_entry_key group;
377 struct vxlan_mdb_entry_key *group = &cfg->group;
381 group->dst.sa.sa_family = AF_INET;
382 group->dst.sin.sin_addr.s_addr = entry->addr.u.ip4;
386 group->dst.sa.sa_family = AF_INET6;
387 group->dst.sin6.sin6_addr = entry->addr.u.ip6;
393 vxlan_nla_get_addr(&group->src, source_attr);
396 static bool vxlan_mdb_is_star_g(const struct vxlan_mdb_entry_key *group)
398 return !vxlan_addr_any(&group->dst) && vxlan_addr_any(&group->src);
401 static bool vxlan_mdb_is_sg(const struct vxlan_mdb_entry_key *group)
403 return !vxlan_addr_any(&group->dst) && !vxlan_addr_any(&group->src);
508 /* rtnetlink code only validates that IPv4 group address is
511 if (!vxlan_addr_is_multicast(&cfg->group.dst) &&
512 !vxlan_addr_any(&cfg->group.dst)) {
517 if (vxlan_addr_any(&cfg->group.dst) &&
523 if (vxlan_mdb_is_sg(&cfg->group))
527 if (!vxlan_mdb_is_star_g(&cfg->group)) {
535 if (!vxlan_mdb_is_star_g(&cfg->group)) {
550 if (vxlan_mdb_is_star_g(&cfg->group) && list_empty(&cfg->src_list) &&
584 cfg->group.vni =
604 cfg->group.vni = vxlan->default_dst.remote_vni;
658 const struct vxlan_mdb_entry_key *group)
660 return rhashtable_lookup_fast(&vxlan->mdb_tbl, group,
790 sg_cfg.group.src = *addr;
791 sg_cfg.group.dst = cfg->group.dst;
792 sg_cfg.group.vni = cfg->group.vni;
809 const struct vxlan_mdb_entry_key *group,
818 sg_cfg.group.src = *addr;
819 sg_cfg.group.dst = group->dst;
820 sg_cfg.group.vni = group->vni;
863 const struct vxlan_mdb_entry_key *group,
867 vxlan_mdb_remote_src_fwd_del(vxlan, group, remote, &ent->addr);
890 vxlan_mdb_remote_src_del(cfg->vxlan, &cfg->group, remote, ent);
895 const struct vxlan_mdb_entry_key *group,
902 vxlan_mdb_remote_src_del(vxlan, group, remote, ent);
906 vxlan_mdb_nlmsg_src_list_size(const struct vxlan_mdb_entry_key *group,
922 nla_total_size(vxlan_addr_size(&group->dst)) +
934 const struct vxlan_mdb_entry_key *group = &mdb_entry->key;
948 if (vxlan_mdb_is_sg(group))
949 nlmsg_size += nla_total_size(vxlan_addr_size(&group->dst));
953 nlmsg_size += vxlan_mdb_nlmsg_src_list_size(group, remote);
968 if ((vxlan->cfg.flags & VXLAN_F_COLLECT_METADATA) && group->vni)
1165 const struct vxlan_mdb_entry_key *group)
1170 mdb_entry = vxlan_mdb_entry_lookup(vxlan, group);
1179 memcpy(&mdb_entry->key, group, sizeof(mdb_entry->key));
1221 mdb_entry = vxlan_mdb_entry_get(vxlan, &cfg->group);
1245 mdb_entry = vxlan_mdb_entry_lookup(vxlan, &cfg->group);
1306 struct vxlan_mdb_entry_key group;
1318 memset(&group, 0, sizeof(group));
1319 group.vni = src_vni;
1325 group.dst.sa.sa_family = AF_INET;
1326 group.dst.sin.sin_addr.s_addr = ip_hdr(skb)->daddr;
1327 group.src.sa.sa_family = AF_INET;
1328 group.src.sin.sin_addr.s_addr = ip_hdr(skb)->saddr;
1334 group.dst.sa.sa_family = AF_INET6;
1335 group.dst.sin6.sin6_addr = ipv6_hdr(skb)->daddr;
1336 group.src.sa.sa_family = AF_INET6;
1337 group.src.sin6.sin6_addr = ipv6_hdr(skb)->saddr;
1344 mdb_entry = vxlan_mdb_entry_lookup(vxlan, &group);
1348 memset(&group.src, 0, sizeof(group.src));
1349 mdb_entry = vxlan_mdb_entry_lookup(vxlan, &group);
1360 if (ipv4_is_local_multicast(group.dst.sin.sin_addr.s_addr))
1362 group.dst.sin.sin_addr.s_addr = 0;
1366 if (ipv6_addr_type(&group.dst.sin6.sin6_addr) &
1369 memset(&group.dst.sin6.sin6_addr, 0,
1370 sizeof(group.dst.sin6.sin6_addr));
1377 return vxlan_mdb_entry_lookup(vxlan, &group);