YangModels / yang

YANG modules from standards organizations such as the IETF, The IEEE, The Metro Ethernet Forum, open source such as Open Daylight or vendor specific modules
1.52k stars 1.2k forks source link

Cisco-IOS-XE-wireless-client-oper: eogre-client/vlan has incorrect constraint #950

Closed michael-burakov closed 2 years ago

michael-burakov commented 3 years ago

Hello,

I'm using ydk-go NETCONF provider to request some operational data from Cisco Catalyst 9800. For that I generated go code from Cisco-IOS-XE (1741) yang models with help of python script in ydk-gen project. Currently I have tested with Cisco-IOS-XE-wireless-rfid-oper.yang and Cisco-IOS-XE-wireless-access-point-oper.yang which works fine. However, when I'm trying to read operational data by requesting data from Cisco-IOS-XE-wireless-client-oper.yang, it fails because of a constraint on client-oper-data/dot11-oper-data/eogre-client/vlan:

panic: YModelError: Value "0" does not satisfy the constraint "1 .. 4094" (range, length, or pattern). Path: /Cisco-IOS-XE-wireless-client-oper:client-oper-data/dot11-oper-data[ms-mac-address='00:28:f8:e4:b2:c2']/eogre-client/vlan

I have checked the returned by controller data and it indeed is set to 0 (which brobably means disabled)

<eogre-client>
        <is-eogre>false</is-eogre>
        <previous-match-reason>match-pending-classify</previous-match-reason>
        <match-reason>match-pending-classify</match-reason>
        <is-aaa-data>false</is-aaa-data>
        <realm/>
        <vlan>0</vlan>
        <domain/>
        <plumbed-gw/>
        <tunnel-ifid>0</tunnel-ifid>
        <is-central-fwd>false</is-central-fwd>
</eogre-client>
michael-burakov commented 3 years ago

I have also tried to modify constraint in YANG model but getting the same result. I don't really know how and where validation is performed.

einarnn commented 2 years ago

@michael-burakov, all:

Ultimate validation is performed on the network device. However, locally modified constraints can voluntarily be honored, in which case you can prevent invalid config being sent to the device (which may have a defect!).

However, this repo isn't something monitored by vendors. When issues are encountered, please follow up with the model vendor!