diff options
| author | Donald Sharp <sharpd@nvidia.com> | 2025-02-26 15:43:22 -0500 | 
|---|---|---|
| committer | Donald Sharp <sharpd@nvidia.com> | 2025-02-26 16:01:04 -0500 | 
| commit | ad04988ad428867db06433ff9ed3234afd14ee5c (patch) | |
| tree | f74373ab4de93a0420ed6f4fb16f00c2e240d020 /lib | |
| parent | 598eaf37f87f6db2f8d1c2711d67469b324f1311 (diff) | |
lib: Correct handling of /frr-vrf:lib/vrf/state/active
This value in the yang tree was returning NULL for
when the state of the vrf was not active.  It should
return a false.
Before:
eva# show mgmt get-data /frr-vrf:lib/vrf[name="vrf1"]
{
  "frr-vrf:lib": {
    "vrf": [
      {
        "name": "vrf1",
        "state": {
          "id": 4294967295
        }
eva# show mgmt get-data /frr-vrf:lib/vrf[name="BLUE"]
{
  "frr-vrf:lib": {
    "vrf": [
      {
        "name": "BLUE",
        "state": {
          "id": 68,
          "active": true
        },
After:
eva# show mgmt get-data /frr-vrf:lib/vrf[name="vrf1"]
{
  "frr-vrf:lib": {
    "vrf": [
      {
        "name": "vrf1",
        "state": {
          "id": 4294967295,
          "active": false
        }
eva# show mgmt get-data /frr-vrf:lib/vrf[name="BLUE"]
{
  "frr-vrf:lib": {
    "vrf": [
      {
        "name": "BLUE",
        "state": {
          "id": 68,
          "active": true
        },
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/vrf.c | 9 | 
1 files changed, 3 insertions, 6 deletions
@@ -1044,7 +1044,7 @@ static const void *lib_vrf_lookup_next(struct nb_cb_lookup_entry_args *args)  }  /* - * XPath: /frr-vrf:lib/vrf/id + * XPath: /frr-vrf:lib/vrf/state/id   */  static struct yang_data *  lib_vrf_state_id_get_elem(struct nb_cb_get_elem_args *args) @@ -1055,17 +1055,14 @@ lib_vrf_state_id_get_elem(struct nb_cb_get_elem_args *args)  }  /* - * XPath: /frr-vrf:lib/vrf/active + * XPath: /frr-vrf:lib/vrf/state/active   */  static struct yang_data *  lib_vrf_state_active_get_elem(struct nb_cb_get_elem_args *args)  {  	struct vrf *vrfp = (struct vrf *)args->list_entry; -	if (vrfp->status == VRF_ACTIVE) -		return yang_data_new_bool(args->xpath, true); - -	return NULL; +	return yang_data_new_bool(args->xpath, vrfp->status == VRF_ACTIVE ? true : false);  }  /* clang-format off */  | 
