Uploaded image for project: 'VOLTHA'
  1. VOLTHA
  2. VOL-3915

OpenOLT adapter duplicates GemPortIDs in flows

    XMLWordPrintable

    Details

      Description

      BBSim now validates ID allocated by the ResourceManager: https://gerrit.opencord.org/c/bbsim/+/22885

      When using that feature at scale we get error messages as:

      default/bbsim1-9d6bb48f4-xwdsw[bbsim]: time="2021-03-15T18:14:50.516525829Z" level=error msg=invalid-flow-for-onu Flow="access_intf_id:15 onu_id:4 flow_id:1278639243091701447 flow_type:\"upstream\" alloc_id:1057 gemport_id:1032 classifier:<o_vid:1383 o_pbits:255 eth_type:2048 ip_proto:17 src_port:68 dst_port:67 pkt_tag_type:\"single_tag\" > action:<cmd:<trap_to_host:true > > priority:10000 cookie:57139422944324805 port_no:61504 tech_profile_id:64 19:\"\\r\\b\\x04\\x00\\x00\\x10\\x01\" " IntfId=15 OnuId=4 SerialNumber=BBSM000b0f04 err=gem-1032-already-in-use-on-uni-61520-onu-5 module=OLT
      

      That is given to the fact that such GemPort was already used by a different flow on a different ONU (BBSM000b0f05).

      The openolt-adapter log shows that the GemPortID is duplicated:

      // valid flow for Intf=5 OnuId=5
      default/voltha1-voltha-adapter-openolt-64bfb48bd5-lgj97[adapter-open-olt]: {"level":"info","ts":"2021-03-15T18:14:50.516Z","caller":"core/openolt_flowmgr.go:1575","msg":"flow-added-to-device-successfully ","instanceId":"voltha1-voltha-adapter-openolt-64bfb48bd5-lgj97","flow":{"access_intf_id":15,"onu_id":5,"flow_id":6560721397546547129,"flow_type":"upstream","alloc_id":1056,"gemport_id":1032,"classifier":{"o_vid":1384,"o_pbits":255,"eth_type":2048,"ip_proto":17,"src_port":68,"dst_port":67,"pkt_tag_type":"single_tag"},"action":{"cmd":{"trap_to_host":true}},"priority":10000,"cookie":57139423009699733,"port_no":61520,"tech_profile_id":64,"gemport_to_aes":{"1032":true}},"device-id":"d103e40b-aaec-4561-9396-930db945715c","intf-id":15}
      
      // invalid flow for Intf=5 OnuId=4
      default/voltha1-voltha-adapter-openolt-64bfb48bd5-lgj97[adapter-open-olt]: {"level":"error","ts":"2021-03-15T18:14:50.517Z","caller":"olterrors/olterrors.go:137","msg":"unable-to-perform-flow-operation","instanceId":"voltha1-voltha-adapter-openolt-64bfb48bd5-lgj97","operation":"add","dhcp-flow":{"access_intf_id":15,"onu_id":4,"flow_id":1278639243091701447,"flow_type":"upstream","alloc_id":1057,"gemport_id":1032,"classifier":{"o_vid":1383,"o_pbits":255,"eth_type":2048,"ip_proto":17,"src_port":68,"dst_port":67,"pkt_tag_type":"single_tag"},"action":{"cmd":{"trap_to_host":true}},"priority":10000,"cookie":57139422944324805,"port_no":61504,"tech_profile_id":64,"gemport_to_aes":{"1032":true}},"id":"0x11bea39df85aeec7","wrapped":"rpc error: code = Unknown desc = gem-1032-already-in-use-on-uni-61520-onu-5","stacktrace":"github.com/opencord/voltha-lib-go/v4/pkg/log.clogger.Errorw\n\t/go/src/github.com/opencord/voltha-openolt-adapter/vendor/github.com/opencord/voltha-lib-go/v4/pkg/log/log.go:611\ngithub.com/opencord/voltha-openolt-adapter/internal/pkg/olterrors.(*ErrAdapter).LogAt\n\t/go/src/github.com/opencord/voltha-openolt-adapter/internal/pkg/olterrors/olterrors.go:137\ngithub.com/opencord/voltha-openolt-adapter/internal/pkg/olterrors.(*ErrAdapter).Log\n\t/go/src/github.com/opencord/voltha-openolt-adapter/internal/pkg/olterrors/olterrors.go:117\ngithub.com/opencord/voltha-openolt-adapter/internal/pkg/olterrors.(*ErrPersistence).Log\n\t/go/src/github.com/opencord/voltha-openolt-adapter/internal/pkg/olterrors/olterrors.go:221\ngithub.com/opencord/voltha-openolt-adapter/internal/pkg/core.(*OpenOltFlowMgr).addDHCPTrapFlow\n\t/go/src/github.com/opencord/voltha-openolt-adapter/internal/pkg/core/openolt_flowmgr.go:1199\ngithub.com/opencord/voltha-openolt-adapter/internal/pkg/core.(*OpenOltFlowMgr).checkAndAddFlow\n\t/go/src/github.com/opencord/voltha-openolt-adapter/internal/pkg/core/openolt_flowmgr.go:2905\ngithub.com/opencord/voltha-openolt-adapter/internal/pkg/core.(*OpenOltFlowMgr).processAddFlow\n\t/go/src/github.com/opencord/voltha-openolt-adapter/internal/pkg/core/openolt_flowmgr.go:413\ngithub.com/opencord/voltha-openolt-adapter/internal/pkg/core.(*OpenOltFlowMgr).AddFlow\n\t/go/src/github.com/opencord/voltha-openolt-adapter/internal/pkg/core/openolt_flowmgr.go:2348\ngithub.com/opencord/voltha-openolt-adapter/internal/pkg/core.(*OpenOltFlowMgr).perOnuFlowHandlerRoutine\n\t/go/src/github.com/opencord/voltha-openolt-adapter/internal/pkg/core/openolt_flowmgr.go:2243"}
      

       
      Full logs attached and openolt adapter available here: https://drive.google.com/file/d/1l5sbo8JnSZD1vZT_INtXMijy6MxLhWm4/view?usp=sharing 

       

        Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

            Assignee:
            Unassigned
            Reporter:
            teone Matteo Scandolo
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes