Lines Matching defs:ndm

4101 	struct ndmsg *ndm;
4103 nlh = nlmsg_put(skb, pid, seq, type, sizeof(*ndm), nlflags);
4107 ndm = nlmsg_data(nlh);
4108 ndm->ndm_family = AF_BRIDGE;
4109 ndm->ndm_pad1 = 0;
4110 ndm->ndm_pad2 = 0;
4111 ndm->ndm_flags = flags;
4112 ndm->ndm_type = 0;
4113 ndm->ndm_ifindex = dev->ifindex;
4114 ndm->ndm_state = ndm_state;
4165 int ndo_dflt_fdb_add(struct ndmsg *ndm,
4176 if (ndm->ndm_state && !(ndm->ndm_state & NUD_PERMANENT)) {
4230 struct ndmsg *ndm;
4237 err = nlmsg_parse_deprecated(nlh, sizeof(*ndm), tb, NDA_MAX, NULL,
4242 ndm = nlmsg_data(nlh);
4243 if (ndm->ndm_ifindex == 0) {
4248 dev = __dev_get_by_index(net, ndm->ndm_ifindex);
4273 if ((!ndm->ndm_flags || ndm->ndm_flags & NTF_MASTER) &&
4278 err = ops->ndo_fdb_add(ndm, tb, dev, addr, vid,
4283 ndm->ndm_flags &= ~NTF_MASTER;
4287 if ((ndm->ndm_flags & NTF_SELF)) {
4289 err = dev->netdev_ops->ndo_fdb_add(ndm, tb, dev, addr,
4294 err = ndo_dflt_fdb_add(ndm, tb, dev, addr, vid,
4299 ndm->ndm_state);
4300 ndm->ndm_flags &= ~NTF_SELF;
4310 int ndo_dflt_fdb_del(struct ndmsg *ndm,
4320 if (!(ndm->ndm_state & NUD_PERMANENT)) {
4347 struct ndmsg *ndm;
4358 err = nlmsg_parse_deprecated(nlh, sizeof(*ndm), tb, NDA_MAX,
4361 err = nlmsg_parse(nlh, sizeof(*ndm), tb, NDA_MAX,
4367 ndm = nlmsg_data(nlh);
4368 if (ndm->ndm_ifindex == 0) {
4373 dev = __dev_get_by_index(net, ndm->ndm_ifindex);
4399 if ((!ndm->ndm_flags || ndm->ndm_flags & NTF_MASTER) &&
4406 err = ops->ndo_fdb_del(ndm, tb, dev, addr, vid, extack);
4409 err = ops->ndo_fdb_del_bulk(ndm, tb, dev, vid,
4416 ndm->ndm_flags &= ~NTF_MASTER;
4420 if (ndm->ndm_flags & NTF_SELF) {
4424 err = ops->ndo_fdb_del(ndm, tb, dev, addr, vid, extack);
4426 err = ndo_dflt_fdb_del(ndm, tb, dev, addr, vid);
4431 err = ops->ndo_fdb_del_bulk(ndm, tb, dev, vid,
4438 ndm->ndm_state);
4439 ndm->ndm_flags &= ~NTF_SELF;
4513 struct ndmsg *ndm;
4516 if (nlh->nlmsg_len < nlmsg_msg_size(sizeof(*ndm))) {
4521 ndm = nlmsg_data(nlh);
4522 if (ndm->ndm_pad1 || ndm->ndm_pad2 || ndm->ndm_state ||
4523 ndm->ndm_flags || ndm->ndm_type) {
4533 *brport_idx = ndm->ndm_ifindex;
4702 struct ndmsg *ndm;
4705 if (nlh->nlmsg_len < nlmsg_msg_size(sizeof(*ndm))) {
4710 ndm = nlmsg_data(nlh);
4711 if (ndm->ndm_pad1 || ndm->ndm_pad2 || ndm->ndm_state ||
4712 ndm->ndm_type) {
4717 if (ndm->ndm_flags & ~(NTF_MASTER | NTF_SELF)) {
4727 *ndm_flags = ndm->ndm_flags;
4728 *brport_idx = ndm->ndm_ifindex;