Uploaded image for project: 'yangtools'
  1. yangtools
  2. YANGTOOLS-68

Attempt to use ICMPv4 match in Flow Programming causes java exception, and flow is not programmed

    XMLWordPrintable

Details

    • Improvement
    • Status: Resolved
    • Resolution: Done
    • None
    • None
    • None
    • None
    • Operating System: Mac OS
      Platform: Macintosh

    Description

      Trying to program the following flow:

      <?xml version="1.0" encoding="UTF-8" standalone="no"?>
      <flow xmlns="urn:opendaylight:flow:inventory">
      <strict>false</strict>
      <instructions>
      <instruction>
      <order>0</order>
      <apply-actions>
      <action>
      <order>0</order>
      <dec-mpls-ttl/>
      </action>
      </apply-actions>
      </instruction>
      </instructions>
      <table_id>2</table_id>
      <id>134</id>
      <cookie_mask>255</cookie_mask>
      <match>
      <ethernet-match>
      <ethernet-type>
      <type>2048</type>
      </ethernet-type>
      <ethernet-destination>
      <address>ff:ff:29:01:19:61</address>
      </ethernet-destination>
      <ethernet-source>
      <address>00:00:00:11:23:ae</address>
      </ethernet-source>
      </ethernet-match>
      <ipv4-source>17.1.2.3/8</ipv4-source>
      <ipv4-destination>172.168.5.6/16</ipv4-destination>
      <ip-match>
      <ip-protocol>1</ip-protocol>
      <ip-dscp>3f</ip-dscp>
      <ip-ecn>3</ip-ecn>
      </ip-match>
      <icmpv4-match>
      <icmpv4-type>6</icmpv4-type>
      <icmpv4-code>3</icmpv4-code>
      </icmpv4-match>
      <in-port>0</in-port>
      </match>
      <hard-timeout>1200</hard-timeout>
      <flags>FlowModFlags [_cHECKOVERLAP=false, _rESETCOUNTS=false, _nOPKTCOUNTS=false, _nOBYTCOUNTS=false, _sENDFLOWREM=false]</flags>
      <cookie>11</cookie>
      <idle-timeout>3400</idle-timeout>
      <flow-name>FooXf11</flow-name>
      <priority>2</priority>
      <barrier>false</barrier>
      </flow>

      and getting the following exception:

      DEBUG:_main_:received content: <html><head><title>Apache Tomcat/7.0.32 - Error report</title><style><!--H1

      {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}

      H2

      {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;}

      H3

      {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;}

      BODY

      {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;}

      B

      {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;}

      P

      {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}

      A

      {color : black;}

      A.name

      {color : black;}

      HR

      {color : #525D76;}

      --></style> </head><body><h1>HTTP Status 500 - For input string: "3f"</h1><HR size="1" noshade="noshade"><p><b>type</b> Exception report</p><p><b>message</b> <u>For input string: "3f"</u></p><p><b>description</b> <u>The server encountered an internal error that prevented it from fulfilling this request.</u></p><p><b>exception</b> <pre>java.lang.NumberFormatException: For input string: "3f"
      java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
      java.lang.Integer.parseInt(Integer.java:492)
      java.lang.Short.parseShort(Short.java:117)
      java.lang.Short.parseShort(Short.java:143)
      org.opendaylight.yangtools.yang.data.impl.codec.TypeDefinitionAwareCodec$Uint8CodecStringImpl.deserialize(TypeDefinitionAwareCodec.java:174)
      org.opendaylight.yangtools.yang.data.impl.codec.TypeDefinitionAwareCodec$Uint8CodecStringImpl.deserialize(TypeDefinitionAwareCodec.java:160)
      org.opendaylight.controller.sal.restconf.impl.RestCodec$ObjectCodec.deserialize(RestCodec.java:52)
      org.opendaylight.controller.sal.restconf.impl.RestconfImpl.normalizeNode(RestconfImpl.java:403)
      org.opendaylight.controller.sal.restconf.impl.RestconfImpl.normalizeNode(RestconfImpl.java:353)
      org.opendaylight.controller.sal.restconf.impl.RestconfImpl.normalizeNode(RestconfImpl.java:353)
      org.opendaylight.controller.sal.restconf.impl.RestconfImpl.normalizeNode(RestconfImpl.java:353)
      org.opendaylight.controller.sal.restconf.impl.RestconfImpl.normalizeNode(RestconfImpl.java:265)
      org.opendaylight.controller.sal.restconf.impl.RestconfImpl.updateConfigurationData(RestconfImpl.java:159)
      sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      java.lang.reflect.Method.invoke(Method.java:606)
      com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
      com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
      com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
      com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
      com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
      com.sun.jersey.server.impl.uri.rules.ResourceObjectRule.accept(ResourceObjectRule.java:100)
      com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
      com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
      com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1511)
      com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1442)
      com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391)
      com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381)
      com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
      com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)
      com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
      org.apache.catalina.filters.CorsFilter.handleNonCORS(CorsFilter.java:440)
      org.apache.catalina.filters.CorsFilter.doFilter(CorsFilter.java:179)
      </pre></p><p><b>note</b> <u>The full stack trace of the root cause is available in the Apache Tomcat/7.0.32 logs.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/7.0.32</h3></body></html>
      F

      Note that all other matches except for icmpv4 work in other flows (validated with the regression test suite).

      getting configuration from the config space:
      GET http://192.168.4.1:8080/restconf/config/opendaylight-inventory:nodes/node/openflow:1/table/2/

      Returns:

      No data exists.

      Sending a log in a separate email.

      Attachments

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

        Activity

          People

            jgloncak Jozef Gloncak
            jmedved@cisco.com Jan Medved
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: