#ifndef NETLINK_NEXTHOP_ENCAP_H_ #define NETLINK_NEXTHOP_ENCAP_H_ struct nh_encap_ops { uint16_t encap_type; int (*build_msg)(struct nl_msg *msg, void *priv); int (*parse_msg)(struct nlattr *nla, struct rtnl_nexthop *rtnh); int (*compare)(void *a, void *b); void (*dump)(void *priv, struct nl_dump_params *dp); void (*destructor)(void *priv); }; struct rtnl_nh_encap; /* * generic nexthop encap */ void nh_set_encap(struct rtnl_nexthop *nh, struct rtnl_nh_encap *rtnh_encap); int nh_encap_parse_msg(struct nlattr *encap, struct nlattr *encap_type, struct rtnl_nexthop *rtnh); int nh_encap_build_msg(struct nl_msg *msg, struct rtnl_nh_encap *rtnh_encap); void nh_encap_dump(struct rtnl_nh_encap *rtnh_encap, struct nl_dump_params *dp); int nh_encap_compare(struct rtnl_nh_encap *a, struct rtnl_nh_encap *b); /* * MPLS encap */ extern struct nh_encap_ops mpls_encap_ops; #endif