Comments (4)
Hmm, looks wrong to me. @hbhasker, thoughts?
from netstack.
For reference, this was added in 9527cbd#diff-04661a3cf15a0f0b7871767d7208e024R273
from netstack.
This is correct. What this is doing is scaling the window if window scaling was enabled. This basically stores the send window based on the advertised window in the last ack of the TCP handshake.
See from rfc 1323.
The window field (SEG.WND) in the header of every incoming
segment, with the exception of SYN segments, is left-shifted
by Snd.Wind.Scale bits before updating SND.WND:
SND.WND = SEG.WND << Snd.Wind.Scale
(assuming the other conditions of RFC793 are met, and using
the "C" notation "<<" for left-shift).
from netstack.
Oh yes, you are right!
from netstack.
Related Issues (20)
- Empty tcpip/transport/udp/udp_packet_list.go HOT 4
- tcp.handshake.synSentState() may have logical problems HOT 2
- tcpip/seqnum/LessThan has a math calculation bug. HOT 6
- Question: Receiving Packets as different segments HOT 2
- `go get` is broken since cdd605f5e2f5158c8d3f8f752cba0a53b0aac4ec HOT 1
- MultiPath TCP support HOT 1
- Not able to complile sample HOT 5
- Netstack vs Linux network stack HOT 10
- ICMPv4 EchoReply packet's checksum is wrong HOT 1
- udp.ForwarderRequest.CreateEndpoint doesn't set endpoint.effectiveNetProtos HOT 1
- How can I use the CreateNIC function HOT 2
- Force runtime to use custom Conn from netstack HOT 9
- this is test
- Data race between RemoveAddress() and WritePacket() HOT 1
- cannot receive nonzerowindow ack
- The window scale question HOT 1
- Compilation fails on 32-bit systems.
- Possible incorrect TCP Flag SYN processing
- Windows 10 support
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from netstack.