From: Leandro Lucarella <luca@llucax.com.ar>
To: Neil Horman <nhorman@tuxdriver.com>
Cc: David Miller <davem@davemloft.net>,
paul.gortmaker@windriver.com, jon.maloy@ericsson.com,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
tipc-discussion@lists.sourceforge.net
Subject: Re: Linux 2.6.35/TIPC 2.0 ABI breaking changes
Date: Wed, 20 Oct 2010 14:20:18 -0300 [thread overview]
Message-ID: <20101020172018.GN8781@llucax.com.ar> (raw)
In-Reply-To: <20101019201841.GC14410@hmsreliant.think-freely.org>
Neil Horman, el 19 de octubre a las 16:18 me escribiste:
> Heres what I have so far. Dave as a heads up please don't apply this
> yet. I'd like to go over it a bit more and be sure of the implications here
> before I post it for inclusion officially. I wanted Leandro to have a copy
> though so he could confirm functionality for us. Leandro, This patch lets me
> pass the tipc test code for TIPC 1.6 that you posted earlier this morning. If
> you could confirm that it works for you that would be grand. While your doing
> that, I want to read over the spec for TIPC and make sure that I'm not breaking
> anything new with this patch.
I tried the patch (swapping the values of TIPC_SUB_SERVICE and
TIPC_SUB_PORTS) based on 2.6.35.4 and it didn't worked. dmesg sais:
NOT Swapping endianess in subscr_subscribe
NOT Swapping endianess in subscr_subscribe
TIPC: Subscription rejected, illegal request
I tried with a binary compiled with an older tipc.h header, I didn't
tried to recompile it using the new tipc.h (on purpose as the thing that
should be fixed is backwards compatibility).
I've read the TIPC 2.0 specification[1] a little more, and as I see, the
subscription messages are not supposed to go through the wire[2].
8. Topology Service
TIPC provides a message-based mechanism for an application to
learn about the port names that are visible to its node. This is
achieved by communicating with a Topology Service that has
knowledge of the contents of the node's name table.
So, if the idea is to comply with TIPC 2.0, the topology service should
accept the new TIPC_SUB_SERVICE and TIPC_SUB_PORTS values (0 and
1 in NBO respectively), and all the fields in the subscr struct should
be filled in NBO too.
However, if the idea is to keep backwards compatibility too, HBO should
be accepted as well as the old TIPC_SUB_SERVICE and TIPC_SUB_PORTS
values (2 and 1 in HBO respectively).
The real problem is, we can't figure out the endianess of the subscr
struct because 0x0 is a valid filter in TIPC 2.0.
The only solution I see is to change the TIPC 2.0 specification (which
is a "work-in-progress") to make the topology service use the port name
{2,2}, leaving {1,1} for backwards compatibility. Then add the constants
TIPC_SUB_SERVICE2 (0) and TIPC_TOP_SRV2 (2), or similar, to use the TIPC
2.0 interface and leave TIPC_SUB_SERVICE and TIPC_TOP_SRV for the TIPC
1.x interface.
Another option is to change the TIPC 2.0 specification to use the old
format (use HBO in subscriptions and keep TIPC_SUB_SERVICE as a separate
flag with value 2) and forget about all this. After all, I can't see
what advantages gives having to change the BO for internal messages
between the applications and the stack.
[1] http://tipc.sourceforge.net/doc/draft-spec-tipc-06.html
[2] http://tipc.sourceforge.net/doc/draft-spec-tipc-06.html#anchor92
--
Leandro Lucarella (AKA luca) http://llucax.com.ar/
----------------------------------------------------------------------
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05)
----------------------------------------------------------------------
CARANCHO OBNUBILADO APARECE EN PARQUE CHACABUCO!
-- Crónica TV
WARNING: multiple messages have this Message-ID (diff)
From: Leandro Lucarella <luca@llucax.com.ar>
To: Neil Horman <nhorman@tuxdriver.com>
Cc: jon.maloy@ericsson.com, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org,
tipc-discussion@lists.sourceforge.net,
David Miller <davem@davemloft.net>
Subject: Re: Linux 2.6.35/TIPC 2.0 ABI breaking changes
Date: Wed, 20 Oct 2010 14:20:18 -0300 [thread overview]
Message-ID: <20101020172018.GN8781@llucax.com.ar> (raw)
In-Reply-To: <20101019201841.GC14410@hmsreliant.think-freely.org>
Neil Horman, el 19 de octubre a las 16:18 me escribiste:
> Heres what I have so far. Dave as a heads up please don't apply this
> yet. I'd like to go over it a bit more and be sure of the implications here
> before I post it for inclusion officially. I wanted Leandro to have a copy
> though so he could confirm functionality for us. Leandro, This patch lets me
> pass the tipc test code for TIPC 1.6 that you posted earlier this morning. If
> you could confirm that it works for you that would be grand. While your doing
> that, I want to read over the spec for TIPC and make sure that I'm not breaking
> anything new with this patch.
I tried the patch (swapping the values of TIPC_SUB_SERVICE and
TIPC_SUB_PORTS) based on 2.6.35.4 and it didn't worked. dmesg sais:
NOT Swapping endianess in subscr_subscribe
NOT Swapping endianess in subscr_subscribe
TIPC: Subscription rejected, illegal request
I tried with a binary compiled with an older tipc.h header, I didn't
tried to recompile it using the new tipc.h (on purpose as the thing that
should be fixed is backwards compatibility).
I've read the TIPC 2.0 specification[1] a little more, and as I see, the
subscription messages are not supposed to go through the wire[2].
8. Topology Service
TIPC provides a message-based mechanism for an application to
learn about the port names that are visible to its node. This is
achieved by communicating with a Topology Service that has
knowledge of the contents of the node's name table.
So, if the idea is to comply with TIPC 2.0, the topology service should
accept the new TIPC_SUB_SERVICE and TIPC_SUB_PORTS values (0 and
1 in NBO respectively), and all the fields in the subscr struct should
be filled in NBO too.
However, if the idea is to keep backwards compatibility too, HBO should
be accepted as well as the old TIPC_SUB_SERVICE and TIPC_SUB_PORTS
values (2 and 1 in HBO respectively).
The real problem is, we can't figure out the endianess of the subscr
struct because 0x0 is a valid filter in TIPC 2.0.
The only solution I see is to change the TIPC 2.0 specification (which
is a "work-in-progress") to make the topology service use the port name
{2,2}, leaving {1,1} for backwards compatibility. Then add the constants
TIPC_SUB_SERVICE2 (0) and TIPC_TOP_SRV2 (2), or similar, to use the TIPC
2.0 interface and leave TIPC_SUB_SERVICE and TIPC_TOP_SRV for the TIPC
1.x interface.
Another option is to change the TIPC 2.0 specification to use the old
format (use HBO in subscriptions and keep TIPC_SUB_SERVICE as a separate
flag with value 2) and forget about all this. After all, I can't see
what advantages gives having to change the BO for internal messages
between the applications and the stack.
[1] http://tipc.sourceforge.net/doc/draft-spec-tipc-06.html
[2] http://tipc.sourceforge.net/doc/draft-spec-tipc-06.html#anchor92
--
Leandro Lucarella (AKA luca) http://llucax.com.ar/
----------------------------------------------------------------------
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05)
----------------------------------------------------------------------
CARANCHO OBNUBILADO APARECE EN PARQUE CHACABUCO!
-- Crónica TV
------------------------------------------------------------------------------
Nokia and AT&T present the 2010 Calling All Innovators-North America contest
Create new apps & games for the Nokia N8 for consumers in U.S. and Canada
$10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing
Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store
http://p.sf.net/sfu/nokia-dev2dev
_______________________________________________
tipc-discussion mailing list
tipc-discussion@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tipc-discussion
next prev parent reply other threads:[~2010-10-20 17:20 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20100927163823.GD2834@integratech.com.ar>
[not found] ` <29C1DC0826876849BDD9F1C67ABA2943090B67EC@ala-mail09.corp.ad.wrs.com>
[not found] ` <20100929153805.GG2834@integratech.com.ar>
[not found] ` <29C1DC0826876849BDD9F1C67ABA29430914AC18@ala-mail09.corp.ad.wrs.com>
[not found] ` <20101001150034.GS8781@llucax.com.ar>
[not found] ` <0434463FDA60A94FA978ACA44617682DEE843EDD79@EUSAACMS0702.eamcs.ericsson.se>
[not found] ` <20101001162346.GV8781@llucax.com.ar>
[not found] ` <4CA69F18.7000005@amln.net>
[not found] ` <0434463FDA60A94FA978ACA44617682DEE8446A03B@EUSAACMS0702.eamcs.ericsson.se>
2010-10-18 15:04 ` Linux 2.6.35/TIPC 2.0 ABI breaking changes [was: TIPC 2.0 and TIPC_SUB_SERVICE] Leandro Lucarella
2010-10-18 15:04 ` Leandro Lucarella
2010-10-18 18:46 ` Leandro Lucarella
2010-10-18 18:46 ` Leandro Lucarella
2010-10-18 20:42 ` Paul Gortmaker
2010-10-18 22:17 ` Linux 2.6.35/TIPC 2.0 ABI breaking changes David Miller
2010-10-18 23:11 ` Paul Gortmaker
2010-10-18 23:38 ` Leandro Lucarella
2010-10-18 23:38 ` Leandro Lucarella
2010-10-18 23:45 ` Neil Horman
2010-10-18 23:45 ` Neil Horman
2010-10-19 2:16 ` Leandro Lucarella
2010-10-19 8:16 ` David Miller
2010-10-19 11:04 ` Neil Horman
2010-10-19 11:04 ` Neil Horman
2010-10-19 11:06 ` David Miller
2010-10-19 13:19 ` Leandro Lucarella
2010-10-19 13:19 ` Leandro Lucarella
2010-10-19 13:28 ` Neil Horman
2010-10-19 13:28 ` Neil Horman
2010-10-19 20:18 ` Neil Horman
2010-10-19 20:18 ` Neil Horman
2010-10-19 20:43 ` Leandro Lucarella
2010-10-19 22:03 ` Leandro Lucarella
2010-10-19 22:03 ` Leandro Lucarella
2010-10-20 17:20 ` Leandro Lucarella [this message]
2010-10-20 17:20 ` Leandro Lucarella
2010-10-20 17:57 ` Jon Maloy
2010-10-20 17:57 ` Jon Maloy
2010-10-20 18:04 ` Neil Horman
2010-10-20 18:04 ` Neil Horman
2010-10-20 18:10 ` Jon Maloy
2010-10-20 18:10 ` Jon Maloy
2010-10-20 18:28 ` Leandro Lucarella
2010-10-20 18:28 ` Leandro Lucarella
2010-10-20 19:23 ` Leandro Lucarella
2010-10-20 19:23 ` Leandro Lucarella
2010-10-20 22:59 ` Leandro Lucarella
2010-10-20 22:59 ` Leandro Lucarella
2010-10-20 18:24 ` Leandro Lucarella
2010-10-20 18:37 ` Jon Maloy
2010-10-20 18:37 ` Jon Maloy
2010-10-20 18:44 ` Leandro Lucarella
2010-10-20 18:44 ` Leandro Lucarella
2010-10-20 17:57 ` Neil Horman
2010-10-18 23:58 ` Alan Cox
2010-10-20 1:09 nhorman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20101020172018.GN8781@llucax.com.ar \
--to=luca@llucax.com.ar \
--cc=davem@davemloft.net \
--cc=jon.maloy@ericsson.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=nhorman@tuxdriver.com \
--cc=paul.gortmaker@windriver.com \
--cc=tipc-discussion@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.