====== An in-progress report about TCP-IP related test scenarios. ======
----
__**Project Status**__ - **Active**
**__Goal__ -** to share various aspects of TCP-IP encountered while constructing test scenarios for %%FreeBSD%% network stack's **//regression testing//** made during GSOC-2016.
----
===== TODO List =====
* TCP options establishment ✔
* Connection close ✔
* Adding support for IP based protocols, such as -
* DCCP
* SCTP ✔ (Was already done).
* Path MTU discovery. :!:
* Selective Acknowledgements.
* Blocking system calls. ✔
* Find a way of specifying the **window sizes of clients** in the best possible manner.
* Shutdown.
----
===== Weekly Updates =====
==== Week-1 ====
* **Scenario -** __TCP flags__
* The 5 tests for testing TCP flags are complete and have been merged into the main repository.
| [[https://github.com/shivrai/GoogleSummerOfCode-16/blob/master/gtests/net/packetdrill/tests/bsd/tcp/listen/listen-incoming-syn-ack.pkt|feat/listen-incoming-syn-ack]] | Merged ✔ |
| [[https://github.com/shivrai/GoogleSummerOfCode-16/blob/master/gtests/net/packetdrill/tests/bsd/tcp/listen/listen-incoming-syn-rst.pkt|feat/listen-incoming-syn-rst]] | Merged ✔ |
| [[https://github.com/shivrai/GoogleSummerOfCode-16/blob/master/gtests/net/packetdrill/tests/bsd/tcp/listen/listen-incoming-rst.pkt|feat/listen-incoming-rst]] | Merged ✔ |
| [[https://github.com/shivrai/GoogleSummerOfCode-16/blob/master/gtests/net/packetdrill/tests/bsd/tcp/listen/listen-incoming-no-tcp-flags.pkt|feat/listen-incoming-no-tcp-flags]] | Merged ✔ |
| [[https://github.com/shivrai/GoogleSummerOfCode-16/blob/master/gtests/net/packetdrill/tests/bsd/tcp/listen/listen-incoming-ack.pkt|feat/listen-incoming-ack]] | Merged ✔ |
==== Week-2 ====
* **Scenario -** [[SummerOfCode2016/TCP-IP-RegressionTestSuite/updates/ConnectionClose|Connection close]]
* The 3 tests for testing TCP connection close are complete and have been merged into the main repository.
| __feat/close-fin__ | Pull Request yet to be sent. :!: |
| __feat/close-read-data-fin__ | [[https://github.com/nplab/packetdrill/pull/112|Pull Request]] Pending :?: | Merged ✔ |
| __feat/close-unread-date-fin__ | [[https://github.com/nplab/packetdrill/pull/113|Pull Request]] Pending :?: | Merged ✔ |
==== Week-3 ====
* **Scenario -** __Blocking calls and ICMP__
* Unfortunately, I got to know late that **blocking calls are not supported in %%FreeBSD%%**. As a result, the test made for blocking-accept is useless as of now. \\ **UPDATE:** As pointed out by [[https://github.com/tuexen|Michael]], blocking calls are now working as of this [[https://github.com/nplab/packetdrill/commit/0b72293d1a22af11e46b89cd60e2c3f34377a4df|commit]], thanks to him :D
| __feat/blocking-accept__ | Check if it works :!: | [[https://github.com/nplab/packetdrill/pull/116|Pull Request]] Pending :?: | Merged ✔ |
* The test for testing handling of incoming ICMP packets. The pull request is yet to be merged.
| __feat/icmp__ | [[https://github.com/nplab/packetdrill/pull/115|Pull Request]] Pending :?: | Merged ✔ |
* **Tasks for next week**
* Test for **SACK** (Selective Acknowledgements). :!:
==== Week-4 ====
* [[SummerOfCode2016/TCP-IP-RegressionTestSuite/updates/week4|Summary]]
* **Scenario -** __PATH MTU Discovery__
==== Week-5 ====
* [[SummerOfCode2016/TCP-IP-RegressionTestSuite/updates/week5|Summary]]
* **Scenario -**
* __Blocking System Calls__
* __Shutdown__
| __feat/blocking-accept__ | [[https://github.com/nplab/packetdrill/pull/116|Pull Request]] Pending :?: | Merged ✔ |
| __feat/blocking-read__ | [[https://github.com/nplab/packetdrill/pull/117|Pull Request]] Pending :?: | Merged ✔ |
{{summerofcode2016/tcp-ip-regressiontestsuite/updates/report-1.pdf?linkonly|Report-1.pdf}}
==== Week-6 ====
* [[SummerOfCode2016/TCP-IP-RegressionTestSuite/updates/week6|Summary]]
* **Scenario -**
----
===== Author =====
[[/ShivanshRai|ShivanshRai]]