Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

net: add support for Read/WriteMsg{UDP,IP} on windows #9252

Closed
mikioh opened this issue Dec 11, 2014 · 8 comments
Closed

net: add support for Read/WriteMsg{UDP,IP} on windows #9252

mikioh opened this issue Dec 11, 2014 · 8 comments

Comments

@mikioh
Copy link
Contributor

mikioh commented Dec 11, 2014

Just not for routing/signalling protocols, some IP-level OAM functions such as ping, traceroute require this in some case.

@mikioh
Copy link
Contributor Author

mikioh commented Dec 11, 2014

@ianlancetaylor this must be labeled as repo-main, os-windows and helpwanted.

@alexbrainman
Copy link
Member

@mikioh, is there test I can run on windows to reproduce your issue? Thank you.

Alex

@mikioh
Copy link
Contributor Author

mikioh commented Dec 12, 2014

@alexbrainman, once you fill readmsg, writemsg in fd_windows.go, you can use a few test cases in protoconn_test.go for basic i/o ops. marshalling and parsing ancillary data stuff would be implemented into x/net/ipv4 and x/net/ipv6.

@mikioh mikioh changed the title net: add support for ReadMsg{UDP,UP} on windows net: add support for ReadMsg{UDP,IP} on windows Dec 13, 2014
@mikioh mikioh changed the title net: add support for ReadMsg{UDP,IP} on windows net: add support for Read/WriteMsg{UDP,IP} on windows Feb 10, 2015
@rsc rsc removed the os-windows label Apr 10, 2015
@rsc rsc added this to the Unplanned milestone Apr 10, 2015
@dyerti
Copy link

dyerti commented Feb 11, 2017

It looks like this hasn't been touched in a while. I'm going to take a stab at this. It's blocking #7175 with the lack of Readmsg/Writemsg for Windows.

It will take the same approach as syscall.ConnectEx.

@tmm1
Copy link
Contributor

tmm1 commented Apr 28, 2017

@dyerti How did it go? I'm also interested in helping make this happen.

@tmm1
Copy link
Contributor

tmm1 commented Nov 7, 2017

@alexbrainman @mikioh I've written a patch that implements readMsg/writeMsg using WSARecvMsg/WSASendMsg. The protoconn tests now pass on windows, but I could use some help with more testing and review. The patch is here: https://github.com/tmm1/go/compare/windows-sendrecvmsg

Once this patch is verified, the next step would be to implement control message marshaling in x/net/ipvX

@tmm1
Copy link
Contributor

tmm1 commented Nov 7, 2017

Good news, I was able to get ipv4 control messages working on Windows! Here's the patch to x/net which accompanies the above golang patch: https://github.com/tmm1/net/compare/windows-controlmsg

I still need to implement the equivalent patch for the ipv6 package.

tmm1 added a commit to tmm1/go that referenced this issue Nov 7, 2017
This means {Read,Write}Msg{UDP,IP} now work on windows.

Fixes golang#9252
tmm1 added a commit to tmm1/go that referenced this issue Nov 7, 2017
This means {Read,Write}Msg{UDP,IP} now work on windows.

Fixes golang#9252

Change-Id: Ifb105f9ad18d61289b22d7358a95faabe73d2d02
@gopherbot
Copy link

Change https://golang.org/cl/76393 mentions this issue: net: implement ReadMsg/WriteMsg on windows

tmm1 added a commit to tmm1/go that referenced this issue Nov 7, 2017
This means {Read,Write}Msg{UDP,IP} now work on windows.

Fixes golang#9252

Change-Id: Ifb105f9ad18d61289b22d7358a95faabe73d2d02
tmm1 added a commit to tmm1/go that referenced this issue Nov 8, 2017
This means {Read,Write}Msg{UDP,IP} now work on windows.

Fixes golang#9252

Change-Id: Ifb105f9ad18d61289b22d7358a95faabe73d2d02
tmm1 added a commit to tmm1/go that referenced this issue Nov 8, 2017
This means {Read,Write}Msg{UDP,IP} now work on windows.

Fixes golang#9252

Change-Id: Ifb105f9ad18d61289b22d7358a95faabe73d2d02
tmm1 added a commit to tmm1/go that referenced this issue Nov 8, 2017
This means {Read,Write}Msg{UDP,IP} now work on windows.

Fixes golang#9252

Change-Id: Ifb105f9ad18d61289b22d7358a95faabe73d2d02
tmm1 added a commit to tmm1/go that referenced this issue Nov 8, 2017
This means {Read,Write}Msg{UDP,IP} now work on windows.

Fixes golang#9252

Change-Id: Ifb105f9ad18d61289b22d7358a95faabe73d2d02
tmm1 added a commit to tmm1/go that referenced this issue Nov 8, 2017
This means {Read,Write}Msg{UDP,IP} now work on windows.

Fixes golang#9252

Change-Id: Ifb105f9ad18d61289b22d7358a95faabe73d2d02
tmm1 added a commit to tmm1/go that referenced this issue Nov 8, 2017
This means {Read,Write}Msg{UDP,IP} now work on windows.

Fixes golang#9252

Change-Id: Ifb105f9ad18d61289b22d7358a95faabe73d2d02
tmm1 added a commit to tmm1/go that referenced this issue Nov 8, 2017
This means {Read,Write}Msg{UDP,IP} now work on windows.

Fixes golang#9252

Change-Id: Ifb105f9ad18d61289b22d7358a95faabe73d2d02
tmm1 added a commit to tmm1/go that referenced this issue Nov 8, 2017
This means {Read,Write}Msg{UDP,IP} now work on windows.

Fixes golang#9252

Change-Id: Ifb105f9ad18d61289b22d7358a95faabe73d2d02
tmm1 added a commit to tmm1/go that referenced this issue Nov 8, 2017
This means {Read,Write}Msg{UDP,IP} now work on windows.

Fixes golang#9252

Change-Id: Ifb105f9ad18d61289b22d7358a95faabe73d2d02
tmm1 added a commit to tmm1/go that referenced this issue Nov 8, 2017
This means {Read,Write}Msg{UDP,IP} now work on windows.

Fixes golang#9252

Change-Id: Ifb105f9ad18d61289b22d7358a95faabe73d2d02
tmm1 added a commit to tmm1/go that referenced this issue Nov 8, 2017
This means {Read,Write}Msg{UDP,IP} now work on windows.

Fixes golang#9252

Change-Id: Ifb105f9ad18d61289b22d7358a95faabe73d2d02
tmm1 added a commit to tmm1/go that referenced this issue Nov 8, 2017
This means {Read,Write}Msg{UDP,IP} now work on windows.

Fixes golang#9252

Change-Id: Ifb105f9ad18d61289b22d7358a95faabe73d2d02
tmm1 added a commit to tmm1/go that referenced this issue Nov 8, 2017
This means {Read,Write}Msg{UDP,IP} now work on windows.

Fixes golang#9252

Change-Id: Ifb105f9ad18d61289b22d7358a95faabe73d2d02
tmm1 added a commit to tmm1/go that referenced this issue Nov 8, 2017
This means {Read,Write}Msg{UDP,IP} now work on windows.

Fixes golang#9252

Change-Id: Ifb105f9ad18d61289b22d7358a95faabe73d2d02
tmm1 added a commit to tmm1/go that referenced this issue Nov 8, 2017
This means {Read,Write}Msg{UDP,IP} now work on windows.

Fixes golang#9252

Change-Id: Ifb105f9ad18d61289b22d7358a95faabe73d2d02
tmm1 added a commit to tmm1/go that referenced this issue Nov 9, 2017
This means {Read,Write}Msg{UDP,IP} now work on windows.

Fixes golang#9252

Change-Id: Ifb105f9ad18d61289b22d7358a95faabe73d2d02
tmm1 added a commit to tmm1/go that referenced this issue Nov 9, 2017
This means {Read,Write}Msg{UDP,IP} now work on windows.

Fixes golang#9252

Change-Id: Ifb105f9ad18d61289b22d7358a95faabe73d2d02
tmm1 added a commit to tmm1/go that referenced this issue Nov 9, 2017
This means {Read,Write}Msg{UDP,IP} now work on windows.

Fixes golang#9252

Change-Id: Ifb105f9ad18d61289b22d7358a95faabe73d2d02
tmm1 added a commit to tmm1/go that referenced this issue Nov 10, 2017
This means {Read,Write}Msg{UDP,IP} now work on windows.

Fixes golang#9252

Change-Id: Ifb105f9ad18d61289b22d7358a95faabe73d2d02
@golang golang locked and limited conversation to collaborators Nov 10, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

7 participants