<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:16:07 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>[NETCONF-873] Provide RESTCONF over a dedicated Netty-based endpoint</title>
                <link>https://jira.opendaylight.org/browse/NETCONF-873</link>
                <project id="10142" key="NETCONF">netconf</project>
                    <description>&lt;p&gt;It seems that the dynamic subscription lifecycle of RFC8639 requires monitoring of the subscriber session &amp;#8211; because requests to control such subscription can only come from that logical session. There does not seem to be a provision for identifying the subscriber other than the transport sesssion &amp;#8211; which effectively means that for RESTCONF we needs explicit visibility into the transport layer, which JAX-RS cannot provide AFAICT.&lt;br/&gt;
The implication seems to be that if the HTTP transport session used to set up a dynamic subscription goes down, there is no way to control that subscription, nor is there a channel that can be used to notify the subscriber of events (like suspension of subscrption), hence the termination of subscriber transport needs to result in termination of subscription.&lt;/p&gt;

&lt;p&gt;Furthermore, the QoS feature in RFC8639 requires HTTP/2 and, more importantly, a much more explicit control over transport layer (to the point of DSCP marking individual packets), which is completely outside of what JAX-RS can do (and can be expected to be able to do in any reasonable time-frame).&lt;/p&gt;

&lt;p&gt;Coupled with the utterly-awkward and flaky JAX-RS async model, this leads to to a simple conclusion: we need to brew our own HTTP endpoint for RESTCONF.&lt;/p&gt;

&lt;p&gt;Netty is the logical candidate, as we use it in pretty much all other low-level scenarios: NETCONF/TLS, BGP, PCEP, OFP, OVSDB ... Netty also provides HTTP/2 support out of the box and has HTTP/3 (QUIC) implementation prototype.&lt;/p&gt;

&lt;p&gt;The focus of this issue is to provide RESTCONF service endpoint on a dedicated Netty-based server concurrently to the JAX-RS-based endpoint. This effort should define a proper distinction between the transport driver (Netty) and application (RESTCONF services) in a manner similar to how SSH/TLS/plain transports are disconnected from NETCONF.&lt;/p&gt;</description>
                <environment></environment>
        <key id="35718">NETCONF-873</key>
            <summary>Provide RESTCONF over a dedicated Netty-based endpoint</summary>
                <type id="10103" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10311&amp;avatarType=issuetype">New Feature</type>
                                            <priority id="3" iconUrl="https://jira.opendaylight.org/images/icons/priorities/major.svg">Medium</priority>
                        <status id="10003" iconUrl="https://jira.opendaylight.org/images/icons/status_generic.gif" description="">Confirmed</status>
                    <statusCategory id="2" key="new" colorName="blue-gray"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="rovarga">Robert Varga</reporter>
                        <labels>
                    </labels>
                <created>Sun, 24 Apr 2022 23:08:39 +0000</created>
                <updated>Sun, 24 Apr 2022 23:08:50 +0000</updated>
                                                                            <component>restconf-nb</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                    <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                            <outwardlinks description="blocks">
                                        <issuelink>
            <issuekey id="34327">NETCONF-811</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </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_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i04293:</customfieldvalue>

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