def member_vni=(val)
      val = val.to_s
      Feature.vni_enable
      bd_vni = curr_bd_vni_hash
      if val.empty?
        bd_val = bd_vni.keys.join(',')
        vni_val = bd_vni.values.join(',')
        return '' if vni_val.empty?
        config_set('bridge_domain_vni', 'member_vni', bd: bd_val,
                   membstate: 'no', membvni: vni_val)
        config_set('bridge_domain_vni', 'vni', state: 'no', vni: vni_val)
      else
        unless bd_vni.empty?
          inp_vni_list = BridgeDomainVNI.string_to_array(val.to_s)
          inp_bd_vni_hash = Hash[@bd_ids_list.zip(inp_vni_list)]

          temp_hash = bd_vni.to_a.keep_if { |k, _v| inp_bd_vni_hash.key? k }
          rem_hash = (temp_hash.to_a - inp_bd_vni_hash.to_a).to_h

          rm_bd = rem_hash.keys.join(',')
          rm_vni = rem_hash.values.join(',')
          config_set('bridge_domain_vni', 'member_vni', bd: rm_bd,
                     membstate: 'no', membvni: rm_vni)
          config_set('bridge_domain_vni', 'vni', state: 'no', vni: rm_vni)
        end
        config_set('bridge_domain_vni', 'vni', state: '', vni: val)
        config_set('bridge_domain_vni', 'member_vni', bd: @bd_ids,
                   membstate: '', membvni: val)
      end
    end
def member_vni=(val)
      val = val.to_s
      Feature.vni_enable
      bd_vni = curr_bd_vni_hash
      if val.empty?
        bd_val = bd_vni.keys.join(',')
        vni_val = bd_vni.values.join(',')
        return '' if vni_val.empty?
        config_set('bridge_domain_vni', 'member_vni', bd: bd_val,
                   membstate: 'no', membvni: vni_val)
        config_set('bridge_domain_vni', 'vni', state: 'no', vni: vni_val)
      else
        unless bd_vni.empty?
          inp_vni_list = BridgeDomainVNI.string_to_array(val.to_s)
          inp_bd_vni_hash = Hash[@bd_ids_list.zip(inp_vni_list)]

          temp_hash = bd_vni.to_a.keep_if { |k, _v| inp_bd_vni_hash.key? k }
          rem_hash = (temp_hash.to_a - inp_bd_vni_hash.to_a).to_h

          rm_bd = rem_hash.keys.join(',')
          rm_vni = rem_hash.values.join(',')
          config_set('bridge_domain_vni', 'member_vni', bd: rm_bd,
                     membstate: 'no', membvni: rm_vni)
          config_set('bridge_domain_vni', 'vni', state: 'no', vni: rm_vni)
        end
        config_set('bridge_domain_vni', 'vni', state: '', vni: val)
        config_set('bridge_domain_vni', 'member_vni', bd: @bd_ids,
                   membstate: '', membvni: val)
      end
    end
This member_vni mapping will be executed only when the val is not empty
 else it will be treated as a 'no' cli and executed as required.
 If the mappings do not match in any fashion then cli normally returns a
 failure which will be handled.
 During set of member vni we first see if any bd is mapped to some other
 vni, if yes then remove that one and apply the new vni.
 Eg: bridge-domain 100-110
       member vni 5100-5110
 Now the manifest is changed to 5100-5105,6106-6110, so hence first
 5106-5110 mapping is removed and then 6106-6110 is applied.