<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:32:01 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-270] Cannot set Mac Address in the Action Field</title>
                <link>https://jira.opendaylight.org/browse/OPNFLWPLUG-270</link>
                <project id="10155" key="OPNFLWPLUG">OpenFlowPlugin</project>
                    <description>&lt;p&gt;code segment&lt;/p&gt;

&lt;p&gt;ActionBuilder ab = createActionBuilder(order);&lt;br/&gt;
        SetDlDstActionCaseBuilder caseBuilder = new SetDlDstActionCaseBuilder();&lt;br/&gt;
        SetDlDstActionBuilder dstBuilder = new SetDlDstActionBuilder();&lt;br/&gt;
        dstBuilder.setAddress(new MacAddress(mac));&lt;br/&gt;
        caseBuilder.setSetDlDstAction(dstBuilder.build());&lt;br/&gt;
        ab.setAction(caseBuilder.build());&lt;br/&gt;
        ab.build();&lt;/p&gt;



&lt;p&gt;or:&lt;/p&gt;

&lt;p&gt;        MacAddress addr = new MacAddress(mac);&lt;br/&gt;
        return new ActionBuilder().setAction(&lt;br/&gt;
        new SetFieldCaseBuilder().setSetField(&lt;br/&gt;
        new SetFieldBuilder().setEthernetMatch(&lt;br/&gt;
        new EthernetMatchBuilder().setEthernetDestination(&lt;br/&gt;
        new EthernetDestinationBuilder().setAddress(addr).build())&lt;br/&gt;
        .build()).build()).build()).setKey(new ActionKey(0)).build();&lt;/p&gt;

&lt;p&gt;Error :&lt;/p&gt;

&lt;p&gt;&amp;gt;&lt;br/&gt;
&amp;gt;&lt;br/&gt;
&amp;gt;     Unable to serialize MAC address for&lt;br/&gt;
&amp;gt;     input: MacAddress &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=00:01:02:03:04:05&amp;#93;&lt;/span&gt;.&lt;br/&gt;
&amp;gt;&lt;/p&gt;

&lt;p&gt;java.lang.IllegalArgumentException: Invalid character &apos;M&apos; encountered&lt;br/&gt;
    at&lt;br/&gt;
org.opendaylight.openflowjava.util.ByteBufUtils.macAddressToBytes(ByteBufUtils.java:260)&lt;br/&gt;
~&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
    at&lt;br/&gt;
org.opendaylight.openflowjava.protocol.impl.serialization.match.AbstractOxmMacAddressSerializer.serialize(AbstractOxmMacAddressSerializer.java:26)&lt;br/&gt;
~&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
    at&lt;br/&gt;
org.opendaylight.openflowjava.protocol.impl.serialization.match.AbstractOxmMacAddressSerializer.serialize(AbstractOxmMacAddressSerializer.java:20)&lt;br/&gt;
~&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
    at&lt;br/&gt;
org.opendaylight.openflowjava.protocol.impl.util.OF13MatchSerializer.serializeMatchEntries(OF13MatchSerializer.java:89)&lt;br/&gt;
~&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
    at&lt;br/&gt;
org.opendaylight.openflowjava.protocol.impl.util.OF13MatchSerializer.serialize(OF13MatchSerializer.java:50)&lt;br/&gt;
~&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
    at&lt;br/&gt;
org.opendaylight.openflowjava.protocol.impl.util.OF13MatchSerializer.serialize(OF13MatchSerializer.java:34)&lt;br/&gt;
~&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
    at&lt;br/&gt;
org.opendaylight.openflowjava.protocol.impl.serialization.factories.MultipartRequestInputFactory.serializeFlowBody(MultipartRequestInputFactory.java:220)&lt;br/&gt;
~&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
    at&lt;br/&gt;
org.opendaylight.openflowjava.protocol.impl.serialization.factories.MultipartRequestInputFactory.serialize(MultipartRequestInputFactory.java:109)&lt;br/&gt;
~&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
    at&lt;br/&gt;
org.opendaylight.openflowjava.protocol.impl.serialization.factories.MultipartRequestInputFactory.serialize(MultipartRequestInputFactory.java:70)&lt;br/&gt;
~&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
    at&lt;br/&gt;
org.opendaylight.openflowjava.protocol.impl.serialization.SerializationFactory.messageToBuffer(SerializationFactory.java:36)&lt;br/&gt;
~&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
    at&lt;br/&gt;
org.opendaylight.openflowjava.protocol.impl.core.OFEncoder.encode(OFEncoder.java:41)&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
    at&lt;br/&gt;
org.opendaylight.openflowjava.protocol.impl.core.OFEncoder.encode(OFEncoder.java:26)&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
    at&lt;br/&gt;
io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:111)&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:4.0.19.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
    at&lt;br/&gt;
io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:666)&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:4.0.19.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
    at&lt;br/&gt;
io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:724)&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:4.0.19.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
    at&lt;br/&gt;
io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:659)&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:4.0.19.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
    at&lt;br/&gt;
io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:645)&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:4.0.19.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
    at&lt;br/&gt;
io.netty.channel.DefaultChannelPipeline.write(DefaultChannelPipeline.java:878)&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:4.0.19.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
    at io.netty.channel.AbstractChannel.write(AbstractChannel.java:231)&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:4.0.19.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
    at&lt;br/&gt;
org.opendaylight.openflowjava.protocol.impl.connection.ChannelOutboundQueue.flush(ChannelOutboundQueue.java:184)&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
    at&lt;br/&gt;
org.opendaylight.openflowjava.protocol.impl.connection.ChannelOutboundQueue.access$000(ChannelOutboundQueue.java:39)&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
    at&lt;br/&gt;
org.opendaylight.openflowjava.protocol.impl.connection.ChannelOutboundQueue$1.run(ChannelOutboundQueue.java:83)&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
    at&lt;br/&gt;
io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:341)&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:4.0.19.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:346)&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:4.0.19.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
    at&lt;br/&gt;
io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: Linux&lt;br/&gt;
Platform: PC&lt;/p&gt;</environment>
        <key id="27538">OPNFLWPLUG-270</key>
            <summary>Cannot set Mac Address in the Action Field</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="shuva.jyoti.kar.87@gmail.com">Shuva Jyoti Kar</assignee>
                                    <reporter username="shuva.jyoti.kar.87@gmail.com">Shuva Jyoti Kar</reporter>
                        <labels>
                    </labels>
                <created>Tue, 9 Sep 2014 15:32:18 +0000</created>
                <updated>Mon, 27 Sep 2021 09:01:19 +0000</updated>
                            <resolved>Tue, 11 Nov 2014 09:43:30 +0000</resolved>
                                                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>11</watches>
                                                                                                                <comments>
                            <comment id="56118" author="shuva.jyoti.kar.87@gmail.com" created="Tue, 9 Sep 2014 15:32:18 +0000"  >&lt;p&gt;Attachment Screenshot from 2014-09-02 17:52:32.png has been added with description: Debugged MatchconvertorImplto find  the mac address is wrongly set.&lt;/p&gt;</comment>
                            <comment id="56102" author="abhijit2511" created="Tue, 9 Sep 2014 16:03:51 +0000"  >&lt;p&gt;Assigning it to Prasanna - in the meeting we had discussed this was a user error - but lets see.&lt;/p&gt;</comment>
                            <comment id="56103" author="shuva.jyoti.kar.87@gmail.com" created="Thu, 11 Sep 2014 03:16:01 +0000"  >&lt;p&gt;The Mac address in the addflowinputbuilder is actually set incorrectly&lt;/p&gt;</comment>
                            <comment id="56119" author="shuva.jyoti.kar.87@gmail.com" created="Thu, 11 Sep 2014 03:16:01 +0000"  >&lt;p&gt;Attachment error.JPG has been added with description: The Mac address in the flow input builder is actually set incorrectly&lt;/p&gt;</comment>
                            <comment id="56104" author="abhijit2511" created="Thu, 11 Sep 2014 04:07:30 +0000"  >&lt;p&gt;Anil,&lt;/p&gt;

&lt;p&gt;I don&apos;t think it will be the case but could this be anything to do with the MAC address comparator bug?&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Abhijit&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="56105" author="vishnoianil@gmail.com" created="Thu, 11 Sep 2014 11:30:31 +0000"  >&lt;p&gt;Hi Abhijit,&lt;/p&gt;

&lt;p&gt;No, comparator comes to the picture where we fetch statistics data from switch. I believe this issue is happening while sending flow down to the switch.&lt;/p&gt;

&lt;p&gt;Thanks&lt;br/&gt;
Anil&lt;/p&gt;</comment>
                            <comment id="56106" author="abhijit2511" created="Tue, 16 Sep 2014 13:21:33 +0000"  >&lt;p&gt;Prasanna had sent the following note to Shuva after investigation:&lt;/p&gt;

&lt;p&gt;Hello,&lt;br/&gt;
   As discussed please move the bug(Mac address issue) to MD-SAL and assign it to default user.&lt;/p&gt;

&lt;p&gt;Abhijit:&lt;br/&gt;
               Shuva bypassed MD-SAL and tested with plugin and library and MAC address provision works.&lt;br/&gt;
Rgds&lt;br/&gt;
Prasanna&lt;/p&gt;</comment>
                            <comment id="56107" author="devin.avery@brocade.com" created="Tue, 16 Sep 2014 16:09:21 +0000"  >&lt;p&gt;Hello - A summary of the problem / solution was request at the MD-SAL status meeting today.&lt;/p&gt;

&lt;p&gt;Could someone please summarize what the problem is and what the propose solution is? People are just interested in what is going on with this one.&lt;/p&gt;

&lt;p&gt;Thank you!&lt;/p&gt;

&lt;p&gt;Devin&lt;/p&gt;</comment>
                            <comment id="56108" author="rovarga" created="Thu, 18 Sep 2014 07:32:18 +0000"  >&lt;p&gt;Can you expand your problem report with the type of &quot;mac&quot; and how it is being initialized?&lt;/p&gt;</comment>
                            <comment id="56109" author="tony.tkacik@gmail.com" created="Thu, 18 Sep 2014 09:22:30 +0000"  >&lt;p&gt;Added testcase which shows this is not bug of MD-SAL.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/11307&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/11307&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Testcase write correctly constructed mac address in flow:&lt;br/&gt;
ethernet-match with source mac, source destination and also apply-actions&lt;br/&gt;
with set-dl-dst and set-dl-src.&lt;/p&gt;

&lt;p&gt;Then testcase read it and compares MAC address value with original one.&lt;br/&gt;
This showcase MD-SAL did not change mac address as was supplied by user.&lt;/p&gt;

&lt;p&gt;As Robert mentioned, please show how this flow was constructed, because everything points it is user bug, when some did something as:&lt;/p&gt;

&lt;p&gt;MacAddress original;&lt;br/&gt;
MacAddress mac = new MacAddress(original.toString()) instead of &lt;br/&gt;
new MacAddress(original) or new MacAddress(original.getValue()).&lt;/p&gt;

&lt;p&gt;Returning it back to Openflowplugin, since submitted test case shows it is not Openflowplugin bug.&lt;/p&gt;

&lt;p&gt;Also integration testsuite &lt;a href=&quot;https://jenkins.opendaylight.org/integration/job/integration-master-csit-base-of13/2629/robot/report/log.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://jenkins.opendaylight.org/integration/job/integration-master-csit-base-of13/2629/robot/report/log.html&lt;/a&gt;&lt;br/&gt;
reports flow with mac address as working.&lt;/p&gt;</comment>
                            <comment id="56110" author="mirehak@cisco.com" created="Thu, 18 Sep 2014 09:48:57 +0000"  >&lt;p&gt;The attachment clearly shows that value of exposed MacAddress contains toString output of some probably internal instance of mac address:&lt;/p&gt;

&lt;p&gt;getAddress &quot;MacAddressvalue=&quot;&lt;/p&gt;</comment>
                            <comment id="56111" author="mirehak@cisco.com" created="Thu, 18 Sep 2014 09:58:16 +0000"  >&lt;p&gt;The attachment clearly shows that value of exposed MacAddress contains toString output of some (probably internal) instance of mac address:&lt;/p&gt;

&lt;p&gt;getAddress=MacAddress [_value=MacAddress &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=a0:b1:c2:d3:e4:35&amp;#93;&lt;/span&gt;]&lt;/p&gt;


&lt;p&gt;MacAddress.toString() looks like this:&lt;br/&gt;
java.lang.StringBuilder builder = new java.lang.StringBuilder(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev100924.MacAddress.class.getSimpleName()).append(&quot; [&quot;);&lt;br/&gt;
        boolean first = true;&lt;/p&gt;

&lt;p&gt;        if (_value != null) {&lt;br/&gt;
            if (first) &lt;/p&gt;
{
                first = false;
            }
&lt;p&gt; else &lt;/p&gt;
{
                builder.append(&quot;, &quot;);
            }
&lt;p&gt;            builder.append(&quot;_value=&quot;);&lt;br/&gt;
            builder.append(_value);&lt;br/&gt;
         }&lt;br/&gt;
        return builder.append(&apos;]&apos;).toString();&lt;/p&gt;

&lt;p&gt;where _value is of type String and contains mac address in hex-format.&lt;/p&gt;

&lt;p&gt;Correct dump would look like this:&lt;br/&gt;
getAddress=MacAddress &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=a0:b1:c2:d3:e4:35&amp;#93;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;Assigning to reporter.&lt;/p&gt;</comment>
                            <comment id="56112" author="v.l.n.mehar.simhadri@ericsson.com" created="Fri, 19 Sep 2014 11:38:40 +0000"  >&lt;p&gt;The anamoly is identified in the org.opendaylight.controller.frm.impl.FlowForwarder which implements the DataChangeListener interface.&lt;/p&gt;

&lt;p&gt;Is it possible that the issue is in the DataListener code path?&lt;/p&gt;</comment>
                            <comment id="56113" author="v.l.n.mehar.simhadri@ericsson.com" created="Fri, 19 Sep 2014 11:39:33 +0000"  >&lt;p&gt;The anomaly is identified in the org.opendaylight.controller.frm.impl.FlowForwarder which implements the DataChangeListener interface.&lt;/p&gt;

&lt;p&gt;Is it possible that the issue is in the DataListener code path?&lt;/p&gt;</comment>
                            <comment id="56114" author="v.l.n.mehar.simhadri@ericsson.com" created="Fri, 19 Sep 2014 11:40:33 +0000"  >&lt;p&gt;The anomaly is identified in the org.opendaylight.controller.frm.impl.FlowForwarder which implements the DataChangeListener interface.&lt;/p&gt;

&lt;p&gt;Is it possible that the issue is in the DataListener code path?&lt;/p&gt;</comment>
                            <comment id="56115" author="mirehak@cisco.com" created="Fri, 19 Sep 2014 12:40:28 +0000"  >&lt;p&gt;Hi Mehar,&lt;br/&gt;
the attached picture of debug session is reason to believe that corrupted flow was created at the beginning of the pipeline:&lt;/p&gt;

&lt;p&gt;1. app/user creates flow&lt;br/&gt;
2. send it to datastore/config (using API or restconf)&lt;br/&gt;
3. FlowForwarder is notified and invokes appropriate rpc on corresponding service provider&lt;br/&gt;
4. openflowplugin translates flow from MD-SAL model to OFJava-API model and invokes OFJava rpc&lt;br/&gt;
5. OFJavaRPC encodes the input into flowMod message and writes it to byteBuffer&lt;br/&gt;
6. Netty.io sends content of the buffer to corresponding switch&lt;/p&gt;

&lt;p&gt;So if:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;the malformed macAddress was observed in FlowForwarder (3.).&lt;/li&gt;
	&lt;li&gt;and there exist flows containing macAddress which successfully pass this pipeline&lt;br/&gt;
then the input at the very beginning of the pipeline should be checked. And as it was already noted  - there is probably somewhere copy constructor of macAddress invoked with string presentation of macAddress instead of object reference or macAddress.getValue().&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Please check input.&lt;/p&gt;</comment>
                            <comment id="56116" author="abhijit2511" created="Mon, 22 Sep 2014 15:33:07 +0000"  >&lt;p&gt;Moved to Helium 1 as SFC (sfcofl2) is not blocked on this and there is still an opinion from the OpenFlow plugin team that there was an issue with the input (see Michal Rehak&apos;s last comment).&lt;/p&gt;</comment>
                            <comment id="56117" author="vzelcamo@cisco.com" created="Tue, 11 Nov 2014 09:43:30 +0000"  >&lt;p&gt;no response&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="13912" name="Screenshot from 2014-09-02 17:52:32.png" size="135347" author="shuva.jyoti.kar.87@gmail.com" created="Tue, 9 Sep 2014 15:32:18 +0000"/>
                            <attachment id="13913" name="error.JPG" size="213531" author="shuva.jyoti.kar.87@gmail.com" created="Thu, 11 Sep 2014 03:16:01 +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>1772</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=1772]]></customfieldvalue>

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

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

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