ndmsg
struct ndmsg *ndm;
static int i40e_ndo_fdb_add(struct ndmsg *ndm, struct nlattr *tb[],
ice_fdb_add(struct ndmsg *ndm, struct nlattr __always_unused *tb[],
ice_fdb_del(struct ndmsg *ndm, __always_unused struct nlattr *tb[],
static int igb_ndo_fdb_add(struct ndmsg *ndm, struct nlattr *tb[],
static int ixgbe_ndo_fdb_add(struct ndmsg *ndm, struct nlattr *tb[],
static int ocelot_port_fdb_add(struct ndmsg *ndm, struct nlattr *tb[],
static int ocelot_port_fdb_del(struct ndmsg *ndm, struct nlattr *tb[],
struct ndmsg *ndm;
static int qlcnic_fdb_del(struct ndmsg *ndm, struct nlattr *tb[],
static int qlcnic_fdb_add(struct ndmsg *ndm, struct nlattr *tb[],
static int macvlan_fdb_add(struct ndmsg *ndm, struct nlattr *tb[],
static int macvlan_fdb_del(struct ndmsg *ndm, struct nlattr *tb[],
static int vxlan_fdb_add(struct ndmsg *ndm, struct nlattr *tb[],
static int vxlan_fdb_delete(struct ndmsg *ndm, struct nlattr *tb[],
struct ndmsg *ndm;
return NLMSG_ALIGN(sizeof(struct ndmsg))
struct ndmsg *ndm = nlmsg_data(nlh);
int (*ndo_fdb_add)(struct ndmsg *ndm,
int (*ndo_fdb_del)(struct ndmsg *ndm,
extern int ndo_dflt_fdb_add(struct ndmsg *ndm,
extern int ndo_dflt_fdb_del(struct ndmsg *ndm,
TP_PROTO(struct ndmsg *ndm, struct net_device *dev,
const u8 *addr, struct ndmsg *ndm, u16 flags, u16 vid,
static int __br_fdb_add(struct ndmsg *ndm, struct net_bridge *br,
int br_fdb_add(struct ndmsg *ndm, struct nlattr *tb[],
int br_fdb_delete(struct ndmsg *ndm, struct nlattr *tb[],
return NLMSG_ALIGN(sizeof(struct ndmsg))
struct ndmsg *ndm = nlmsg_data(nlh);
struct ndmsg *ndm;
int br_fdb_delete(struct ndmsg *ndm, struct nlattr *tb[],
int br_fdb_add(struct ndmsg *nlh, struct nlattr *tb[], struct net_device *dev,
struct ndmsg *ndm;
struct ndmsg *ndm;
struct ndmsg *ndm;
struct ndmsg *ndm;
struct ndmsg *ndm;
err = nlmsg_parse_deprecated_strict(nlh, sizeof(struct ndmsg),
err = nlmsg_parse_deprecated(nlh, sizeof(struct ndmsg), tb,
if (nlmsg_len(nlh) >= sizeof(struct ndmsg) &&
((struct ndmsg *)nlmsg_data(nlh))->ndm_flags == NTF_PROXY)
static struct ndmsg *neigh_valid_get_req(const struct nlmsghdr *nlh,
struct ndmsg *ndm;
err = nlmsg_parse_deprecated_strict(nlh, sizeof(struct ndmsg), tb,
return NLMSG_ALIGN(sizeof(struct ndmsg))
return NLMSG_ALIGN(sizeof(struct ndmsg))
struct ndmsg *ndm;
struct ndmsg *ndm;
return NLMSG_ALIGN(sizeof(struct ndmsg)) +
int ndo_dflt_fdb_add(struct ndmsg *ndm,
struct ndmsg *ndm;
int ndo_dflt_fdb_del(struct ndmsg *ndm,
struct ndmsg *ndm;
struct ndmsg *ndm;
err = nlmsg_parse_deprecated_strict(nlh, sizeof(struct ndmsg), tb,
if (nlmsg_len(nlh) != sizeof(struct ndmsg) &&
(nlmsg_len(nlh) != sizeof(struct ndmsg) +
struct ndmsg *ndm;
err = nlmsg_parse_deprecated_strict(nlh, sizeof(struct ndmsg), tb,
struct ndmsg *ndm;
struct nduseroptmsg *ndmsg;
ndmsg = nlmsg_data(nlh);
ndmsg->nduseropt_family = AF_INET6;
ndmsg->nduseropt_ifindex = ra->dev->ifindex;
ndmsg->nduseropt_icmp_type = icmp6h->icmp6_type;
ndmsg->nduseropt_icmp_code = icmp6h->icmp6_code;
ndmsg->nduseropt_opts_len = opt->nd_opt_len << 3;
ndmsg->nduseropt_pad1 = 0;
ndmsg->nduseropt_pad2 = 0;
ndmsg->nduseropt_pad3 = 0;
memcpy(ndmsg + 1, opt, opt->nd_opt_len << 3);
struct ndmsg *ndm;
struct ndmsg *ndm;
struct ndmsg *hdr;
struct ndmsg *ndmsg;
ndmsg = nlmsg_payload(cb->nlh, sizeof(*ndmsg));
if (!ndmsg)
req_ifindex = ndmsg->ndm_ifindex;
struct ndmsg *rt_msg;
rt_msg = (struct ndmsg *)NLMSG_DATA(nh);
struct ndmsg rt;
sizeof(struct nlmsghdr) + sizeof(struct ndmsg));
struct ndmsg ndm;
static inline void fill_neigh_req_header(struct ndmsg *ndm, int family,