Skip to content

Commit

Permalink
zebra: clear evpn dup-addr return error-msg when there is no vni
Browse files Browse the repository at this point in the history
clear evpn dup-addr cli returns error-msg for below conditions,

 - If evpn is not enabled &
 - If there is no VNI exists.

supported command:

```
clear evpn dup-addr vni <vni-id>
```

Ticket: #3495573

Testing:

bharat# clear evpn dup-addr vni all
Error type: validation
Error description: % EVPN not enabled

bharat# clear evpn dup-addr vni 20
Error type: validation
Error description: % VNI 20 does not exist

Signed-off-by: Sindhu Parvathi Gopinathan's <[email protected]>
Signed-off-by: Chirag Shah <[email protected]>
  • Loading branch information
Sindhu Parvathi Gopinathan authored and chiragshah6 committed Jun 20, 2024
1 parent 34a6e22 commit 56c16ee
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions zebra/zebra_nb_rpcs.c
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
#include "zebra/zebra_router.h"
#include "zebra/zebra_vrf.h"
#include "zebra/zebra_vxlan.h"
#include "zebra/zebra_vxlan_if.h"
#include "zebra/zebra_evpn.h"

/*
* XPath: /frr-zebra:clear-evpn-dup-addr
Expand All @@ -21,6 +23,11 @@ int clear_evpn_dup_addr_rpc(struct nb_cb_rpc_args *args)
struct zebra_vrf *zvrf;
int ret = NB_OK;

if (!is_evpn_enabled()) {
snprintf(args->errmsg, args->errmsg_len,
"%% EVPN not enabled\n");
return NB_ERR_VALIDATION;
}
zvrf = zebra_vrf_get_evpn();

if (yang_dnode_exists(args->input, "all-vnis")) {
Expand All @@ -30,6 +37,12 @@ int clear_evpn_dup_addr_rpc(struct nb_cb_rpc_args *args)
struct ipaddr host_ip = {.ipa_type = IPADDR_NONE};
struct ethaddr mac;

if (!zebra_evpn_lookup(vni)) {
snprintf(args->errmsg, args->errmsg_len,
"%% VNI %u does not exist\n", vni);
return NB_ERR_VALIDATION;
}

if (yang_dnode_exists(args->input, "mac-addr")) {
yang_dnode_get_mac(&mac, args->input, "mac-addr");
ret = zebra_vxlan_clear_dup_detect_vni_mac(zvrf, vni,
Expand Down

0 comments on commit 56c16ee

Please sign in to comment.