Uploaded image for project: 'OpenFlowPlugin'
  1. OpenFlowPlugin
  2. OPNFLWPLUG-167

OF13 TunnelID Match Failures

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Resolution: Done
    • None
    • None
    • General
    • None
    • Operating System: Mac OS
      Platform: PC

    • 1035

    Description

      Flowmods in the Neutron plugin have been failing recently. TunnelID matches are failing in OpenflowpluginTestCommandProvider. I narrowed this one down to the mask causing issues.

      OSGI output from HEAD
      ---------------------
      // OpenflowpluginTestCommandProvider
      osgi> addMDFlow openflow:143948071978317 f77
      2014-05-20 01:54:54.139 EDT [Gogo shell] INFO o.o.o.t.OpenflowpluginTestCommandProvider - TunnelID Match Called
      2014-05-20 01:54:54.140 EDT [Gogo shell] INFO o.o.o.t.OpenflowpluginTestCommandProvider - TunnelID Match Called tunnel.getTunnelID ==> 10668
      gogo: IllegalArgumentException: Invalid range: -1099511627519, expected: [[0‥18446744073709551615]].

      When I comment out the mask the flowmod succeeds:
      ------------------------------------------------
      private static MatchBuilder createTunnelIDMatch() {
      MatchBuilder match = new MatchBuilder();
      TunnelBuilder tunnel = new TunnelBuilder(); // tunnel id match
      tunnel.setTunnelId(BigInteger.valueOf(10668));

      // Commented out
      // byte[] mask = new byte[]

      { (byte) -1, (byte) -1, (byte) -1, 0, 0, 0, (byte) 1, (byte) 1 }

      ;
      // tunnel.setTunnelMask(new BigInteger(mask));

      match.setTunnel(tunnel.build());
      return match;
      }

      OSGI output with a successful flowmod after commenting out the mask:
      --------------------------------------------------------------------
      2014-05-20 02:12:07.703 EDT [md-sal-binding-notification-46] INFO o.o.o.t.FlowEventListenerLoggingImpl - flow to be added..........................FlowAdded [_flowRef=FlowRef [_value=KeyedInstanceIdentifier

      {targetType=interface org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.Flow, path=[org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes, org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node[key=NodeKey [_id=Uri [_value=openflow:143948071978317]]], org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNode, org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.Table[key=TableKey [_id=2]], org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.Flow[key=FlowKey [_id=Uri [_value=200]]]]}

      ], _barrier=false, _cookieMask=FlowCookie [_value=10], _flags=FlowModFlags [_cHECKOVERLAP=false, _rESETCOUNTS=false, _nOPKTCOUNTS=false, _nOBYTCOUNTS=false, _sENDFLOWREM=true], _flowName=FooXf77, _installHw=false, _instructions=Instructions [_instruction=[Instruction [_order=0, _key=InstructionKey [_order=0], _instruction=ApplyActionsCase [_applyActions=ApplyActions [_action=[Action [_order=0, _key=ActionKey [_order=0], _action=SetFieldCase [_setField=SetField [_tunnel=Tunnel [_tunnelId=10668, augmentation=[]], augmentation=[]], augmentation=[]], augmentation=[]]], augmentation=[]], augmentation=[]], augmentation=[]]], augmentation=[]], _match=Match [_tunnel=Tunnel [_tunnelId=10668, augmentation=[]], augmentation=[]], _strict=false, _cookie=FlowCookie [_value=10], _hardTimeout=0, _idleTimeout=0, _priority=2, _tableId=2, _transactionId=TransactionId [_value=26], augmentation=[]]
      2014-05-20 02:12:07.703 EDT [md-sal-binding-notification-47] INFO o.o.o.t.FlowEventListenerLoggingImpl - flow to be added..........................FlowAdded [_flowRef=FlowRef [_value=KeyedInstanceIdentifier

      {targetType=interface org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.Flow, path=[org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes, org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node[key=NodeKey [_id=Uri [_value=openflow:143948071978317]]], org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNode, org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.Table[key=TableKey [_id=2]], org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.Flow[key=FlowKey [_id=Uri [_value=200]]]]}

      ], _barrier=false, _cookieMask=FlowCookie [_value=10], _flags=FlowModFlags [_cHECKOVERLAP=false, _rESETCOUNTS=false, _nOPKTCOUNTS=false, _nOBYTCOUNTS=false, _sENDFLOWREM=true], _flowName=FooXf77, _installHw=false, _instructions=Instructions [_instruction=[Instruction [_order=0, _key=InstructionKey [_order=0], _instruction=ApplyActionsCase [_applyActions=ApplyActions [_action=[Action [_order=0, _key=ActionKey [_order=0], _action=SetFieldCase [_setField=SetField [_tunnel=Tunnel [_tunnelId=10668, augmentation=[]], augmentation=[]], augmentation=[]], augmentation=[]]], augmentation=[]], augmentation=[]], augmentation=[]]], augmentation=[]], _match=Match [_tunnel=Tunnel [_tunnelId=10668, augmentation=[]], augmentation=[]], _strict=false, _cookie=FlowCookie [_value=10], _hardTimeout=0, _idleTimeout=0, _priority=2, _tableId=2, _transactionId=TransactionId [_value=26], augmentation=[]]
      2014-05-20 02:12:07.703 EDT [md-sal-binding-notification-48] INFO o.o.o.t.FlowEventListenerLoggingImpl - flow to be added..........................FlowAdded [_flowRef=FlowRef [_value=KeyedInstanceIdentifier

      {targetType=interface org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.Flow, path=[org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes, org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node[key=NodeKey [_id=Uri [_value=openflow:143948071978317]]], org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNode, org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.Table[key=TableKey [_id=2]], org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.Flow[key=FlowKey [_id=Uri [_value=200]]]]}

      ], _barrier=false, _cookieMask=FlowCookie [_value=10], _flags=FlowModFlags [_cHECKOVERLAP=false, _rESETCOUNTS=false, _nOPKTCOUNTS=false, _nOBYTCOUNTS=false, _sENDFLOWREM=true], _flowName=FooXf77, _installHw=false, _instructions=Instructions [_instruction=[Instruction [_order=0, _key=InstructionKey [_order=0], _instruction=ApplyActionsCase [_applyActions=ApplyActions [_action=[Action [_order=0, _key=ActionKey [_order=0], _action=SetFieldCase [_setField=SetField [_tunnel=Tunnel [_tunnelId=10668, augmentation=[]], augmentation=[]], augmentation=[]], augmentation=[]]], augmentation=[]], augmentation=[]], augmentation=[]]], augmentation=[]], _match=Match [_tunnel=Tunnel [_tunnelId=10668, augmentation=[]], augmentation=[]], _strict=false, _cookie=FlowCookie [_value=10], _hardTimeout=0, _idleTimeout=0, _priority=2, _tableId=2, _transactionId=TransactionId [_value=26], augmentation=[]]
      2014-05-20 02:12:07.703 EDT [md-sal-binding-notification-47] INFO o.o.o.t.FlowEventListenerLoggingImpl - added flow Xid.........................26
      2014-05-20 02:12:07.703 EDT [md-sal-binding-notification-46] INFO o.o.o.t.FlowEventListenerLoggingImpl - added flow Xid.........................26

      OVS flowmod instantiated w/o mask in the method
      -----------------------------------------------
      OFPST_FLOW reply (OF1.3) (xid=0x2):
      cookie=0xa, duration=124.355s, table=2, n_packets=0, n_bytes=0, send_flow_rem priority=2,tun_id=0x29ac actions=set_field:0x29ac->tun_id

      I can help debugging the root this week if it isn't obvious to you guys. I need to go through all of the flowmods as this was the first one I started with.

      Thanks!
      -Brent

      Attachments

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

        Activity

          People

            brent.salisbury@gmail.com Brent Salisbury
            brent.salisbury@gmail.com Brent Salisbury
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: