<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:31:57 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-245] Set VLAN PCP does not work</title>
                <link>https://jira.opendaylight.org/browse/OPNFLWPLUG-245</link>
                <project id="10155" key="OPNFLWPLUG">OpenFlowPlugin</project>
                    <description>&lt;p&gt;After pushing following flow to set VLAN-id + VLAN-PCP:&lt;/p&gt;

&lt;p&gt;{&lt;br/&gt;
    &quot;flow-node-inventory:table&quot;: [&lt;br/&gt;
        {&lt;br/&gt;
            &quot;flow-node-inventory:flow&quot;: [&lt;br/&gt;
                {&lt;br/&gt;
                    &quot;flow-node-inventory:flow-name&quot;: &quot;foo&quot;,&lt;br/&gt;
                    &quot;flow-node-inventory:match&quot;: {&lt;br/&gt;
                        &quot;flow-node-inventory:vlan-match&quot;: {&lt;br/&gt;
                            &quot;flow-node-inventory:vlan-id&quot;: &lt;/p&gt;
{
                                &quot;flow-node-inventory:vlan-id&quot;: 78,
                                &quot;flow-node-inventory:vlan-id-present&quot;: true
                            }
&lt;p&gt;,&lt;br/&gt;
                            &quot;flow-node-inventory:vlan-pcp&quot;: 3&lt;br/&gt;
                        },&lt;br/&gt;
                        &quot;flow-node-inventory:ethernet-match&quot;: {&lt;br/&gt;
                            &quot;flow-node-inventory:ethernet-destination&quot;: &lt;/p&gt;
{
                                &quot;flow-node-inventory:address&quot;: &quot;ff:ff:29:01:19:61&quot;
                            }
&lt;p&gt;,&lt;br/&gt;
                            &quot;flow-node-inventory:ethernet-source&quot;: &lt;/p&gt;
{
                                &quot;flow-node-inventory:address&quot;: &quot;00:00:00:11:23:ae&quot;
                            }
&lt;p&gt;,&lt;br/&gt;
                            &quot;flow-node-inventory:ethernet-type&quot;: &lt;/p&gt;
{
                                &quot;flow-node-inventory:type&quot;: 2048
                            }
&lt;p&gt;                        }&lt;br/&gt;
                    },&lt;br/&gt;
                    &quot;flow-node-inventory:priority&quot;: 2,&lt;br/&gt;
                    &quot;flow-node-inventory:instructions&quot;: {&lt;br/&gt;
                        &quot;flow-node-inventory:instruction&quot;: [&lt;br/&gt;
                            {&lt;br/&gt;
                                &quot;flow-node-inventory:apply-actions&quot;: {&lt;br/&gt;
                                    &quot;flow-node-inventory:action&quot;: [&lt;br/&gt;
                                        {&lt;br/&gt;
                                            &quot;flow-node-inventory:order&quot;: 2,&lt;br/&gt;
                                            &quot;flow-node-inventory:output-action&quot;: &lt;/p&gt;
{
                                                &quot;flow-node-inventory:output-node-connector&quot;: &quot;openflow:1:1&quot;
                                            }
&lt;p&gt;                                        },&lt;br/&gt;
                                        {&lt;br/&gt;
                                            &quot;flow-node-inventory:order&quot;: 1,&lt;br/&gt;
                                            &quot;flow-node-inventory:set-field&quot;: {&lt;br/&gt;
                                                &quot;flow-node-inventory:vlan-match&quot;: {&lt;br/&gt;
                                                    &quot;flow-node-inventory:vlan-id&quot;: &lt;/p&gt;
{
                                                        &quot;flow-node-inventory:vlan-id&quot;: 79,
                                                        &quot;flow-node-inventory:vlan-id-present&quot;: true
                                                    }
&lt;p&gt;,&lt;br/&gt;
                                                    &quot;flow-node-inventory:vlan-pcp&quot;: 4&lt;br/&gt;
                                                }&lt;br/&gt;
                                            }&lt;br/&gt;
                                        }&lt;br/&gt;
                                    ]&lt;br/&gt;
                                },&lt;br/&gt;
                                &quot;flow-node-inventory:order&quot;: 0&lt;br/&gt;
                            }&lt;br/&gt;
                        ]&lt;br/&gt;
                    },&lt;br/&gt;
                    &quot;flow-node-inventory:strict&quot;: false,&lt;br/&gt;
                    &quot;flow-node-inventory:table_id&quot;: 0,&lt;br/&gt;
                    &quot;flow-node-inventory:id&quot;: &quot;138&quot;&lt;br/&gt;
                }&lt;br/&gt;
            ],&lt;br/&gt;
            &quot;flow-node-inventory:id&quot;: 0&lt;br/&gt;
        }&lt;br/&gt;
    ]&lt;br/&gt;
}&lt;/p&gt;


&lt;p&gt;I check Operational data for it:&lt;/p&gt;

&lt;p&gt;{&lt;br/&gt;
    &quot;flow-node-inventory:table&quot;: [&lt;br/&gt;
        {&lt;br/&gt;
            &quot;opendaylight-flow-table-statistics:flow-table-statistics&quot;: &lt;/p&gt;
{
                &quot;opendaylight-flow-table-statistics:packets-looked-up&quot;: 404,
                &quot;opendaylight-flow-table-statistics:active-flows&quot;: 10,
                &quot;opendaylight-flow-table-statistics:packets-matched&quot;: 212
            }
&lt;p&gt;,&lt;br/&gt;
            &quot;flow-node-inventory:flow-cookie-map&quot;: [&lt;/p&gt;
                {
                    &quot;flow-node-inventory:flow-ids&quot;: [
                        &quot;#UF$TABLE*0-1&quot;
                    ],
                    &quot;flow-node-inventory:cookie&quot;: 1
                }
&lt;p&gt;            ],&lt;br/&gt;
            &quot;flow-node-inventory:flow&quot;: [&lt;br/&gt;
                {&lt;br/&gt;
                    &quot;flow-node-inventory:match&quot;: {&lt;br/&gt;
                        &quot;flow-node-inventory:vlan-match&quot;: {&lt;br/&gt;
                            &quot;flow-node-inventory:vlan-id&quot;: &lt;/p&gt;
{
                                &quot;flow-node-inventory:vlan-id&quot;: 78
                            }
&lt;p&gt;,&lt;br/&gt;
                            &quot;flow-node-inventory:vlan-pcp&quot;: 3&lt;br/&gt;
                        },&lt;br/&gt;
                        &quot;flow-node-inventory:ethernet-match&quot;: {&lt;br/&gt;
                            &quot;flow-node-inventory:ethernet-destination&quot;: &lt;/p&gt;
{
                                &quot;flow-node-inventory:address&quot;: &quot;FF:FF:29:01:19:61&quot;
                            }
&lt;p&gt;,&lt;br/&gt;
                            &quot;flow-node-inventory:ethernet-source&quot;: &lt;/p&gt;
{
                                &quot;flow-node-inventory:address&quot;: &quot;00:00:00:11:23:AE&quot;
                            }
&lt;p&gt;,&lt;br/&gt;
                            &quot;flow-node-inventory:ethernet-type&quot;: &lt;/p&gt;
{
                                &quot;flow-node-inventory:type&quot;: 2048
                            }
&lt;p&gt;                        }&lt;br/&gt;
                    },&lt;br/&gt;
                    &quot;flow-node-inventory:flags&quot;: &quot;SEND_FLOW_REM&quot;,&lt;br/&gt;
                    &quot;flow-node-inventory:priority&quot;: 2,&lt;br/&gt;
                    &quot;flow-node-inventory:instructions&quot;: {&lt;br/&gt;
                        &quot;flow-node-inventory:instruction&quot;: [&lt;br/&gt;
                            {&lt;br/&gt;
                                &quot;flow-node-inventory:apply-actions&quot;: {&lt;br/&gt;
                                    &quot;flow-node-inventory:action&quot;: [&lt;br/&gt;
                                        {&lt;br/&gt;
                                            &quot;flow-node-inventory:order&quot;: 0,&lt;br/&gt;
                                            &quot;flow-node-inventory:set-field&quot;: {&lt;br/&gt;
                                                &quot;flow-node-inventory:vlan-match&quot;: {&lt;br/&gt;
                                                    &quot;flow-node-inventory:vlan-id&quot;: &lt;/p&gt;
{
                                                        &quot;flow-node-inventory:vlan-id&quot;: 79
                                                    }
&lt;p&gt;                                                }&lt;br/&gt;
                                            }&lt;br/&gt;
                                        },&lt;br/&gt;
                                        {&lt;br/&gt;
                                            &quot;flow-node-inventory:order&quot;: 1,&lt;br/&gt;
                                            &quot;flow-node-inventory:output-action&quot;: &lt;/p&gt;
{
                                                &quot;flow-node-inventory:output-node-connector&quot;: &quot;1&quot;,
                                                &quot;flow-node-inventory:max-length&quot;: 0
                                            }
&lt;p&gt;                                        }&lt;br/&gt;
                                    ]&lt;br/&gt;
                                },&lt;br/&gt;
                                &quot;flow-node-inventory:order&quot;: 0&lt;br/&gt;
                            }&lt;br/&gt;
                        ]&lt;br/&gt;
                    },&lt;br/&gt;
                    &quot;flow-node-inventory:idle-timeout&quot;: 300,&lt;br/&gt;
                    &quot;opendaylight-flow-statistics:flow-statistics&quot;: {&lt;br/&gt;
                        &quot;opendaylight-flow-statistics:duration&quot;: &lt;/p&gt;
{
                            &quot;opendaylight-flow-statistics:second&quot;: 11,
                            &quot;opendaylight-flow-statistics:nanosecond&quot;: 725000000
                        }
&lt;p&gt;,&lt;br/&gt;
                        &quot;opendaylight-flow-statistics:byte-count&quot;: 0,&lt;br/&gt;
                        &quot;opendaylight-flow-statistics:packet-count&quot;: 0&lt;br/&gt;
                    },&lt;br/&gt;
                    &quot;flow-node-inventory:hard-timeout&quot;: 600,&lt;br/&gt;
                    &quot;flow-node-inventory:table_id&quot;: 0,&lt;br/&gt;
                    &quot;flow-node-inventory:id&quot;: &quot;#UF$TABLE*0-1&quot;,&lt;br/&gt;
                    &quot;flow-node-inventory:cookie&quot;: 1&lt;br/&gt;
                }&lt;br/&gt;
            ],&lt;br/&gt;
            &quot;flow-node-inventory:id&quot;: 0&lt;br/&gt;
        }&lt;br/&gt;
    ]&lt;br/&gt;
}&lt;/p&gt;

&lt;p&gt;I can see VLAN PCP is not being pushed to switch. I have also a wireshark capture that proves controller does not push PCP value.&lt;/p&gt;

&lt;p&gt;BR/Luis&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: Linux&lt;br/&gt;
Platform: PC&lt;/p&gt;</environment>
        <key id="27513">OPNFLWPLUG-245</key>
            <summary>Set VLAN PCP does not work</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="jameshall03885@gmail.com">James Gregory Hall</assignee>
                                    <reporter username="ecelgp">Luis Gomez</reporter>
                        <labels>
                    </labels>
                <created>Mon, 18 Aug 2014 02:56:23 +0000</created>
                <updated>Mon, 27 Sep 2021 09:01:17 +0000</updated>
                            <resolved>Wed, 17 Sep 2014 03:30:40 +0000</resolved>
                                                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                                                                <comments>
                            <comment id="56010" author="ecelgp" created="Mon, 18 Aug 2014 19:48:59 +0000"  >&lt;p&gt;Please use this URL to configure the flow:&lt;/p&gt;

&lt;p&gt;PUT http://&amp;lt;controller IP&amp;gt;:8080/restconf/config/opendaylight-inventory:nodes/node/openflow:1/table/0&lt;/p&gt;

&lt;p&gt;BR/Luis&lt;/p&gt;</comment>
                            <comment id="56011" author="jameshall03885@gmail.com" created="Tue, 19 Aug 2014 14:43:37 +0000"  >&lt;p&gt; So now do I suspect openflowjava code ... yes  OF13SetFieldActionSerializer.serialize() is getting the full set actions ... &lt;br/&gt;
        MatchEntries entry = oxmField.getMatchEntries().get(0);&lt;/p&gt;

&lt;p&gt;But it ignores the second set field entry ...&lt;/p&gt;</comment>
                            <comment id="56012" author="jameshall03885@gmail.com" created="Tue, 19 Aug 2014 20:57:42 +0000"  >&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/10077/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/10077/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="56013" author="michal.polkorab@gmail.com" created="Wed, 20 Aug 2014 09:36:49 +0000"  >&lt;p&gt;Please see next definition from Openflow 1.3.2 specification:&lt;/p&gt;

&lt;p&gt;Set Field actions uses the following structure and fi�elds:&lt;br/&gt;
/* Action structure for OFPAT_SET_FIELD. */&lt;br/&gt;
struct ofp_action_set_field {&lt;br/&gt;
uint16_t type; /* OFPAT_SET_FIELD. */&lt;br/&gt;
uint16_t len; /* Length is padded to 64 bits. */&lt;br/&gt;
/* Followed by:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;- Exactly (4 + oxm_length) bytes containing a single OXM TLV, then&lt;/li&gt;
	&lt;li&gt;- Exactly ((8 + oxm_length) + 7)/8*8 - (8 + oxm_length)&lt;/li&gt;
	&lt;li&gt;(between 0 and 7) bytes of all-zero bytes&lt;br/&gt;
*/&lt;br/&gt;
uint8_t field&lt;span class=&quot;error&quot;&gt;&amp;#91;4&amp;#93;&lt;/span&gt;; /* OXM TLV - Make compiler happy */&lt;br/&gt;
};&lt;br/&gt;
OFP_ASSERT(sizeof(struct ofp_action_set_field) == 8);&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Set Field action contains only single OXM TLV, that&apos;s why openflowjava checks only the first element in the list. (List is used because of existing model)&lt;/p&gt;

&lt;p&gt;As per Greg&apos;s comment:&lt;br/&gt;
&quot;OF13SetFieldActionSerializer.serialize() is getting the full set actions ... &quot;&lt;br/&gt;
This means that REST (SAL) model is incorrectly translated into openflowjava model. Some of the components above openflowjava should fix the translation process.&lt;/p&gt;</comment>
                            <comment id="56014" author="jameshall03885@gmail.com" created="Wed, 20 Aug 2014 13:55:42 +0000"  >&lt;p&gt;Ok, since the ofj interface doesn&apos;t support a list of augmentations in a setField Action which is a list ... then we should modify the code to throw and exception as such.&lt;/p&gt;

&lt;p&gt;There is a lack of testing to trap this error in ofp ... the unit test runs the code but doesn&apos;t do any validation beyond catching exceptions.&lt;/p&gt;

&lt;p&gt;I&apos;ll push new changes accordingly.&lt;/p&gt;</comment>
                            <comment id="56015" author="ecelgp" created="Wed, 20 Aug 2014 16:11:39 +0000"  >&lt;p&gt;I am not sure what is the problem you are describing here but I just followed RESTCONF API doc for set-field:&lt;/p&gt;

&lt;p&gt;case: set-field-case&lt;br/&gt;
   container: set-field&lt;br/&gt;
      uses: match&lt;br/&gt;
          refines:&lt;br/&gt;
          leaf: in-port&lt;br/&gt;
               type: node-connector-id&lt;br/&gt;
          leaf: in-phy-port&lt;br/&gt;
                type: node-connector-id&lt;br/&gt;
          container: vlan-match&lt;br/&gt;
             uses: vlan-match-fields&lt;br/&gt;
                refines:&lt;br/&gt;
                    container: vlan-id&lt;br/&gt;
                        description: VLAN id.&lt;br/&gt;
                            leaf: vlan-id-present&lt;br/&gt;
                                type: boolean&lt;br/&gt;
                            leaf: vlan-id&lt;br/&gt;
                                type: vlan-id&lt;br/&gt;
                    leaf: vlan-pcp&lt;br/&gt;
                        description: VLAN priority.&lt;br/&gt;
                            type: vlan-pcp&lt;/p&gt;


&lt;p&gt;BR/Luis&lt;/p&gt;</comment>
                            <comment id="56016" author="mirehak@cisco.com" created="Thu, 11 Sep 2014 14:34:23 +0000"  >&lt;p&gt;Could you retest? Bug1421 contained some vlan-id and vlan-pcp fixes.&lt;/p&gt;

&lt;p&gt;Thank you.&lt;/p&gt;</comment>
                            <comment id="56017" author="abhijit2511" created="Tue, 16 Sep 2014 14:42:05 +0000"  >&lt;p&gt;Any update on this?&lt;/p&gt;</comment>
                            <comment id="56018" author="ecelgp" created="Wed, 17 Sep 2014 03:30:40 +0000"  >&lt;p&gt;Yes, this works for me with the format suggested by Greg&lt;/p&gt;</comment>
                    </comments>
                    <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>1566</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=1566]]></customfieldvalue>

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

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