.:: About
PortToIPv6 is an opensource framework that attempts to automate the porting process of applications written in IPv4 to IPv6. It consists of a number of tools able to breakdown the porting process into two distinct phases of IPv4 code identification and IPv6 code generation. The main objective of the framework is to amplify and accelerate the application-porting process during the transition period.
.:: PortToIPv6
PortToIPv6 is written in C++ and Flex and provides currently a minimal and simple API to the user. Giving the option to use regular expressions to describe pattern matching rules it is easy to add support for various IPv4 APIs in different programming languages. Existing rules support only the C/C++ programming languages for the identification of BSD Sockets and Microsoft Windows Winsock APIs. Hopefully, more to come in the future. PortToIPv6 consists of the following tools:
- MOS: MOS stands for Meta Object Scanner. It is a scanner able to scan and modify mos files. Mos files includes the PortToIPv6 Frameworks' IPv4Scanner engine and a number of external files in which patterns are described.
- IPv4Scanner: It is a scanner able to identify IPv4 centric patterns. Some of its current main features are:
- Export IPv4 centric data into XML format.
- Identify the type of data being parsed.
- Make use of user defined stylesheets (XSL) for XML files.
- Able to identify and exclude from scanning portions of code that are comments.
- Support of illimitably APIs. Currently implemented APIs are BSD and Winsock.
- IPv6cg: It is a code generation tool, able to combine the IPv4 centric information extracted by IPv4Scanner and the original IPv4 code in order to create an IPv6 version of the given source code. Ipv6cg is currently making use of guidelines as described in RFC-2133. Current mappers support porting of BSD sockets and Winsock.
.:: Install
PortToIPv6 Framework has been implemented in Debian GNU/Linux.
Linux
In order to install PortToIPv6 simply execute "./install.sh" from a shell.
Linux version of PortToIPv6 has been built and tested with g++ (GCC) 4.1.2 and flex++ version 2.5.33.
Windows
Unzip the zip file. The executables can be run directly from command line.
Windows version of PortToIPv6 has been built and tested with cygwin g++ (GCC) 3.4.4 and flex++ version 2.5.4.
Zip file includes cygwin1.dll version 1.5.24.
.:: Tutorials
Title: A very short porting tutorial using PortToIPv6 Framework.
Description: Describes the porting of a simple client/server echo application using PortToIPv6.
Filename: [Tutorial01.pdf]
.:: Contact
In case you want to report a bug or make a suggestion for a future release, please use the Tracker system.
For anything else (i.e. e-mail me your impressions)
feel free to contact me.
email: agouglidis AT gmail DOT com