<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 19:52:00 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>OpenDaylight JIRA</title>
    <link>https://jira.opendaylight.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>8.20.10</version>
        <build-number>820010</build-number>
        <build-date>22-06-2022</build-date>
    </build-info>


<item>
            <title>[CONTROLLER-28] Incorrect data types for certain Flow attributes</title>
                <link>https://jira.opendaylight.org/browse/CONTROLLER-28</link>
                <project id="10113" key="CONTROLLER">controller</project>
                    <description>&lt;p&gt;The following data types used in the ODL code base for the Flow class seem incorrect looking at what is required by the OF1.0.0 standard. Any boundary tests will fail using these data types. &lt;/p&gt;

&lt;p&gt;Field	ODL Data Type	ODL Range	OF 1.0.0 Data Type	OF 1.0.0 Range&lt;br/&gt;
idle_timeout	short	-32767 to +32767	uint16_t	0 to +65535&lt;br/&gt;
hard_timeout	short	-32767 to +32767	uint16_t	0 to +65535&lt;br/&gt;
priority	short	-32767 to +32767	uint16_t	0 to +65535&lt;/p&gt;

&lt;p&gt;I see the same data types used in the SAL as well as the plugin layer for these fields. The fix for this needs to be done to both these data structures. A probable solution could be to move to the java int, in spite of its known costs.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="24582">CONTROLLER-28</key>
            <summary>Incorrect data types for certain Flow attributes</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                                <status id="5" iconUrl="https://jira.opendaylight.org/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10001">Won&apos;t Do</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="tnevrekar">Tejas Nevrekar</reporter>
                        <labels>
                    </labels>
                <created>Tue, 20 Aug 2013 08:25:19 +0000</created>
                <updated>Wed, 17 Jun 2020 17:15:20 +0000</updated>
                            <resolved>Thu, 19 May 2016 18:27:46 +0000</resolved>
                                    <version>0.4.0</version>
                                                    <component>adsal</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="47330" author="tnevrekar" created="Tue, 20 Aug 2013 08:25:19 +0000"  >&lt;p&gt;Attachment OF1.0.0_Sec5.3.3_FlowFields.png has been added with description: OF1.0.0 Sec 5.3.3 for Flow fields&lt;/p&gt;</comment>
                            <comment id="47324" author="r20.srivastava@gmail.com" created="Tue, 14 Jan 2014 06:56:57 +0000"  >
&lt;p&gt;Can you tell me the steps to reproduce errors in reference to boundary tests.&lt;/p&gt;

&lt;p&gt;As unsigned primitive data types are not supported in java,as solution we can use &apos;int&apos; in place of &apos;short&apos;.But the change will have impact on other modules. Moreover , i found that there are other variables such as &apos;table_id&apos;in FlowOnNode.java in package org.opendaylight.controller.sal.reader;&lt;/p&gt;

&lt;p&gt;Field	  ODL Data Type	    ODL Range	  OF 1.0.0 Data Type	OF 1.0.0 Range&lt;br/&gt;
table_id	byte	  -127 to 127	     uint8_t	           0 to +255&lt;/p&gt;


&lt;p&gt;Will this also fail the boundary tests? What are the expected changes according  to you?&lt;/p&gt;</comment>
                            <comment id="47325" author="tony.tkacik@gmail.com" created="Thu, 6 Mar 2014 10:42:24 +0000"  >&lt;p&gt;Google Guava provides unsigned types implementation, also other approach is to use larger types /eg. java.int for uint16, long for uint32 and do the range checks.&lt;/p&gt;</comment>
                            <comment id="47326" author="tony.tkacik@gmail.com" created="Thu, 6 Mar 2014 15:24:44 +0000"  >&lt;p&gt;Accidentally closed, reopening.&lt;/p&gt;</comment>
                            <comment id="47327" author="tnevrekar" created="Thu, 6 Mar 2014 15:47:51 +0000"  >&lt;p&gt;The Openflow library provides for such conversion classes. The OFFlowMod may be updated as follows:&lt;/p&gt;

&lt;p&gt;1. Change all short to int for command, idleTimeout, hardTimeout, priority, bufferId, outPort, flags&lt;br/&gt;
2. Update the readFrom writeTo methods&lt;br/&gt;
    @Override&lt;br/&gt;
    public void readFrom(ChannelBuffer data) &lt;/p&gt;
{
        super.readFrom(data);
        if (this.match == null)
            this.match = new OFMatch();
        this.match.readFrom(data);
        this.cookie = data.readLong();
        this.command = U16.f(data.readShort());
        this.idleTimeout = U16.f(data.readShort());
        this.hardTimeout = U16.f(data.readShort());
        this.priority = U16.f(data.readShort());
        this.bufferId = data.readInt();
        this.outPort = U16.f(data.readShort());
        this.flags = U16.f(data.readShort());
        if (this.actionFactory == null)
            throw new RuntimeException(&quot;OFActionFactory not set&quot;);
        this.actions = this.actionFactory.parseActions(data, getLengthU() -
                MINIMUM_LENGTH);
    }
&lt;p&gt;    @Override&lt;br/&gt;
    public void writeTo(ChannelBuffer data) {&lt;br/&gt;
        super.writeTo(data);&lt;br/&gt;
        this.match.writeTo(data);&lt;br/&gt;
        data.writeLong(cookie);&lt;br/&gt;
        data.writeShort(U16.t(command));&lt;br/&gt;
        data.writeShort(U16.t(idleTimeout));&lt;br/&gt;
        data.writeShort(U16.t(hardTimeout));&lt;br/&gt;
        data.writeShort(U16.t(priority));&lt;br/&gt;
        data.writeInt(bufferId);&lt;br/&gt;
        data.writeShort(U16.t(outPort));&lt;br/&gt;
        data.writeShort(U16.t(flags));&lt;br/&gt;
        if (actions != null) {&lt;br/&gt;
            for (OFAction action : actions) &lt;/p&gt;
{
                action.writeTo(data);
            }
&lt;p&gt;        }&lt;br/&gt;
    }&lt;/p&gt;

&lt;p&gt;3. Update the data types for Flow to be int for these variables.&lt;/p&gt;</comment>
                            <comment id="47328" author="carolsand@gmail.com" created="Mon, 4 May 2015 20:14:27 +0000"  >&lt;p&gt;This bug is part of the project to Move all ADSAL associated component bugs to ADSAL&lt;/p&gt;</comment>
                            <comment id="47329" author="rovarga" created="Thu, 19 May 2016 18:27:46 +0000"  >&lt;p&gt;AD-SAL has been removed, this issue will not be fixed.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="13333" name="OF1.0.0_Sec5.3.3_FlowFields.png" size="44929" author="tejas.nevrekar@gmail.com" created="Tue, 20 Aug 2013 08:25:19 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                            <customfield id="customfield_11400" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10208" key="com.atlassian.jira.plugin.system.customfieldtypes:textfield">
                        <customfieldname>External issue ID</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>57</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10201" key="com.atlassian.jira.plugin.system.customfieldtypes:url">
                        <customfieldname>External issue URL</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[https://bugs.opendaylight.org/show_bug.cgi?id=57]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i02hvb:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>