Discussion:
IPv6 Address
MohammadReza
2012-03-09 09:23:24 UTC
Permalink
I browsed entire solution and i found IPv4 Classes in :
source2\Kernel\System\Cosmos.System -> Network -> IPv4

can i work on IPv6 ?
I created IPv6 Address Class. I'm not able to test this code in cosmos, i create new project and tested it, it's working fine.

should i move forward? complete Address.cs Class and create IPv6 version of 'ARPPacket_Ethernet.cs, Config.cs, ICMPPacket.cs ...' files ?

Here is the code :
http://pastebin.com/7SbE11P8

Screenshot:
http://ge.tt/1qHj7mE/v/0?c
CRAIG ADAMS
2012-03-09 11:12:49 UTC
Permalink
Hi

I just look at you code. Cannot see any problem.

I do not see the needed for network at this time as they a lot of other
things that are needed to be done a lot more.

The same for non-Basic *graphics.*

I would say why not carry one, but I would wait to see what the other think
first.

- Craig Adams
Sebastian Schocke
2012-03-10 06:57:44 UTC
Permalink
If you want to tackle this, feel free. I am not so well schooled in IPv6 as I am in IPv4, so any help would be appreciated.

The basic idea would be to detect an IPv6 packet in NetworkStack.cs where we receive the raw EthernetFrame, and then pass it on to the IPv6 classes to manage the rest.

Also, you would have to write an OutgoingBuffer class for IPv6, to handle the sending of IPv6 packets, and then update NetworkStack.Update() method to call the outgoing buffer.

Let me know if you do start this, then we can chat and I can try and get you going.

----- Original Message -----
From: "MohammadReza" <taesiri-***@public.gmane.org>
To: Cosmos-Dev-***@public.gmane.org
Sent: Friday, March 9, 2012 11:23:24 AM
Subject: [Cosmos-Dev] IPv6 Address






I browsed entire solution and i found IPv4 Classes in :
source2\Kernel\System\Cosmos.System -> Network -> IPv4

can i work on IPv6 ?
I created IPv6 Address Class. I'm not able to test this code in cosmos, i create new project and tested it, it's working fine.

should i move forward? complete Address.cs Class and create IPv6 version of 'ARPPacket_Ethernet.cs, Config.cs, ICMPPacket.cs ...' files ?

Here is the code :
http://pastebin.com/7SbE11P8

Screenshot:
http://ge.tt/1qHj7mE/v/0?c
MohammadReza
2012-03-10 13:33:24 UTC
Permalink
personally i never had experience with ipv6 before,but i thought maybe you guys want add ipv6 support, i collect some references (RFCs and PDFs) from internet. i can work on ipv6 but if it's not necessary (as Craig Adams said) its better for me to work on something else!

I'm kinda disappointed ...
Post by Sebastian Schocke
If you want to tackle this, feel free. I am not so well schooled in IPv6 as I am in IPv4, so any help would be appreciated.
The basic idea would be to detect an IPv6 packet in NetworkStack.cs where we receive the raw EthernetFrame, and then pass it on to the IPv6 classes to manage the rest.
Also, you would have to write an OutgoingBuffer class for IPv6, to handle the sending of IPv6 packets, and then update NetworkStack.Update() method to call the outgoing buffer.
Let me know if you do start this, then we can chat and I can try and get you going.
----- Original Message -----
Sent: Friday, March 9, 2012 11:23:24 AM
Subject: [Cosmos-Dev] IPv6 Address
source2\Kernel\System\Cosmos.System -> Network -> IPv4
can i work on IPv6 ?
I created IPv6 Address Class. I'm not able to test this code in cosmos, i create new project and tested it, it's working fine.
should i move forward? complete Address.cs Class and create IPv6 version of 'ARPPacket_Ethernet.cs, Config.cs, ICMPPacket.cs ...' files ?
http://pastebin.com/7SbE11P8
http://ge.tt/1qHj7mE/v/0?c
Matthijs ter Woord
2012-03-10 15:43:32 UTC
Permalink
Disappointed, why?
Post by MohammadReza
personally i never had experience with ipv6 before,but i thought maybe you
guys want add ipv6 support, i collect some references (RFCs and PDFs) from
internet. i can work on ipv6 but if it's not necessary (as Craig Adams
said) its better for me to work on something else!
I'm kinda disappointed ...
Post by Sebastian Schocke
If you want to tackle this, feel free. I am not so well schooled in IPv6
as I am in IPv4, so any help would be appreciated.
Post by Sebastian Schocke
The basic idea would be to detect an IPv6 packet in NetworkStack.cs
where we receive the raw EthernetFrame, and then pass it on to the IPv6
classes to manage the rest.
Post by Sebastian Schocke
Also, you would have to write an OutgoingBuffer class for IPv6, to
handle the sending of IPv6 packets, and then update NetworkStack.Update()
method to call the outgoing buffer.
Post by Sebastian Schocke
Let me know if you do start this, then we can chat and I can try and get
you going.
Post by Sebastian Schocke
----- Original Message -----
Sent: Friday, March 9, 2012 11:23:24 AM
Subject: [Cosmos-Dev] IPv6 Address
source2\Kernel\System\Cosmos.System -> Network -> IPv4
can i work on IPv6 ?
I created IPv6 Address Class. I'm not able to test this code in cosmos,
i create new project and tested it, it's working fine.
Post by Sebastian Schocke
should i move forward? complete Address.cs Class and create IPv6 version
of 'ARPPacket_Ethernet.cs, Config.cs, ICMPPacket.cs ...' files ?
Post by Sebastian Schocke
http://pastebin.com/7SbE11P8
http://ge.tt/1qHj7mE/v/0?c
------------------------------------
--------------------------------------------------
More things to join for Cosmos!
http://tinyurl.com/pc7bds
http://tinyurl.com/qhttde
http://tinyurl.com/plrloa
--------------------------------------------------
Yahoo! Groups Links
Sebastian Schocke
2012-03-10 20:03:18 UTC
Permalink
Not necessary is a bit presumptuous in my opinion.... Let me explain why

Currently, there are people working on all kinds of parts of Cosmos. To many, GUI is completely irrelevant... Yet there are people working almost exclusively for that. Support for resolutions above 320x200 was seen as completely unnecessary, yet someone wrote a VMWare SVGA driver and now we support massive resolutions.... And, there are tons of people happy and excited about it.

There are lots of people screaming for Filesystem support, yet it is completely unnecessary in my opinion. At least, until we have processes, threads and memory management sorted out.

So who is to say IPv6 support is unnecessary. Maybe to Craig Adams it is, but to the guy envisioning writing an embedded internet router running on Cosmos, IPv6 is sure as hell important.

So in short, if you want to work on it, and it excites you, do it. Even if the entire thing gets rewritten when threading and memory management are in place, at least there is a base, and an understanding from the code how to handle the protocol.

In the end, if I can run a web server on Cosmos, and it supports both IPv4 and IPv6, I am going to be happier than only IPv4 support.

----- Original Message -----
From: "MohammadReza" <taesiri-***@public.gmane.org>
To: Cosmos-Dev-***@public.gmane.org
Sent: Saturday, March 10, 2012 3:33:24 PM
Subject: [Cosmos-Dev] Re: IPv6 Address

personally i never had experience with ipv6 before,but i thought maybe you guys want add ipv6 support, i collect some references (RFCs and PDFs) from internet. i can work on ipv6 but if it's not necessary (as Craig Adams said) its better for me to work on something else!

I'm kinda disappointed ...
Post by Sebastian Schocke
If you want to tackle this, feel free. I am not so well schooled in IPv6 as I am in IPv4, so any help would be appreciated.
The basic idea would be to detect an IPv6 packet in NetworkStack.cs where we receive the raw EthernetFrame, and then pass it on to the IPv6 classes to manage the rest.
Also, you would have to write an OutgoingBuffer class for IPv6, to handle the sending of IPv6 packets, and then update NetworkStack.Update() method to call the outgoing buffer.
Let me know if you do start this, then we can chat and I can try and get you going.
----- Original Message -----
Sent: Friday, March 9, 2012 11:23:24 AM
Subject: [Cosmos-Dev] IPv6 Address
source2\Kernel\System\Cosmos.System -> Network -> IPv4
can i work on IPv6 ?
I created IPv6 Address Class. I'm not able to test this code in cosmos, i create new project and tested it, it's working fine.
should i move forward? complete Address.cs Class and create IPv6 version of 'ARPPacket_Ethernet.cs, Config.cs, ICMPPacket.cs ...' files ?
http://pastebin.com/7SbE11P8
http://ge.tt/1qHj7mE/v/0?c
Matthijs ter Woord
2012-03-11 08:34:25 UTC
Permalink
Many things will need changes (minor or major) once processes/threading is
working. But implementing threading/process/memory management (GC) needs
some major compiler adjustments (and in general a stable compiler). For
this we need some good showcases of what currently can be done. For this,
networking, vmware svga et al are good things. (And they provide some for
of awesomeness of course..)
Post by Sebastian Schocke
Not necessary is a bit presumptuous in my opinion.... Let me explain why
Currently, there are people working on all kinds of parts of Cosmos. To
many, GUI is completely irrelevant... Yet there are people working almost
exclusively for that. Support for resolutions above 320x200 was seen as
completely unnecessary, yet someone wrote a VMWare SVGA driver and now we
support massive resolutions.... And, there are tons of people happy and
excited about it.
There are lots of people screaming for Filesystem support, yet it is
completely unnecessary in my opinion. At least, until we have processes,
threads and memory management sorted out.
So who is to say IPv6 support is unnecessary. Maybe to Craig Adams it is,
but to the guy envisioning writing an embedded internet router running on
Cosmos, IPv6 is sure as hell important.
So in short, if you want to work on it, and it excites you, do it. Even if
the entire thing gets rewritten when threading and memory management are in
place, at least there is a base, and an understanding from the code how to
handle the protocol.
In the end, if I can run a web server on Cosmos, and it supports both IPv4
and IPv6, I am going to be happier than only IPv4 support.
----- Original Message -----
Sent: Saturday, March 10, 2012 3:33:24 PM
Subject: [Cosmos-Dev] Re: IPv6 Address
personally i never had experience with ipv6 before,but i thought maybe you
guys want add ipv6 support, i collect some references (RFCs and PDFs) from
internet. i can work on ipv6 but if it's not necessary (as Craig Adams
said) its better for me to work on something else!
I'm kinda disappointed ...
Post by Sebastian Schocke
If you want to tackle this, feel free. I am not so well schooled in IPv6
as I am in IPv4, so any help would be appreciated.
Post by Sebastian Schocke
The basic idea would be to detect an IPv6 packet in NetworkStack.cs
where we receive the raw EthernetFrame, and then pass it on to the IPv6
classes to manage the rest.
Post by Sebastian Schocke
Also, you would have to write an OutgoingBuffer class for IPv6, to
handle the sending of IPv6 packets, and then update NetworkStack.Update()
method to call the outgoing buffer.
Post by Sebastian Schocke
Let me know if you do start this, then we can chat and I can try and get
you going.
Post by Sebastian Schocke
----- Original Message -----
Sent: Friday, March 9, 2012 11:23:24 AM
Subject: [Cosmos-Dev] IPv6 Address
source2\Kernel\System\Cosmos.System -> Network -> IPv4
can i work on IPv6 ?
I created IPv6 Address Class. I'm not able to test this code in cosmos,
i create new project and tested it, it's working fine.
Post by Sebastian Schocke
should i move forward? complete Address.cs Class and create IPv6 version
of 'ARPPacket_Ethernet.cs, Config.cs, ICMPPacket.cs ...' files ?
Post by Sebastian Schocke
http://pastebin.com/7SbE11P8
http://ge.tt/1qHj7mE/v/0?c
------------------------------------
--------------------------------------------------
More things to join for Cosmos!
http://tinyurl.com/pc7bds
http://tinyurl.com/qhttde
http://tinyurl.com/plrloa
--------------------------------------------------
Yahoo! Groups Links
MohammadReza
2012-03-11 21:12:18 UTC
Permalink
thanks everyone! I'm kinda agree with all of you! I don't know what to do FIRST! btw, I started learning OS Developing from http://www.brokenthorn.com/Resources/OSDevIndex.html
I think it's a good resource.

@ Sebastian, I'll work on networking. thanks for the details (on classes) and support!
Post by Matthijs ter Woord
Many things will need changes (minor or major) once processes/threading is
working. But implementing threading/process/memory management (GC) needs
some major compiler adjustments (and in general a stable compiler). For
this we need some good showcases of what currently can be done. For this,
networking, vmware svga et al are good things. (And they provide some for
of awesomeness of course..)
Post by Sebastian Schocke
Not necessary is a bit presumptuous in my opinion.... Let me explain why
Currently, there are people working on all kinds of parts of Cosmos. To
many, GUI is completely irrelevant... Yet there are people working almost
exclusively for that. Support for resolutions above 320x200 was seen as
completely unnecessary, yet someone wrote a VMWare SVGA driver and now we
support massive resolutions.... And, there are tons of people happy and
excited about it.
There are lots of people screaming for Filesystem support, yet it is
completely unnecessary in my opinion. At least, until we have processes,
threads and memory management sorted out.
So who is to say IPv6 support is unnecessary. Maybe to Craig Adams it is,
but to the guy envisioning writing an embedded internet router running on
Cosmos, IPv6 is sure as hell important.
So in short, if you want to work on it, and it excites you, do it. Even if
the entire thing gets rewritten when threading and memory management are in
place, at least there is a base, and an understanding from the code how to
handle the protocol.
In the end, if I can run a web server on Cosmos, and it supports both IPv4
and IPv6, I am going to be happier than only IPv4 support.
----- Original Message -----
Sent: Saturday, March 10, 2012 3:33:24 PM
Subject: [Cosmos-Dev] Re: IPv6 Address
personally i never had experience with ipv6 before,but i thought maybe you
guys want add ipv6 support, i collect some references (RFCs and PDFs) from
internet. i can work on ipv6 but if it's not necessary (as Craig Adams
said) its better for me to work on something else!
I'm kinda disappointed ...
Post by Sebastian Schocke
If you want to tackle this, feel free. I am not so well schooled in IPv6
as I am in IPv4, so any help would be appreciated.
Post by Sebastian Schocke
The basic idea would be to detect an IPv6 packet in NetworkStack.cs
where we receive the raw EthernetFrame, and then pass it on to the IPv6
classes to manage the rest.
Post by Sebastian Schocke
Also, you would have to write an OutgoingBuffer class for IPv6, to
handle the sending of IPv6 packets, and then update NetworkStack.Update()
method to call the outgoing buffer.
Post by Sebastian Schocke
Let me know if you do start this, then we can chat and I can try and get
you going.
Post by Sebastian Schocke
----- Original Message -----
Sent: Friday, March 9, 2012 11:23:24 AM
Subject: [Cosmos-Dev] IPv6 Address
source2\Kernel\System\Cosmos.System -> Network -> IPv4
can i work on IPv6 ?
I created IPv6 Address Class. I'm not able to test this code in cosmos,
i create new project and tested it, it's working fine.
Post by Sebastian Schocke
should i move forward? complete Address.cs Class and create IPv6 version
of 'ARPPacket_Ethernet.cs, Config.cs, ICMPPacket.cs ...' files ?
Post by Sebastian Schocke
http://pastebin.com/7SbE11P8
http://ge.tt/1qHj7mE/v/0?c
------------------------------------
--------------------------------------------------
More things to join for Cosmos!
http://tinyurl.com/pc7bds
http://tinyurl.com/qhttde
http://tinyurl.com/plrloa
--------------------------------------------------
Yahoo! Groups Links
Chad Z. Hower aka Kudzu
2012-03-12 14:46:02 UTC
Permalink
Post by Sebastian Schocke
So in short, if you want to work on it, and it excites you, do it. Even
if the entire thing gets rewritten when threading and memory management
are in place, at least there is a base, and an understanding from the
code how to handle the protocol.
In the end, if I can run a web server on Cosmos, and it supports both
IPv4 and IPv6, I am going to be happier than only IPv4 support.
FWIW, I agree. No one is every going to ban anyone from working on
anything. My message was simply to say that Id rather see a more
functional IP4 stack than a minimally functional IP4+6 stack.

CRAIG ADAMS
2012-03-10 16:54:21 UTC
Permalink
Hi

It may not be necessary but if you really what to do then do it.,

it be a nice function for later on.
Continue reading on narkive:
Loading...