[PATCH 0/25] Towards CCID3/CCID4 code integration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Gerrit,
   based on conversations with you, Arnaldo and Ian, please consider the following patches related to ccid-4 initial implementation and code share with ccid-3. Also, please reset the ccid4 branch to have the latest dccp branch code before apply these patches series. It would be interesting if you merge the patches related to code share between ccid-3 and ccid-4 into the dccp branch to eliminate some of our job and reduce (or even avoid) code repetition, in case that ccid-3 is changed.
   Some considerations about the criterious that I used to share a function/struct/consts between ccid-3 and ccid-4. This set of patches also consider your comments about use tfrc_xxx rather than tfrc_xxx.

1 - Certify whether the function is common (checking just the functions in ccid-4 copied from ccid-3);

2 - Certify whether both functions (in ccid-3 and ccid-4) still common; (Me or Tommi can already changed it for ccid-4)

3 - Certify whether the both functions doesn't call a ccid specific function;
    i.e: ccid3_hc_tx_packet_sent could be shared, but it calls ccid3_hc_tx_update_s, which is a ccid-3 specific function. Then ccid3_hc_tx_packet_sent is not a candidate to be shared between ccid-{3/4}.
    i.e: ccid3_hc_rx_packet_recv
    i.e: ccid3_hc_rx_insert_options

4 - Certify whether the function has a low probability to be changed for ccid-4 implementation in the future;
    i.e 1: Albeit ccid3_hc_tx_send_packet could be common, ccid-4 will probably have a particular way to decide when send a packet
    i.e 2: ccid4_first_li will certainly change because the short loss interval length is calculated as N/K, instead of using just N (ccid3_first_li).
    i.e 3: ccid3_hc_tx_parse_options could be common, but until the IETF folks do not decide if DROPPED_PACKET_OPTION will be into the ccid-3, I decided to NOT share it.

5 - Common sense: functions such as ccid3_hc_tx_init and ccid3_hc_tx_exit are very particular, probably we will want to have specific procedures to go into ccid-3, different to ccid-4 and vice-versa.

Patch #1: [CCID-4] Changes to Kconfig and Makefile to add ccid-4 code;
Patch #2: [CCID-4] New ccid-4 based on ccid-3 source code;
Patch #3: [CCID-4] Adjustments of the ccid-4 copyright and kernel module authors;
Patch #4: [CCID-4] Set packet size to 1460 as per ccid-4 draft;
Patch #5: [CCID-4] Enforces a minimum interval of 10 milliseconds as per CCID-4 draft;
Patch #6: [CCID-4] Reduce allowed sending rate by a factor that accounts for packet header size;
Patch #7: [CCID-3/4] Initial lib for sharing common code between ccid-3/ccid-4;
Patch #8: [CCID-3/4] Share common header files and defines between ccid-3/ccid-4;
Patch #9: [CCID-4] Adapt CCID-4 according to the latest changes to CCID-3;
Patch #10: [CCID-3/4] Share ccid-3 options enum and struct via tfrc_ccids;
Patch #11: [CCID-3/4] Share TFRC sender states via tfrc_ccids;
Patch #12: [CCID-3/4] Share TFRC receiver states via tfrc_ccids;
Patch #13: [CCID-3/4] Share TFRC feedback types struct via tfrc_ccids;
Patch #14: [CCID-4] Basic implementation for ccid-4 dropped packet option as per ccid-4 draft;
Patch #15: [CCID-3/4] Share ccid3_hc_tx_sock struct and ccid3_hc_tx_sk function via tfrc_ccids;
Patch #16: [CCID-3/4] Share ccid3_hc_rx_sock and ccid3_hc_rx_sk via tfrc_ccids;
Patch #17: [CCID-3/4] Share ccid3_tx_state_name function via tfrc_ccids;
Patch #18: [CCID-3/4] Share rfc3390_initial_rate function via tfrc_ccids;
Patch #19: [CCID-3/4] Share ccid3_hc_tx_idle_rtt function via tfrc_ccids;
Patch #20: [CCID-3/4] Share ccid3_hc_tx_update_win_count function via tfrc_ccids;
Patch #21: [CCID-3/4] Share ccid3_rx_state_name function via tfrc_ccids;
Patch #22: [DCCP] Minor adjustments to probe.c to use tfrc_ccids;
Patch #23: [CCID-4] Include ccid-4 to be visible for the DCCP feature negotiation mechanism;
Patch #24: [DCCP] Final adjustments to probe.c to use tfrc_ccids;
Patch #25: [CCID-3/4] Final adjustments to ccid3.c, ccid4.c and lib/tfrc_ccids.c.

Leandro.
-
To unsubscribe from this list: send the line "unsubscribe dccp" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [IETF DCCP]     [Linux Networking]     [Git]     [Security]     [Linux Assembly]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux