Lines Matching defs:entry
151 static void __mdb_entry_to_br_ip(struct br_mdb_entry *entry, struct br_ip *ip,
155 ip->vid = entry->vid;
156 ip->proto = entry->addr.proto;
159 ip->dst.ip4 = entry->addr.u.ip4;
165 ip->dst.ip6 = entry->addr.u.ip6;
171 ether_addr_copy(ip->dst.mac_addr, entry->addr.u.mac_addr);
518 /* Port group entry */
709 const struct br_mdb_entry *entry,
720 if (!entry->vid) {
721 NL_SET_ERR_MSG_MOD(extack, "Cannot add an entry without a vlan when vlan snooping is enabled");
725 v = br_vlan_find(br_vlan_group(br), entry->vid);
827 NL_SET_ERR_MSG_MOD(extack, "Failed to add (S, G) MDB entry");
831 if (cfg->entry->state == MDB_PERMANENT)
839 sg_cfg.entry = cfg->entry;
862 NL_SET_ERR_MSG_MOD(extack, "Failed to add new source entry");
866 NL_SET_ERR_MSG_MOD(extack, "Source entry already exists");
871 cfg->entry->state == MDB_TEMPORARY)
876 /* Install a (S, G) forwarding entry for the source. */
1043 struct br_mdb_entry *entry = cfg->entry;
1051 brmctx = __br_mdb_choose_context(br, entry, extack);
1072 if (entry->state == MDB_PERMANENT)
1144 cfg->entry->addr.proto,
1177 cfg->entry->addr.proto, extack))
1180 __mdb_entry_to_br_ip(cfg->entry, &cfg->group, mdb_attrs);
1254 cfg->entry = nla_data(tb[MDBA_SET_ENTRY]);
1256 if (cfg->entry->ifindex != cfg->br->dev->ifindex) {
1259 pdev = __dev_get_by_index(net, cfg->entry->ifindex);
1277 if (cfg->entry->addr.proto == htons(ETH_P_IP) &&
1278 ipv4_is_zeronet(cfg->entry->addr.u.ip4)) {
1279 NL_SET_ERR_MSG_MOD(extack, "IPv4 entry group address 0.0.0.0 is not allowed");
1287 __mdb_entry_to_br_ip(cfg->entry, &cfg->group, NULL);
1313 if (cfg.entry->state) {
1323 if (br_group_is_l2(&cfg.group) && cfg.entry->state != MDB_PERMANENT) {
1329 if (cfg.p->state == BR_STATE_DISABLED && cfg.entry->state != MDB_PERMANENT) {
1330 NL_SET_ERR_MSG_MOD(extack, "Port is in disabled state and entry is not permanent");
1339 * install mdb entry on all vlans configured on the port.
1341 if (br_vlan_enabled(cfg.br->dev) && vg && cfg.entry->vid == 0) {
1343 cfg.entry->vid = v->vid;
1360 struct br_mdb_entry *entry = cfg->entry;
1374 if (entry->ifindex == mp->br->dev->ifindex && mp->host_joined) {
1386 if (!p->key.port || p->key.port->dev->ifindex != entry->ifindex)
1417 * delete mdb entry on all vlans configured on the port.
1419 if (br_vlan_enabled(cfg.br->dev) && vg && cfg.entry->vid == 0) {
1421 cfg.entry->vid = v->vid;
1450 struct br_mdb_entry *entry = nla_data(tb[MDBA_SET_ENTRY]);
1454 desc->port_ifindex = entry->ifindex;
1455 desc->vid = entry->vid;
1456 desc->state = entry->state;
1575 struct br_mdb_entry *entry = nla_data(tb[MDBA_GET_ENTRY]);
1580 __mdb_entry_to_br_ip(entry, group, NULL);
1592 entry->addr.proto, extack))
1595 __mdb_entry_to_br_ip(entry, group, mdbe_attrs);
1688 /* Hold the multicast lock to ensure that the MDB entry does not change
1696 NL_SET_ERR_MSG_MOD(extack, "MDB entry not found");