Lines Matching refs:ndm

4461 	struct ndmsg *ndm;  in nlmsg_populate_fdb_fill()  local
4463 nlh = nlmsg_put(skb, pid, seq, type, sizeof(*ndm), nlflags); in nlmsg_populate_fdb_fill()
4467 ndm = nlmsg_data(nlh); in nlmsg_populate_fdb_fill()
4468 ndm->ndm_family = AF_BRIDGE; in nlmsg_populate_fdb_fill()
4469 ndm->ndm_pad1 = 0; in nlmsg_populate_fdb_fill()
4470 ndm->ndm_pad2 = 0; in nlmsg_populate_fdb_fill()
4471 ndm->ndm_flags = flags; in nlmsg_populate_fdb_fill()
4472 ndm->ndm_type = 0; in nlmsg_populate_fdb_fill()
4473 ndm->ndm_ifindex = dev->ifindex; in nlmsg_populate_fdb_fill()
4474 ndm->ndm_state = ndm_state; in nlmsg_populate_fdb_fill()
4525 int ndo_dflt_fdb_add(struct ndmsg *ndm, in ndo_dflt_fdb_add() argument
4536 if (ndm->ndm_state && !(ndm->ndm_state & NUD_PERMANENT)) { in ndo_dflt_fdb_add()
4590 struct ndmsg *ndm; in rtnl_fdb_add() local
4597 err = nlmsg_parse_deprecated(nlh, sizeof(*ndm), tb, NDA_MAX, NULL, in rtnl_fdb_add()
4602 ndm = nlmsg_data(nlh); in rtnl_fdb_add()
4603 if (ndm->ndm_ifindex == 0) { in rtnl_fdb_add()
4608 dev = __dev_get_by_index(net, ndm->ndm_ifindex); in rtnl_fdb_add()
4633 if ((!ndm->ndm_flags || ndm->ndm_flags & NTF_MASTER) && in rtnl_fdb_add()
4639 err = ops->ndo_fdb_add(ndm, tb, dev, addr, vid, in rtnl_fdb_add()
4644 ndm->ndm_flags &= ~NTF_MASTER; in rtnl_fdb_add()
4648 if ((ndm->ndm_flags & NTF_SELF)) { in rtnl_fdb_add()
4652 err = dev->netdev_ops->ndo_fdb_add(ndm, tb, dev, addr, in rtnl_fdb_add()
4657 err = ndo_dflt_fdb_add(ndm, tb, dev, addr, vid, in rtnl_fdb_add()
4662 ndm->ndm_state); in rtnl_fdb_add()
4663 ndm->ndm_flags &= ~NTF_SELF; in rtnl_fdb_add()
4673 int ndo_dflt_fdb_del(struct ndmsg *ndm, in ndo_dflt_fdb_del() argument
4683 if (!(ndm->ndm_state & NUD_PERMANENT)) { in ndo_dflt_fdb_del()
4703 struct ndmsg *ndm; in rtnl_fdb_del() local
4714 err = nlmsg_parse_deprecated(nlh, sizeof(*ndm), tb, NDA_MAX, in rtnl_fdb_del()
4720 err = nlmsg_parse(nlh, sizeof(*ndm), tb, NDA_MAX, NULL, extack); in rtnl_fdb_del()
4725 ndm = nlmsg_data(nlh); in rtnl_fdb_del()
4726 if (ndm->ndm_ifindex == 0) { in rtnl_fdb_del()
4731 dev = __dev_get_by_index(net, ndm->ndm_ifindex); in rtnl_fdb_del()
4757 if ((!ndm->ndm_flags || ndm->ndm_flags & NTF_MASTER) && in rtnl_fdb_del()
4765 err = ops->ndo_fdb_del(ndm, tb, dev, addr, vid, in rtnl_fdb_del()
4775 ndm->ndm_flags &= ~NTF_MASTER; in rtnl_fdb_del()
4779 if (ndm->ndm_flags & NTF_SELF) { in rtnl_fdb_del()
4785 err = ops->ndo_fdb_del(ndm, tb, dev, addr, vid, in rtnl_fdb_del()
4788 err = ndo_dflt_fdb_del(ndm, tb, dev, addr, vid); in rtnl_fdb_del()
4799 ndm->ndm_state); in rtnl_fdb_del()
4800 ndm->ndm_flags &= ~NTF_SELF; in rtnl_fdb_del()
4875 struct ndmsg *ndm; in valid_fdb_dump_strict() local
4878 ndm = nlmsg_payload(nlh, sizeof(*ndm)); in valid_fdb_dump_strict()
4879 if (!ndm) { in valid_fdb_dump_strict()
4884 if (ndm->ndm_pad1 || ndm->ndm_pad2 || ndm->ndm_state || in valid_fdb_dump_strict()
4885 ndm->ndm_flags || ndm->ndm_type) { in valid_fdb_dump_strict()
4895 *brport_idx = ndm->ndm_ifindex; in valid_fdb_dump_strict()
5043 struct ndmsg *ndm; in valid_fdb_get_strict() local
5046 ndm = nlmsg_payload(nlh, sizeof(*ndm)); in valid_fdb_get_strict()
5047 if (!ndm) { in valid_fdb_get_strict()
5052 if (ndm->ndm_pad1 || ndm->ndm_pad2 || ndm->ndm_state || in valid_fdb_get_strict()
5053 ndm->ndm_type) { in valid_fdb_get_strict()
5058 if (ndm->ndm_flags & ~(NTF_MASTER | NTF_SELF)) { in valid_fdb_get_strict()
5068 *ndm_flags = ndm->ndm_flags; in valid_fdb_get_strict()
5069 *brport_idx = ndm->ndm_ifindex; in valid_fdb_get_strict()