<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:32: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>[OPNFLWPLUG-262] OF plugin incorrectly converted a MD-SAL flow which contained SET_VLAN_ID action.</title>
                <link>https://jira.opendaylight.org/browse/OPNFLWPLUG-262</link>
                <project id="10155" key="OPNFLWPLUG">OpenFlowPlugin</project>
                    <description>&lt;p&gt;This issue was originally reported in &lt;a href=&quot;https://jira.opendaylight.org/browse/OPNFLWPLUG-222&quot; title=&quot;MD-SAL app cannot create a flow entry which adds a VLAN tag with the specified VLAN ID into untagged frame.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;OPNFLWPLUG-222&quot;&gt;&lt;del&gt;OPNFLWPLUG-222&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;It seems that the patch has a problem.&lt;br/&gt;
  &lt;a href=&quot;https://git.opendaylight.org/gerrit/10280&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/10280&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At FlowConvertor.java, you can see how the OpenFlow plugin handles SET_VLAN_ID action.&lt;/p&gt;

&lt;p&gt;    public static List&amp;lt;FlowModInputBuilder&amp;gt; toFlowModInputs(Flow srcFlow, short version, BigInteger datapathId) {&lt;br/&gt;
        List&amp;lt;FlowModInputBuilder&amp;gt; list = new ArrayList&amp;lt;&amp;gt;();&lt;/p&gt;

&lt;p&gt;        if (version &amp;gt;= OFConstants.OFP_VERSION_1_3 &amp;amp;&amp;amp; isSetVlanIdActionCasePresent(srcFlow)) &lt;/p&gt;
{
            list.addAll(handleSetVlanIdForOF13(srcFlow, version, datapathId));
        }
&lt;p&gt; else &lt;/p&gt;
{
            list.add(toFlowModInput(srcFlow, version, datapathId));
        }
&lt;p&gt;        return list;&lt;br/&gt;
    }&lt;/p&gt;


&lt;p&gt;However, handleSetVlanIdForOF13() method ignores original match condition and changes the match condition incorrectly.&lt;/p&gt;

&lt;p&gt;For example, when VTN Manager tries to install a flow entry which matches untagged frame, the OF plugin incorrectly deletes in_port match field, source/destination MAC Address match field, and change VLAN match field.&lt;/p&gt;


&lt;p&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;Flow entry which VTN Mamanager tries to install&amp;#93;&lt;/span&gt;&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Match&lt;br/&gt;
     + source MAC address&lt;br/&gt;
     + destination MAC address&lt;br/&gt;
     + in_port&lt;br/&gt;
     + untagged&lt;/li&gt;
	&lt;li&gt;Action&lt;br/&gt;
     + SET_VLAN_ID(100)&lt;br/&gt;
     + OUTPUT:2&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;Flow entry which the OF Plugin sets to a switch&amp;#93;&lt;/span&gt;&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Match&lt;br/&gt;
     + vlan_tci=0x1000/0x1000&lt;/li&gt;
	&lt;li&gt;Action&lt;br/&gt;
     + SET_FIELD(4196-&amp;gt;vlan_vid)&lt;br/&gt;
     + OUTPUT:2&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="27530">OPNFLWPLUG-262</key>
            <summary>OF plugin incorrectly converted a MD-SAL flow which contained SET_VLAN_ID action.</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="10000">Done</resolution>
                                        <assignee username="michal.rehak">Michal Rehak</assignee>
                                    <reporter username="Hideyuki1985">Hideyuki Tai</reporter>
                        <labels>
                    </labels>
                <created>Fri, 5 Sep 2014 18:28:57 +0000</created>
                <updated>Mon, 27 Sep 2021 09:01:18 +0000</updated>
                            <resolved>Thu, 11 Sep 2014 07:27:16 +0000</resolved>
                                                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                                                                <comments>
                            <comment id="56071" author="hideyuki.tai@necam.com" created="Fri, 5 Sep 2014 20:53:16 +0000"  >&lt;p&gt;I can reproduce this issue as follows.&lt;/p&gt;

&lt;p&gt; 1. Run a controller with the OF plugin.&lt;br/&gt;
      I&apos;m using the latest code in Integration Group to build and run the Base Edition.&lt;/p&gt;

&lt;p&gt; 2. Run an OpenFlow 1.3 switch.&lt;br/&gt;
      I&apos;m using Mininet to run the OF 1.3 switch.&lt;br/&gt;
        $ sudo mn --controller remote,192.168.2.56 --switch ovsk,protocols=OpenFlow13&lt;/p&gt;

&lt;p&gt; 3. Install a flow entry using RESTCONF.&lt;/p&gt;

&lt;p&gt;      Method: PUT&lt;/p&gt;

&lt;p&gt;      URI: http://&amp;lt;CONTROLLER IP ADDRESS&amp;gt;:8080/restconf/config/opendaylight-inventory:nodes/node/openflow:1/table/0/flow/2&lt;br/&gt;
      Body:&lt;/p&gt;

&lt;p&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&amp;gt;&lt;br/&gt;
&amp;lt;flow xmlns=&quot;urn:opendaylight:flow:inventory&quot;&amp;gt;&lt;br/&gt;
    &amp;lt;priority&amp;gt;2&amp;lt;/priority&amp;gt;&lt;br/&gt;
    &amp;lt;flow-name&amp;gt;Foo&amp;lt;/flow-name&amp;gt;&lt;br/&gt;
    &amp;lt;match&amp;gt;&lt;br/&gt;
      &amp;lt;in-port&amp;gt;10&amp;lt;/in-port&amp;gt;&lt;br/&gt;
      &amp;lt;ethernet-match&amp;gt;&lt;br/&gt;
            &amp;lt;ethernet-source&amp;gt;&lt;br/&gt;
              &amp;lt;address&amp;gt;3a:72:f1:02:1a:d0&amp;lt;/address&amp;gt;&lt;br/&gt;
            &amp;lt;/ethernet-source&amp;gt;&lt;br/&gt;
            &amp;lt;ethernet-destination&amp;gt;&lt;br/&gt;
              &amp;lt;address&amp;gt;16:58:21:81:bc:43&amp;lt;/address&amp;gt;&lt;br/&gt;
            &amp;lt;/ethernet-destination&amp;gt;&lt;br/&gt;
      &amp;lt;/ethernet-match&amp;gt;&lt;br/&gt;
      &amp;lt;vlan-match&amp;gt;&lt;br/&gt;
        &amp;lt;vlan-id&amp;gt;&lt;br/&gt;
          &amp;lt;vlan-id-present&amp;gt;false&amp;lt;/vlan-id-present&amp;gt;&lt;br/&gt;
        &amp;lt;/vlan-id&amp;gt;&lt;br/&gt;
      &amp;lt;/vlan-match&amp;gt;&lt;br/&gt;
    &amp;lt;/match&amp;gt;&lt;br/&gt;
    &amp;lt;id&amp;gt;2&amp;lt;/id&amp;gt;&lt;br/&gt;
    &amp;lt;table_id&amp;gt;0&amp;lt;/table_id&amp;gt;&lt;br/&gt;
    &amp;lt;instructions&amp;gt;&lt;br/&gt;
        &amp;lt;instruction&amp;gt;&lt;br/&gt;
            &amp;lt;order&amp;gt;0&amp;lt;/order&amp;gt;&lt;br/&gt;
            &amp;lt;apply-actions&amp;gt;&lt;br/&gt;
                &amp;lt;action&amp;gt;&lt;br/&gt;
                   &amp;lt;order&amp;gt;0&amp;lt;/order&amp;gt;&lt;br/&gt;
                     &amp;lt;set-vlan-id-action&amp;gt;&lt;br/&gt;
                       &amp;lt;vlan-id&amp;gt;55&amp;lt;/vlan-id&amp;gt;&lt;br/&gt;
                     &amp;lt;/set-vlan-id-action&amp;gt;&lt;br/&gt;
                &amp;lt;/action&amp;gt;        &lt;br/&gt;
            &amp;lt;/apply-actions&amp;gt;&lt;br/&gt;
        &amp;lt;/instruction&amp;gt;&lt;br/&gt;
    &amp;lt;/instructions&amp;gt;&lt;br/&gt;
&amp;lt;/flow&amp;gt;&lt;/p&gt;

&lt;p&gt; 4. Check a flow table of the switch.&lt;/p&gt;

&lt;p&gt;mininet&amp;gt; dpctl dump-flows -O OpenFlow13&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;
	&lt;ul&gt;
		&lt;li&gt;
		&lt;ul&gt;
			&lt;li&gt;s1 ------------------------------------------------------------------------&lt;br/&gt;
OFPST_FLOW reply (OF1.3) (xid=0x2):&lt;br/&gt;
 cookie=0xa, duration=303.904s, table=0, n_packets=21, n_bytes=1674, send_flow_rem priority=0 actions=CONTROLLER:65535&lt;br/&gt;
 cookie=0x0, duration=2.704s, table=0, n_packets=0, n_bytes=0, idle_timeout=300, hard_timeout=600, send_flow_rem priority=2,vlan_tci=0x1000/0x1000 actions=set_field:4151-&amp;gt;vlan_vid&lt;/li&gt;
		&lt;/ul&gt;
		&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;    &amp;lt;======== The 2nd flow entry was the flow entry which the controller installed by the above PUT request.&lt;br/&gt;
              However, the match condition and action were totally different from the body message of the PUT request.&lt;/p&gt;</comment>
                            <comment id="56072" author="mirehak@cisco.com" created="Thu, 11 Sep 2014 07:27:16 +0000"  >&lt;p&gt;fixed within bug1421&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                                                <inwardlinks description="is blocked by">
                                        <issuelink>
            <issuekey id="27490">OPNFLWPLUG-222</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </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>1720</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=1720]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10204" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>ODL SR Target Milestone</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10303"><![CDATA[Helium-RC1]]></customfieldvalue>

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

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