36 lines
905 B
C
36 lines
905 B
C
#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
|