On Thu, Mar 19, 2020 at 3:43 PM Jon Maloy <jma...@redhat.com> wrote:
>
>
>
> On 3/18/20 12:04 AM, Joseph Touch wrote:
>
> Hi all,
>
> I’m quite confused by this request.
>
> It seems like they either have an implementation issue (in Linux).
>
> Linux "passthru" GSO is implemented so that any IP based protocol which wants 
> to benefit
> from it needs its own IP protocol number. Doing this generically through the 
> already existing
> UDP protocol number is not possible, because GSO on a host must be implemented
> specifically (e.g., regarding segmentation) per carried protocol. That is 
> just a fact, and not
> an implementation issue.

Jon,

I'm not sure I understand your point. Linux already supports GSO, and
GRO for that matter, for several protocols encapsulated over UDP. I
don't see any requirement for a protocol to need its own IP protocol
number in this regard.

Tom

>
>
> I checked their documentation, which includes smoothing that looks a little 
> like an Internet Draft:
> http://tipc.io/protocol.html
> but it’s quite confusing. Taken at face value, they make their own argument 
> that IP addresses won’t work - at which point running raw over IP serves no 
> utility (sec 3.1.1),
>
> That is not a correct interpretation of the text. There is nowhere stated 
> that IP addresses won't work for TIPC,
> neither in sec. 3.1.1 or anywhere else. Of course they work, *for transport 
> purposes*, just like they have been
> doing for many years already when running TIPC over UDP. What we state 
> elsewhere in the document is that
> IP addresses are no good in the *user API*, because they are location bound.
> That is also why DNS was invented, I  believe.
>
> We also state that using IP addresses is less optimal than omitting the IP 
> layer altogether
> and using MAC addresses, but that doesn't mean the former are useless, -it 
> just makes
> IP the only viable alternative in the cases when a network owner doesn't 
> allow non-IP
> protocols though their back planes, or when routing gets involved.
>
> even though most of those claims are debatable (DNS-SD is too static? And 
> expensive?? How so?). Then they reinvent the DNS in Section 6.
>
> There is no doubt that DNS is not the best choice for the type of 
> environments (tight clusters) where
> we use TIPC. All DNS implementations I know run in user land, and doing a 
> service discovery typically
> means at least one, and often several inter-process and potentially 
> inter-node hops. Even if there is
> a process local lookup cache in each sender, that cache has to be populated 
> before it is of any use.
> Instead, TIPC uses a tailor-made kernel resident translation service which 
> normally contains a complete
> copy of the the lookup database, so there are no unnecessary hops and no 
> cache misses.
>
> This would have been of less importance if TIPC were only a connection 
> oriented TCP-like service where
> service lookup is only needed at connection setup. But a just as important 
> feature of TIPC is its reliable
> connectionless transport mode. Here, the lookup service is not primarily 
> about service discovery
> (although that is also important), but about efficient on-the-fly translation 
> between user level service
> addresses (aka "port names") and location bound socket addresses (aka "port 
> identities"). This
> translation has to be performed per message, not per connection, since the 
> destination may change
> between each message.
>
> If we were to make an analogy with the IP world, we could imagine that we use 
> UDP to send high
> volume traffic to many different destinations, each having its own domain 
> name. Making a
> separate DNS lookup for each sent message would certainly work, but it would 
> not by far be as
> performant as having a tailor made "always cache resident" translation table, 
> shared between
> all processes, like we do in TIPC.
>
> Furthermore, when the connectionless service is used, sockets might be 
> created/deleted and
> bound/unbound at extremely high rates, much higher than DNS with its 
> hierarchical updates
> is meant to deal with. This is what we mean with DNS being too "static". It 
> is not saying that
> DNS is bad, it is just stating that it is not designed for the very high 
> performance requirements
> and dynamism we have in TIPC.
>
> There is no doubt that a few things in TIPC could have been done differently, 
>  but the decision
> to design our own topology/lookup service is not among those. This request is 
> an attempt to
> open up for moving beyond some current limitations, e.g., by enabling 
> introduction of a more
> versatile 128-bit  service addressing concept.  Along with this request we 
> are aiming at having
> an updated version of the protocol description adopted as an informational 
> RFC, so that
> TIPC can be regarded as an IETF supported protocol in its own right.
>
> Whatever the viewpoints, TIPC is currently what it is, and rather than 
> focusing on the motivation
> for certain implementation choices and how they work, I think IETF should 
> consider the fact
> that this is a well-established service used by dozens of small and big 
> companies, running high-volume
> traffic at hundreds of telco sites around the globe. They should also 
> consider that TIPC has
> existed as a stable and well-maintained implementation in all major Linux 
> distros for many years.
>
> IETF now has a genuine chance to help us making TIPC even more useful for 
> existing and new users.
>
> BR
> Jon Maloy
>
>
> Frankly, IMO this would probably have a difficult time arguing for a 
> transport protocol port number, much less an IP protocol number.
>
> Joe
>
>
> On Mar 17, 2020, at 3:34 PM, Suresh Krishnan <sur...@kaloom.com> wrote:
>
> Hi all,
>   IANA received an IP protocol number allocation request from Jon Maloy 
> <jma...@redhat.com> for the Transparent Inter Process Communication (TIPC) 
> protocol. I picked up this request as Internet AD as the registration 
> procedure requires IESG Approval. I had provided the information below to the 
> IESG and discussed this with a favorable view of this request. I am 
> recommending allocation of an IP protocol number for this. If you have any 
> concerns that you think I might have overlooked, please let me know by end of 
> day March 24 2020.
>
> After several round trips of back and forth probing I had collected the 
> following information regarding the protocol number request for TIPC. There 
> were two main questions I had for him:
>
> * Q1: Why did they want an IP protocol number?
> * Q2: Is the protocol implemented and deployed widely?
>
> Q1: Why did they want an IP protocol number?
> ====================================
>
> There are two main reasons why they want to reserve an IP protocol number:
>
> 1)  Performance
> They are currently working on adding GSO support to TIPC, including a 
> TSO-like "full-size buffer pass-thru" though virtio and the host OS tap 
> interface. They have experimentally implemented GSO across UDP tunnels, but 
> performance is not good because of the way the tunnel GSO is implemented, and 
> there is no 'pass-thru' support for this in Linux. They have even done the 
> same at the pure L2 level, but L2 transport is sometimes not accepted by the 
> cloud maintainers or the telco operators, and hence they need an alternative. 
> The best alternative, both from a performance and acceptability viewpoint 
> would be to establish TIPC as a full-fledged IP protocol, apart from the 
> traditional L2 bearer many users are still using.
>
> 2) Currently TIPC has two user address types:
>
> struct tipc_service_addr{
>     uint32_t type;
>     uint32_t instance;
>     uint32_t node;
> };
> struct tipc_service_addr{
>     uint32_t port;
>     uint32_t node;
> };
>
> They want to complement this  with a new API where we have a unified address 
> type:
> struct tipc_addr{
>    u8 type[16];
>    u8 instance[16];
>    u8 node[16];
> };
>
> This would give a 128-bit value range for both 'type', 'instance' and 'node', 
> and opens up for new opportunities:
> - Users will never need to coordinate 'type' values since there will no risk 
> of collisions.
> - Users can put whatever they want into the fields, e.g., an IPv6 address, a 
> Kubernetes or Docker container id, a LUKS disk UUID or just a plain string.
> For the 'node' id this has already been implemented and released, but it is 
> not reflected in the API yet.
>
> For the API extension they need a new IPPROTO_TIPC socket type which can be 
> registered and instantiated independently from the traditional AF_TIPC socket 
> type.
>
> You can find more info about this at http://tipc.io
>
> Q2: Is the protocol implemented and deployed widely?
> ==========================================
>
> The requester provided the following information when I asked about who was 
> currently using TIPC (pretty much about adoption and deployment):
>
> I can give you a list of current or recently active code contributors and 
> companies/people who have been asking for support:
>
> Huawei:
> For natural reasons I don't know any details about them, I can only name 
> persons I have seen contributing to netdev or being active on our mailing 
> lists. Huawei people sometimes use gmail addresses when posting questions and 
> patches, so there are more persons than I have listed here.
> Dmitry Kolmakov <kolmakov.dmit...@huawei.com>
> Ji Qin <jiqin...@huawei.com>
> Wei Yongjun <weiyongj...@huawei.com>
> <songshuaishu...@huawei.com>
> Yue Haibing <yuehaib...@huawei.com>
> Junwei Hu <hujunw...@huawei.com>
> Jie Liu <liujie...@huawei.com>
> Qiang Ning <ningqia...@huawei.com>
> Zhiqiang Liu <liuzhiqian...@huawei.com>
> Miaohe Lin <linmia...@huawei.com>
> Wang Wang <wangwa...@huawei.com>
> Kang Zhou <zhouka...@huawei.com>
> Suanming Mou <mousuanm...@huawei.com>
>
> Hu Junwei is the one I see most active at the moment.
>
> Nokia:
> Tommi Rantala <tommi.t.rant...@nokia.com>
>
> Verizon:
> Amar Nv <amar...@in..verizon..com>
> Jayaraj Wilson, <jayaraj.wil...@in.verizon.com>
>
> Hewlett Packard Enterprise:
> <jonas.ar...@hpe.com>
>
> WindRiver:
> Ying Xue <ying....@windriver.com>
> He is my co-maintainer at netdev ans sourcefoge.
> Windriver has several products in the field based on TIPC, e.g. control 
> system for Sikorsky helicopters.
>
> Orange:
> Christophe JAILLET <christophe.jail...@wanadoo.fr>
>
> Redhat:
> The person contacting me to have TIPC integrated and maintained in RHEL-8.0 
> was
> Sirius Rayner-Karlsson <akarls...@redhat.com>
> He motivated it with a request from "a telco vendor", but I don't know which 
> one.
> Hence, TIPC is now integrated in and officially supported from RHEL 8.1
>
> ABB:
> https://new.abb.com/pl
> Mikolaj K. Chojnacki <mikolaj.k.chojna...@pl.abb.com>
> Krzysztof Rybak <krzysztof.ry...@pl.abb.com>
>
> Ericsson:
> All (dozens of) applications based on the TSP and Core Middleware/Components 
> Based Architecture (CMW/CBA) platforms is per definition based on TIPC. They 
> have not yet started to use TIPC on their Kubernetes based ADP platform, but 
> there is work ongoing on this.
>
> I also see numerous other people being active, from small (I believe) 
> companies, universities and private contributors. E.g.,
> Innovsys Inc  http://www.innovsys.com/innovsys/
> Allied Telesis https://www.alliedtelesis.com/
> Telaverge Communications http://www.telaverge.com/
> Ivan Serdyuk <local.tourist.k...@gmail.com> (seems to be responsible for the 
> ZeroMQ port of TIPC)
> John Hopkins University / Fast LTA, Munich <peter.hans.froehl...@gmail.com>
> Just to mention a few...
>
> TIPC is currently maintained jointly by Ericsson, WindRiver, Redhat, and the 
> Australian consulting company DEK Technologies https://www.dektech.com.au/
>
> Thanks
> Suresh
>
> _______________________________________________
> Int-area mailing list
> Int-area@ietf.org
> https://www.ietf.org/mailman/listinfo/int-area
>
>
>
> _______________________________________________
> Int-area mailing list
> Int-area@ietf.org
> https://www.ietf.org/mailman/listinfo/int-area
>
>
> _______________________________________________
> Int-area mailing list
> Int-area@ietf.org
> https://www.ietf.org/mailman/listinfo/int-area

_______________________________________________
Int-area mailing list
Int-area@ietf.org
https://www.ietf.org/mailman/listinfo/int-area

Reply via email to