Lines Matching refs:ndm
637 struct ndmsg *ndm; in fdb_fill_info() local
639 nlh = nlmsg_put(skb, portid, seq, type, sizeof(*ndm), flags); in fdb_fill_info()
643 ndm = nlmsg_data(nlh); in fdb_fill_info()
644 ndm->ndm_family = AF_BRIDGE; in fdb_fill_info()
645 ndm->ndm_pad1 = 0; in fdb_fill_info()
646 ndm->ndm_pad2 = 0; in fdb_fill_info()
647 ndm->ndm_flags = fdb->added_by_external_learn ? NTF_EXT_LEARNED : 0; in fdb_fill_info()
648 ndm->ndm_type = 0; in fdb_fill_info()
649 ndm->ndm_ifindex = fdb->dst ? fdb->dst->dev->ifindex : br->dev->ifindex; in fdb_fill_info()
650 ndm->ndm_state = fdb_to_nud(br, fdb); in fdb_fill_info()
829 static int __br_fdb_add(struct ndmsg *ndm, struct net_bridge_port *p, in __br_fdb_add() argument
834 if (ndm->ndm_flags & NTF_USE) { in __br_fdb_add()
842 err = fdb_add_entry(p, addr, ndm->ndm_state, in __br_fdb_add()
851 int br_fdb_add(struct ndmsg *ndm, struct nlattr *tb[], in br_fdb_add() argument
861 if (!(ndm->ndm_state & (NUD_PERMANENT|NUD_NOARP|NUD_REACHABLE))) { in br_fdb_add()
862 pr_info("bridge: RTM_NEWNEIGH with invalid state %#x\n", ndm->ndm_state); in br_fdb_add()
895 err = __br_fdb_add(ndm, p, addr, nlh_flags, vid); in br_fdb_add()
900 err = __br_fdb_add(ndm, p, addr, nlh_flags, 0); in br_fdb_add()
914 err = __br_fdb_add(ndm, p, addr, nlh_flags, in br_fdb_add()
979 int br_fdb_delete(struct ndmsg *ndm, struct nlattr *tb[], in br_fdb_delete() argument