Lines Matching refs:ndm

2572 	struct ndmsg *ndm;  in nlmsg_populate_fdb_fill()  local
2574 nlh = nlmsg_put(skb, pid, seq, type, sizeof(*ndm), nlflags); in nlmsg_populate_fdb_fill()
2578 ndm = nlmsg_data(nlh); in nlmsg_populate_fdb_fill()
2579 ndm->ndm_family = AF_BRIDGE; in nlmsg_populate_fdb_fill()
2580 ndm->ndm_pad1 = 0; in nlmsg_populate_fdb_fill()
2581 ndm->ndm_pad2 = 0; in nlmsg_populate_fdb_fill()
2582 ndm->ndm_flags = flags; in nlmsg_populate_fdb_fill()
2583 ndm->ndm_type = 0; in nlmsg_populate_fdb_fill()
2584 ndm->ndm_ifindex = dev->ifindex; in nlmsg_populate_fdb_fill()
2585 ndm->ndm_state = NUD_PERMANENT; in nlmsg_populate_fdb_fill()
2632 int ndo_dflt_fdb_add(struct ndmsg *ndm, in ndo_dflt_fdb_add() argument
2643 if (ndm->ndm_state && !(ndm->ndm_state & NUD_PERMANENT)) { in ndo_dflt_fdb_add()
2691 struct ndmsg *ndm; in rtnl_fdb_add() local
2698 err = nlmsg_parse(nlh, sizeof(*ndm), tb, NDA_MAX, NULL); in rtnl_fdb_add()
2702 ndm = nlmsg_data(nlh); in rtnl_fdb_add()
2703 if (ndm->ndm_ifindex == 0) { in rtnl_fdb_add()
2708 dev = __dev_get_by_index(net, ndm->ndm_ifindex); in rtnl_fdb_add()
2728 if ((!ndm->ndm_flags || ndm->ndm_flags & NTF_MASTER) && in rtnl_fdb_add()
2733 err = ops->ndo_fdb_add(ndm, tb, dev, addr, vid, in rtnl_fdb_add()
2738 ndm->ndm_flags &= ~NTF_MASTER; in rtnl_fdb_add()
2742 if ((ndm->ndm_flags & NTF_SELF)) { in rtnl_fdb_add()
2744 err = dev->netdev_ops->ndo_fdb_add(ndm, tb, dev, addr, in rtnl_fdb_add()
2748 err = ndo_dflt_fdb_add(ndm, tb, dev, addr, vid, in rtnl_fdb_add()
2753 ndm->ndm_flags &= ~NTF_SELF; in rtnl_fdb_add()
2763 int ndo_dflt_fdb_del(struct ndmsg *ndm, in ndo_dflt_fdb_del() argument
2773 if (!(ndm->ndm_state & NUD_PERMANENT)) { in ndo_dflt_fdb_del()
2790 struct ndmsg *ndm; in rtnl_fdb_del() local
2800 err = nlmsg_parse(nlh, sizeof(*ndm), tb, NDA_MAX, NULL); in rtnl_fdb_del()
2804 ndm = nlmsg_data(nlh); in rtnl_fdb_del()
2805 if (ndm->ndm_ifindex == 0) { in rtnl_fdb_del()
2810 dev = __dev_get_by_index(net, ndm->ndm_ifindex); in rtnl_fdb_del()
2830 if ((!ndm->ndm_flags || ndm->ndm_flags & NTF_MASTER) && in rtnl_fdb_del()
2836 err = ops->ndo_fdb_del(ndm, tb, dev, addr, vid); in rtnl_fdb_del()
2841 ndm->ndm_flags &= ~NTF_MASTER; in rtnl_fdb_del()
2845 if (ndm->ndm_flags & NTF_SELF) { in rtnl_fdb_del()
2847 err = dev->netdev_ops->ndo_fdb_del(ndm, tb, dev, addr, in rtnl_fdb_del()
2850 err = ndo_dflt_fdb_del(ndm, tb, dev, addr, vid); in rtnl_fdb_del()
2854 ndm->ndm_flags &= ~NTF_SELF; in rtnl_fdb_del()