action.yml 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. name: 'Setup Networking Options'
  2. description: 'Set up kernel configuration fragment with required options'
  3. inputs:
  4. version:
  5. description: 'Kernel config version (e.g., android15-6.6)'
  6. required: true
  7. kernel_version:
  8. description: 'Kernel version (e.g., 6.1)'
  9. required: true
  10. android_version:
  11. description: 'Android version (e.g., android14)'
  12. required: true
  13. sublevel:
  14. description: 'Kernel sublevel'
  15. required: true
  16. runs:
  17. using: "composite"
  18. steps:
  19. - name: 'Apply BBRv3'
  20. shell: bash
  21. if: true
  22. working-directory: ${{ github.workspace }}/kernel/common
  23. run: |
  24. set -euo pipefail
  25. if [[ ${{ inputs.version }} == "android16-6.12" ]]; then
  26. cp "${{ github.workspace }}/kernel_patches/common/bbrv3/0001-net-tcp-backport-BBRv3-to-android15-6.6.patch" temp.patch
  27. #patch -p1 -F 3 < temp.patch
  28. rm temp.patch
  29. elif [[ ${{ inputs.version }} == "android15-6.6" ]]; then
  30. cp "${{ github.workspace }}/kernel_patches/common/bbrv3/0001-net-tcp-backport-BBRv3-to-android15-6.6.patch" temp.patch
  31. patch -p1 -F 3 < temp.patch
  32. rm temp.patch
  33. elif [[ ${{ inputs.version }} == "android14-6.1" ]]; then
  34. cp "${{ github.workspace }}/kernel_patches/common/bbrv3/0001-net-tcp-backport-BBRv3-to-android14-6.1.patch" temp.patch
  35. patch -p1 -F 3 < temp.patch
  36. rm temp.patch
  37. elif [[ ${{ inputs.version }} == "android14-5.15" ]]; then
  38. cp "${{ github.workspace }}/kernel_patches/common/bbrv3/0001-net-tcp-backport-BBRv3-to-android13-5.15.patch" temp.patch
  39. patch -p1 -F 3 < temp.patch
  40. rm temp.patch
  41. elif [[ ${{ inputs.version }} == "android13-5.15" && ${{ inputs.sublevel }} -ge "74" ]]; then
  42. cp "${{ github.workspace }}/kernel_patches/common/bbrv3/0001-net-tcp-backport-BBRv3-to-android13-5.15.patch" temp.patch
  43. patch -p1 -F 3 < temp.patch
  44. rm temp.patch
  45. elif [[ ${{ inputs.version }} == "android13-5.10" && ${{ inputs.sublevel }} -ge "186" ]]; then
  46. cp "${{ github.workspace }}/kernel_patches/common/bbrv3/0001-net-tcp-backport-BBRv3-to-android12-5.10.patch" temp.patch
  47. patch -p1 -F 3 < temp.patch
  48. rm temp.patch
  49. elif [[ ${{ inputs.version }} == "android12-5.10" && ${{ inputs.sublevel }} -ge "185" ]]; then
  50. cp "${{ github.workspace }}/kernel_patches/common/bbrv3/0001-net-tcp-backport-BBRv3-to-android12-5.10.patch" temp.patch
  51. patch -p1 -F 3 < temp.patch
  52. rm temp.patch
  53. fi
  54. echo "✅ BBRv3 patches applied"
  55. - name: Enable Kernel Configs
  56. if: true
  57. uses: ./.github/actions/set-kernel-config
  58. with:
  59. config_list: |
  60. CONFIG_TCP_CONG_BBR3=y
  61. - name: Enable Kernel Configs
  62. uses: ./.github/actions/set-kernel-config
  63. with:
  64. config_list: |
  65. CONFIG_IP_SET=y
  66. CONFIG_IP_SET_MAX=65534
  67. CONFIG_IP_SET_BITMAP_IP=y
  68. CONFIG_IP_SET_BITMAP_IPMAC=y
  69. CONFIG_IP_SET_BITMAP_PORT=y
  70. CONFIG_IP_SET_HASH_IP=y
  71. CONFIG_IP_SET_HASH_IPMARK=y
  72. CONFIG_IP_SET_HASH_IPPORT=y
  73. CONFIG_IP_SET_HASH_IPPORTIP=y
  74. CONFIG_IP_SET_HASH_IPPORTNET=y
  75. CONFIG_IP_SET_HASH_IPMAC=y
  76. CONFIG_IP_SET_HASH_MAC=y
  77. CONFIG_IP_SET_HASH_NETPORTNET=y
  78. CONFIG_IP_SET_HASH_NET=y
  79. CONFIG_IP_SET_HASH_NETNET=y
  80. CONFIG_IP_SET_HASH_NETPORT=y
  81. CONFIG_IP_SET_HASH_NETIFACE=y
  82. CONFIG_IP_SET_LIST_SET=y
  83. CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y
  84. CONFIG_NETFILTER_XT_SET=y
  85. CONFIG_NETFILTER_XT_TARGET_LOG=y
  86. CONFIG_NETFILTER_XT_MATCH_RECENT=y
  87. CONFIG_IP6_NF_NAT=y
  88. CONFIG_IP6_NF_TARGET_MASQUERADE=y
  89. - name: Enable Kernel Configs
  90. uses: ./.github/actions/set-kernel-config
  91. with:
  92. config_list: |
  93. CONFIG_TCP_CONG_ADVANCED=y
  94. CONFIG_TCP_CONG_BBR=y
  95. CONFIG_TCP_CONG_CUBIC=y
  96. CONFIG_TCP_CONG_BIC=y
  97. CONFIG_TCP_CONG_WESTWOOD=y
  98. CONFIG_TCP_CONG_HTCP=y
  99. CONFIG_DEFAULT_BBR=y
  100. CONFIG_DEFAULT_TCP_CONG="bbr"
  101. CONFIG_NET_SCH_FQ=y
  102. CONFIG_NET_SCH_FQ_CODEL=y
  103. CONFIG_NET_ACT_CONNMARK=y
  104. CONFIG_NET_SCH_CAKE=y
  105. - name: Apply Kernel Config for 5.10
  106. shell: bash
  107. working-directory: ${{ github.workspace }}/kernel/common
  108. if: inputs.kernel_version == '5.10'
  109. run: |
  110. sed -i 's/CONFIG_IP_SET_MAX/65534/g' net/netfilter/ipset/ip_set_core.c