Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 165409

Summary: IPv6 Support
Product: z_Archived Reporter: Kent D Siefkes <kdsiefke>
Component: TPTPAssignee: Stanislav Polevic <stanislav.v.polevic>
Status: CLOSED FIXED QA Contact:
Severity: enhancement    
Priority: P1 CC: analexee, chris.l.elford, dkhodges, igor.alelekov, jcayne, jgwest, jkubasta, jptoomey, Mikhail.Voronin, paulslau, samwai, tdarman
Version: unspecifiedKeywords: plan
Target Milestone: ---   
Hardware: PC   
OS: All   
URL: http://www.eclipse.org/tptp/groups/Architecture/documents/features/hf_165409.html
Whiteboard: closed460
Bug Depends on: 107432    
Bug Blocks:    
Deadline: 2007-06-30   
Attachments:
Description Flags
Feature design description
none
IPv6 Implementation
none
IPv6 - MS Scan + Linux/Windows Samples
none
Cross Platform IPv6 Sample Code
none
IPv6 Report + Code
none
IPv6 - New Socket Code.zip
none
IPv6 Design Review
none
Org.eclipse.hyades.execution - IPv6 Patch
none
Org.eclipse.tptp.platform.agentcontroller - IPv6 patch
none
Stanislav's Build Patch to TPTPClientCompTL
none
Fix broken compilation with Platform SDK headers stanislav.v.polevic: review?

Description Kent D Siefkes CLA 2006-11-21 22:52:19 EST
Support of Internet Protocol Version 6 (IPv6) for all socket communication functionality within TPTP, including UI for user input and display of the 128-bit IPv6 addresses.  See RFC2133 (basic socket interface extensions for IPv6) and RFC2292 (Advanced Sockets API for IPv6).

Note that support of IPv6 extends to multiple components, it is certainly not limited to Platform.Execution.  For example, the HTTP proxy recorder has already been written to support IPv6 (testing remains).
Comment 1 jkubasta CLA 2007-08-17 10:35:06 EDT
*** Bug 168772 has been marked as a duplicate of this bug. ***
Comment 2 jkubasta CLA 2007-08-30 15:10:31 EDT
Samson, sometime next week, would you please add a sizing and list of specific changes needed for this support?  Thanks.
Comment 3 jkubasta CLA 2007-10-10 10:35:52 EDT
Created attachment 80048 [details]
Feature design description
Comment 4 Paul Slauenwhite CLA 2007-10-21 20:34:35 EDT
Approved by the AG for TPTP 4.5 with the following comments:

-This feature should include the effort required for the Test Project as
well (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=107432).
-This feature will require a significant test effort (configuring a
network, executing TPTP test bucket on IPv4 and IPv6 networks).  The sizing
should be increased to 2 - 2.5 PW.
-The sizing does not include documentation, which is required due to UI
changes.
-What UI changes are required to support the display and input of IPv6
addresses?
-Sizings total 4 PW (not 5 PW).
Comment 5 Stanislav Polevic CLA 2008-01-17 09:43:44 EST
Retargeting this feature to i6 since since a additional effort required to configure IPv6 network.
Comment 6 Stanislav Polevic CLA 2008-02-21 10:49:23 EST
Estimation sizing for Agent controller server sockets and TPTP Execution framework implementation are 3-3.5 weeks.
Currently, I do not have enough expertise in Hyades component to estimate the required effort.
Comment 7 Jonathan West CLA 2008-02-21 14:00:26 EST
Hi Stanislav, a few questions: 
Can you note the code for which the estimate applies? For example, can you confirm that the estimate includes the backward compatibility layer (CCTL), and the Java/native TPTP execution framework code?
Also, which Hyades components are not included in the estimate?
And does the estimate include changes to the Eclipse TPTP workbench and UI, where required?
Thanks.

Comment 8 Stanislav Polevic CLA 2008-02-22 08:48:55 EST
(In reply to comment #7)
> Hi Stanislav, a few questions: 
> Can you note the code for which the estimate applies? For example, can you
> confirm that the estimate includes the backward compatibility layer (CCTL), and
> the Java/native TPTP execution framework code?

This estimate includes AC server sockets implementation (native part) and Execution Framework client sockets (Java part)

> Also, which Hyades components are not included in the estimate?

No Hyades components are estimated.

> And does the estimate include changes to the Eclipse TPTP workbench and UI,
> where required?

Do not estimate it too.


Comment 9 Jonathan West CLA 2008-02-29 13:35:13 EST
Created attachment 91219 [details]
IPv6 Implementation

In order to ensure that everyone is thinking along the same lines for a feature that will involve separate teams working on different interconnected components, I've posted a draft of the steps I'd suggest in this transition of our socket code to IPv6. 

I'd recommend taking a look and we can discuss any changes we'd like to make.

Also included is a list of Microsoft's recommendations for IPv6 native code changes, the division of tasks between IBM and Intel for C/C++ and Java, the MS IPv6 Tool scan output, sample code for IPv6, and some excellent reference URLs on the subject of IPv6 porting for both Linux and Windows.
Comment 10 Jonathan West CLA 2008-02-29 13:36:57 EST
Created attachment 91220 [details]
IPv6  - MS Scan + Linux/Windows Samples
Comment 11 Jonathan West CLA 2008-03-10 01:25:50 EDT
I've ported the Windows IPv6 Client/Server sample code to Linux. The same code now compiles and runs on both Linux and Windows. I've also rewritten the server code to be more in line with what we use in the AC (IE no select() calls). I've tested with IPv4 and IPv6 (on both systems) and they work fine. I'll post the code tomorrow (Monday).
Comment 12 Jonathan West CLA 2008-03-10 14:22:42 EDT
Created attachment 92067 [details]
Cross Platform IPv6 Sample Code

I'd recommend using this code as a reference for the IPv4/IPv6 work that will need to be done on the native side. The creation and listening on a server socket of Server.c, and the connection creation code of Client.c, for both Windows/Linux, is general enough that it can be adapted to serve as the basis for our native code changes. I've rewritten a few of the functions to that end.

I've included the build environment for both platforms: a VS2k3 project (/IPv6 in the ZIP file), and a simple Linux build script (build.sh in linux-ipv6.tar.gz of the ZIP file). While the two platforms are packaged separately in the ZIP file, the C code in each is exactly the same.

Finally, typing Server /? or Client /? on either OS will give you the available command line parameters for the sample code.
Comment 13 Jonathan West CLA 2008-04-15 01:35:10 EDT
Created attachment 96037 [details]
IPv6 Report + Code

Because Intel's mail system doesn't allow me to attach ZIP or HTML files (and who knows why), I've attached this here. Contents are currently in draft, and will be updated shortly when completed.
Comment 14 Igor Alelekov CLA 2008-04-15 01:50:37 EDT
You can attach a zip file with password set.
Comment 15 Jonathan West CLA 2008-04-16 23:53:14 EDT
Created attachment 96378 [details]
IPv6 - New Socket Code.zip

IPv4/IPv6 cross-platform client/server socket library. See IPv6 design review for details.
Comment 16 Jonathan West CLA 2008-04-16 23:55:37 EDT
Created attachment 96379 [details]
IPv6 Design Review

Blueprint for the remaining work to be completed on the agent controller, based on  AC design review.
Comment 17 Jonathan West CLA 2008-05-10 16:05:48 EDT
Created attachment 99618 [details]
Org.eclipse.hyades.execution - IPv6 Patch
Comment 18 Jonathan West CLA 2008-05-10 16:08:08 EDT
Created attachment 99619 [details]
Org.eclipse.tptp.platform.agentcontroller - IPv6 patch
Comment 19 Jonathan West CLA 2008-05-10 16:45:55 EDT
Created attachment 99622 [details]
Stanislav's Build Patch to TPTPClientCompTL
Comment 20 Jonathan West CLA 2008-05-11 21:54:04 EDT
Stanislav, Igor, or Alex: Can you review the code ASAP, so that we can check this patch in on Monday? Thanks!
Comment 21 Stanislav Polevic CLA 2008-05-12 11:58:14 EDT
Created attachment 99735 [details]
Fix broken compilation with Platform SDK headers

This patch fixes broken compilation of RASharedMemory component when Microsoft Platform SDK is used to build AC as required for IPv6 support.

Jonathan, please, review it.
Comment 22 Stanislav Polevic CLA 2008-05-12 11:59:09 EDT
Jonathan's patches look good.
Comment 23 Jonathan West CLA 2008-05-12 12:20:38 EDT
Stanislav, your patch is good.
Comment 24 Joel Cayne CLA 2008-05-13 11:53:08 EDT
Approved by PMC. Patch checked into HEAD.
Comment 25 Paul Slauenwhite CLA 2009-06-30 13:27:22 EDT
As of TPTP 4.6.0, TPTP is in maintenance mode and focusing on improving quality by resolving relevant enhancements/defects and increasing test coverage through test creation, automation, Build Verification Tests (BVTs), and expanded run-time execution. As part of the TPTP Bugzilla housecleaning process (see http://wiki.eclipse.org/Bugzilla_Housecleaning_Processes), this enhancement/defect is verified/closed by the Project Lead since this enhancement/defect has been resolved and unverified for more than 1 year and considered to be fixed. If this enhancement/defect is still unresolved and reproducible in the latest TPTP release (http://www.eclipse.org/tptp/home/downloads/), please re-open.
Comment 26 Paul Slauenwhite CLA 2009-06-30 13:46:02 EDT
As of TPTP 4.6.0, TPTP is in maintenance mode and focusing on improving quality by resolving relevant enhancements/defects and increasing test coverage through test creation, automation, Build Verification Tests (BVTs), and expanded run-time execution. As part of the TPTP Bugzilla housecleaning process (see http://wiki.eclipse.org/Bugzilla_Housecleaning_Processes), this enhancement/defect is verified/closed by the Project Lead since this enhancement/defect has been resolved and unverified for more than 1 year and considered to be fixed. If this enhancement/defect is still unresolved and reproducible in the latest TPTP release (http://www.eclipse.org/tptp/home/downloads/), please re-open.