* goes in the rule to denote relative ordering; it may or may not be the
* same as the rule's user-defined sequence number.
*/
-void kernel_add_pbr_rule(struct zebra_pbr_rule *rule)
+enum dp_req_result kernel_add_pbr_rule(struct zebra_pbr_rule *rule)
{
int ret = 0;
kernel_pbr_rule_add_del_status(rule,
(!ret) ? DP_INSTALL_SUCCESS
: DP_INSTALL_FAILURE);
+
+ return DP_REQUEST_SUCCESS;
}
/*
* Uninstall specified rule for a specific interface.
*/
-void kernel_del_pbr_rule(struct zebra_pbr_rule *rule)
+enum dp_req_result kernel_del_pbr_rule(struct zebra_pbr_rule *rule)
{
int ret = 0;
kernel_pbr_rule_add_del_status(rule,
(!ret) ? DP_DELETE_SUCCESS
: DP_DELETE_FAILURE);
+
+ return DP_REQUEST_SUCCESS;
}
/*
#include "zebra/rule_netlink.h"
#include "zebra/zebra_pbr.h"
-void kernel_add_pbr_rule(struct zebra_pbr_rule *rule)
+enum dp_req_result kernel_add_pbr_rule(struct zebra_pbr_rule *rule)
{
+ zlog_err("%s not Implemented for this platform", __PRETTY_FUNCTION__);
+ return DP_REQUEST_FAILURE;
}
-void kernel_del_pbr_rule(struct zebra_pbr_rule *rule)
+
+enum dp_req_result kernel_del_pbr_rule(struct zebra_pbr_rule *rule)
{
+ zlog_err("%s not Implemented for this platform", __PRETTY_FUNCTION__);
+ return DP_REQUEST_FAILURE;
}
#endif
rule = (struct zebra_pbr_rule *)arg;
- kernel_del_pbr_rule(rule);
+ (void)kernel_del_pbr_rule(rule);
XFREE(MTYPE_TMP, rule);
}
pbr_rule_lookup_unique(zns, rule->rule.unique, rule->ifp);
(void)hash_get(zns->rules_hash, rule, pbr_rule_alloc_intern);
- kernel_add_pbr_rule(rule);
+ (void)kernel_add_pbr_rule(rule);
/*
* Rule Replace semantics, if we have an old, install the
* new rule, look above, and then delete the old
struct zebra_pbr_rule *lookup;
lookup = hash_lookup(zns->rules_hash, rule);
- kernel_del_pbr_rule(rule);
+ (void)kernel_del_pbr_rule(rule);
if (lookup) {
hash_release(zns->rules_hash, lookup);
int *sock = data;
if (rule->sock == *sock) {
- kernel_del_pbr_rule(rule);
+ (void)kernel_del_pbr_rule(rule);
hash_release(zns->rules_hash, rule);
XFREE(MTYPE_TMP, rule);
}
* forwarding plane may not coincide, hence the API requires a separate
* rule priority - maps to preference/FRA_PRIORITY on Linux.
*/
-extern void kernel_add_pbr_rule(struct zebra_pbr_rule *rule);
+extern enum dp_req_result kernel_add_pbr_rule(struct zebra_pbr_rule *rule);
/*
* Uninstall specified rule for a specific interface.
*/
-extern void kernel_del_pbr_rule(struct zebra_pbr_rule *rule);
+extern enum dp_req_result kernel_del_pbr_rule(struct zebra_pbr_rule *rule);
/*
* Get to know existing PBR rules in the kernel - typically called at startup.