Lines Matching refs:ndm
662 struct ndmsg *ndm; in fdb_fill_info() local
664 nlh = nlmsg_put(skb, portid, seq, type, sizeof(*ndm), flags); in fdb_fill_info()
668 ndm = nlmsg_data(nlh); in fdb_fill_info()
669 ndm->ndm_family = AF_BRIDGE; in fdb_fill_info()
670 ndm->ndm_pad1 = 0; in fdb_fill_info()
671 ndm->ndm_pad2 = 0; in fdb_fill_info()
672 ndm->ndm_flags = 0; in fdb_fill_info()
673 ndm->ndm_type = 0; in fdb_fill_info()
674 ndm->ndm_ifindex = dst ? dst->dev->ifindex : br->dev->ifindex; in fdb_fill_info()
675 ndm->ndm_state = fdb_to_nud(br, fdb); in fdb_fill_info()
678 ndm->ndm_flags |= NTF_OFFLOADED; in fdb_fill_info()
680 ndm->ndm_flags |= NTF_EXT_LEARNED; in fdb_fill_info()
682 ndm->ndm_flags |= NTF_STICKY; in fdb_fill_info()
922 const u8 *addr, struct ndmsg *ndm, u16 flags, u16 vid, in fdb_add_entry() argument
925 bool is_sticky = !!(ndm->ndm_flags & NTF_STICKY); in fdb_add_entry()
928 u16 state = ndm->ndm_state; in fdb_add_entry()
1012 static int __br_fdb_add(struct ndmsg *ndm, struct net_bridge *br, in __br_fdb_add() argument
1019 if (ndm->ndm_flags & NTF_USE) { in __br_fdb_add()
1033 } else if (ndm->ndm_flags & NTF_EXT_LEARNED) { in __br_fdb_add()
1034 if (!p && !(ndm->ndm_state & NUD_PERMANENT)) { in __br_fdb_add()
1042 err = fdb_add_entry(br, p, addr, ndm, nlh_flags, vid, nfea_tb); in __br_fdb_add()
1055 int br_fdb_add(struct ndmsg *ndm, struct nlattr *tb[], in br_fdb_add() argument
1067 trace_br_fdb_add(ndm, dev, addr, vid, nlh_flags); in br_fdb_add()
1069 if (!(ndm->ndm_state & (NUD_PERMANENT|NUD_NOARP|NUD_REACHABLE))) { in br_fdb_add()
1070 pr_info("bridge: RTM_NEWNEIGH with invalid state %#x\n", ndm->ndm_state); in br_fdb_add()
1111 err = __br_fdb_add(ndm, br, p, addr, nlh_flags, vid, nfea_tb, in br_fdb_add()
1114 err = __br_fdb_add(ndm, br, p, addr, nlh_flags, 0, nfea_tb, in br_fdb_add()
1126 err = __br_fdb_add(ndm, br, p, addr, nlh_flags, v->vid, in br_fdb_add()
1166 int br_fdb_delete(struct ndmsg *ndm, struct nlattr *tb[], in br_fdb_delete() argument