<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:31:42 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-154] Failed to decode LLDP packet</title>
                <link>https://jira.opendaylight.org/browse/OPNFLWPLUG-154</link>
                <project id="10155" key="OPNFLWPLUG">OpenFlowPlugin</project>
                    <description>&lt;p&gt;Environment&lt;br/&gt;
~~~~~~~~~~~&lt;/p&gt;

&lt;p&gt;Ubuntu 12.04LTS 64bit&lt;/p&gt;

&lt;p&gt;Using latest integration build&lt;br/&gt;
&lt;a href=&quot;http://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/distributions-base/0.1.2-SNAPSHOT/distributions-base-0.1.2-20140508.021130-540-osgipackage.zip&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/distributions-base/0.1.2-SNAPSHOT/distributions-base-0.1.2-20140508.021130-540-osgipackage.zip&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Dev lab with real hardware&lt;br/&gt;
2 x Alcatel-Lucent OS6900s&lt;br/&gt;
2 x HP 5900s&lt;/p&gt;

&lt;p&gt;running openflow 1.3.1 toward controller&lt;/p&gt;

&lt;p&gt;Issue&lt;br/&gt;
~~~~~&lt;/p&gt;

&lt;p&gt;1. Topology discovery fails - LLDP fails&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;possible cause: PACKET IN towards Controller has buffer id and no data ?&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;2. Inconsistent device port discovery. Port numbers on switches different on separate runs of the controller&lt;/p&gt;

&lt;p&gt;Artefacts&lt;br/&gt;
~~~~~~~~~&lt;/p&gt;

&lt;p&gt;1. Putty log of the controller running&lt;br/&gt;
2. Wireshark trace of the comms between controller and switches&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: Linux&lt;br/&gt;
Platform: Other&lt;/p&gt;</environment>
        <key id="27422">OPNFLWPLUG-154</key>
            <summary>Failed to decode LLDP packet</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="bhavish.khatri@team.telstra.com">Bhavish Khatri</assignee>
                                    <reporter username="bhavish.khatri@team.telstra.com">Bhavish Khatri</reporter>
                        <labels>
                    </labels>
                <created>Thu, 8 May 2014 05:17:33 +0000</created>
                <updated>Mon, 27 Sep 2021 09:01:11 +0000</updated>
                            <resolved>Thu, 4 Sep 2014 14:40:20 +0000</resolved>
                                                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>9</watches>
                                                                                                                <comments>
                            <comment id="55639" author="bhavish.khatri@team.telstra.com" created="Thu, 8 May 2014 05:17:33 +0000"  >&lt;p&gt;Attachment test4.zip has been added with description: Log output + wireshark trace&lt;/p&gt;</comment>
                            <comment id="55633" author="mirehak@cisco.com" created="Fri, 23 May 2014 08:04:49 +0000"  >&lt;p&gt;Could you please retest? &lt;br/&gt;
There was merged a fix for bug responsible for killing threads during handshake.&lt;br/&gt;
BUG-995&lt;/p&gt;</comment>
                            <comment id="55634" author="bhavish.khatri@team.telstra.com" created="Sun, 25 May 2014 23:54:20 +0000"  >&lt;p&gt;I&apos;ve just tried distributions-base-0.1.2-20140525.222643-753-osgipackage.zip. Can&apos;t see any nodes in the GUI.&lt;/p&gt;</comment>
                            <comment id="55635" author="abhijit2511" created="Thu, 29 May 2014 05:52:03 +0000"  >&lt;p&gt;Fyi Bhavish - PACKET IN towards Controller has buffer id and no data is not supported by the implementation.&lt;/p&gt;</comment>
                            <comment id="55636" author="bhavish.khatri@team.telstra.com" created="Thu, 29 May 2014 05:59:33 +0000"  >&lt;p&gt;Well it appears that Opendaylight is not correctly setting a rule on the switches. That is, flow action is send to controller but 0 bytes. Also, I can&apos;t see ODL creating any flow rules to punt LLDP towards controller either. Not sure how it figures out that this is an LLDP packet.&lt;/p&gt;

&lt;p&gt;What&apos;s the expected behaviour?&lt;/p&gt;</comment>
                            <comment id="55637" author="abhijit2511" created="Mon, 11 Aug 2014 23:06:58 +0000"  >&lt;p&gt;Folks,&lt;/p&gt;

&lt;p&gt;Are we setting a rule in the switches to specifically punt the LLDP packets to the controller? This will make our LLDP discovery more robust. I don&apos;t think we are doing this. So action 1 - install an explicit LLDP flow to punt LLDP packets to the controller.&lt;/p&gt;

&lt;p&gt;Also it is likely that we are expecting the whole unbuffered packet during the packet-ins - rather than partial packets. In this case it makes sense to explicitly configure the switch to send the full unbuffered packets to the controller (to make the controller operation more predictable &amp;amp; not dependent on the switch defaults). From the spec:&lt;/p&gt;

&lt;p&gt;From 6.1.2 Asynchronous:&lt;/p&gt;

&lt;p&gt;&quot;If the packet is buffered, the number of bytes of the original packet to include in the packet-in can be configured. By default, it is 128 bytes. For packet-in generated by an output action in a flow entries or group bucket, it can be specified individually in the output action itself (see 7.2.5), for other packet-in it can be configured in the switch configuration (see 7.3.2).&quot;&lt;/p&gt;

&lt;p&gt;The output action has the following:&lt;/p&gt;

&lt;p&gt;/* Action structure for OFPAT_OUTPUT, which sends packets out &#8217;port&#8217;.&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;When the &#8217;port&#8217; is the OFPP_CONTROLLER, &#8217;max_len&#8217; indicates the max&lt;/li&gt;
	&lt;li&gt;number of bytes to send.  A &#8217;max_len&#8217; of zero means no bytes of the&lt;/li&gt;
	&lt;li&gt;packet should be sent. A &#8217;max_len&#8217; of OFPCML_NO_BUFFER means that&lt;/li&gt;
	&lt;li&gt;the packet is not buffered and the complete packet is to be sent to&lt;/li&gt;
	&lt;li&gt;the controller. */&lt;br/&gt;
struct ofp_action_output {&lt;br/&gt;
    uint16_t type;&lt;br/&gt;
    uint16_t len;&lt;br/&gt;
    uint32_t port;&lt;br/&gt;
    uint16_t max_len;&lt;br/&gt;
    uint8_t pad&lt;span class=&quot;error&quot;&gt;&amp;#91;6&amp;#93;&lt;/span&gt;;&lt;br/&gt;
/* OFPAT_OUTPUT. */&lt;br/&gt;
/* Length is 16. */&lt;br/&gt;
/* Output port. */&lt;br/&gt;
/* Max length to send to controller. */&lt;br/&gt;
/* Pad to 64 bits. */&lt;br/&gt;
};&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;From:&lt;/p&gt;

&lt;p&gt;7.3.2 Switch Configuration:&lt;/p&gt;

&lt;p&gt;/* Switch configuration. */&lt;br/&gt;
struct ofp_switch_config {&lt;br/&gt;
    struct ofp_header header;&lt;br/&gt;
    uint16_t flags;&lt;br/&gt;
    uint16_t miss_send_len;&lt;br/&gt;
/* Bitmap of OFPC_* flags. */&lt;br/&gt;
/* Max bytes of packet that datapath&lt;br/&gt;
   should send to the controller. See&lt;br/&gt;
   ofp_controller_max_len for valid values.&lt;br/&gt;
   */&lt;br/&gt;
};&lt;/p&gt;

&lt;p&gt;&quot;The miss_send_len field defines the number of bytes of each packet sent to the controller by the OpenFlow pipeline when not using an output action to the OFPP_CONTROLLER logical port, for example sending packets with invalid TTL if this message reason is enabled. If this field equals 0, the switch must send zero bytes of the packet in the ofp_packet_in message. If the value is set to OFPCML_NO_BUFFER the complete packet must be included in the message, and should not be buffered.&quot;&lt;/p&gt;

&lt;p&gt;So action 2:&lt;br/&gt;
1) make sure the default switch configuration for packet-in miss_send_len is OFPCML_NO_BUFFER&lt;br/&gt;
2) make sure the LLDP flow output action has max_len as OFPCML_NO_BUFFER.&lt;/p&gt;

&lt;p&gt;We can make that change - and then have Bhavish try it again.&lt;/p&gt;</comment>
                            <comment id="55638" author="abhijit2511" created="Tue, 2 Sep 2014 14:30:16 +0000"  >&lt;p&gt;This was split into &lt;a href=&quot;https://bugs.opendaylight.org/show_bug.cgi?id=1544&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://bugs.opendaylight.org/show_bug.cgi?id=1544&lt;/a&gt; and &lt;a href=&quot;https://bugs.opendaylight.org/show_bug.cgi?id=1545&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://bugs.opendaylight.org/show_bug.cgi?id=1545&lt;/a&gt;. Both closed - so closing this.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10002">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="27344">OPNFLWPLUG-76</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="13868" name="test4.zip" size="148434" author="bhavish.khatri@team.telstra.com" created="Thu, 8 May 2014 05:17:33 +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>974</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=974]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10202" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Priority</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10301"><![CDATA[Normal]]></customfieldvalue>

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

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