add rtnl_mirred_get* functions

Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: Thomas Graf <tgraf@suug.ch>
This commit is contained in:
Cong Wang 2013-12-05 15:48:28 -08:00 committed by Thomas Graf
parent 017c971142
commit ffbfe92d74
2 changed files with 31 additions and 0 deletions

View file

@ -22,8 +22,11 @@ extern "C" {
#endif
extern int rtnl_mirred_set_action(struct rtnl_act *, int);
extern int rtnl_mirred_get_action(struct rtnl_act *);
extern int rtnl_mirred_set_ifindex(struct rtnl_act *, uint32_t);
extern uint32_t rtnl_mirred_get_ifindex(struct rtnl_act *);
extern int rtnl_mirred_set_policy(struct rtnl_act *, int);
extern int rtnl_mirred_get_policy(struct rtnl_act *);
#ifdef __cplusplus
}

View file

@ -151,6 +151,15 @@ int rtnl_mirred_set_action(struct rtnl_act *act, int action)
return 0;
}
int rtnl_mirred_get_action(struct rtnl_act *act)
{
struct rtnl_mirred *u;
if (!(u = (struct rtnl_mirred *) rtnl_tc_data(TC_CAST(act))))
return -NLE_NOMEM;
return u->m_parm.eaction;
}
int rtnl_mirred_set_ifindex(struct rtnl_act *act, uint32_t ifindex)
{
struct rtnl_mirred *u;
@ -162,6 +171,15 @@ int rtnl_mirred_set_ifindex(struct rtnl_act *act, uint32_t ifindex)
return 0;
}
uint32_t rtnl_mirred_get_ifindex(struct rtnl_act *act)
{
struct rtnl_mirred *u;
if ((u = (struct rtnl_mirred *) rtnl_tc_data(TC_CAST(act))))
return u->m_parm.ifindex;
return 0;
}
int rtnl_mirred_set_policy(struct rtnl_act *act, int policy)
{
struct rtnl_mirred *u;
@ -184,6 +202,16 @@ int rtnl_mirred_set_policy(struct rtnl_act *act, int policy)
}
return 0;
}
int rtnl_mirred_get_policy(struct rtnl_act *act)
{
struct rtnl_mirred *u;
if (!(u = (struct rtnl_mirred *) rtnl_tc_data(TC_CAST(act))))
return -NLE_NOMEM;
return u->m_parm.action;
}
/** @} */
static struct rtnl_tc_ops mirred_ops = {