action.yml 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. name: 'Setup Networking Options'
  2. description: 'Set up kernel configuration fragment with required options'
  3. inputs:
  4. kernel_version:
  5. description: 'Kernel version (e.g., 6.1)'
  6. required: true
  7. android_version:
  8. description: 'Android version (e.g., android14)'
  9. required: true
  10. runs:
  11. using: "composite"
  12. steps:
  13. - name: Patch with BBRv3
  14. if: ${{ inputs.kernel_version == '6.1' }}
  15. shell: bash
  16. working-directory: ${{ github.workspace }}/kernel/common
  17. run: |
  18. set -euo pipefail
  19. curl -L https://raw.githubusercontent.com/ahmed-alnassif/GKI-Duchamp/dev/kernel-patches/bbrv3/bbrv3.patch | patch -p1
  20. - name: Apply Netfilter Base Config
  21. shell: bash
  22. working-directory: ${{ github.workspace }}/kernel
  23. run: |
  24. cat >> "${{ github.workspace }}/wild_gki.fragment" << 'EOF'
  25. CONFIG_NETFILTER=y
  26. CONFIG_NETFILTER_ADVANCED=y
  27. CONFIG_NETFILTER_XTABLES=y
  28. CONFIG_NF_CONNTRACK=y
  29. EOF
  30. if [ "${{ inputs.kernel_version }}" = "5.10" ]; then
  31. echo "# CONFIG_NF_TABLES is not set" >> "${{ github.workspace }}/wild_gki.fragment"
  32. else
  33. echo "CONFIG_NF_TABLES=y" >> "${{ github.workspace }}/wild_gki.fragment"
  34. fi
  35. - name: Apply IP Tables Extensions
  36. shell: bash
  37. working-directory: ${{ github.workspace }}/kernel
  38. run: |
  39. cat >> "${{ github.workspace }}/wild_gki.fragment" << 'EOF'
  40. CONFIG_IP_NF_TARGET_TTL=y
  41. CONFIG_IP6_NF_TARGET_HL=y
  42. CONFIG_IP6_NF_MATCH_HL=y
  43. EOF
  44. - name: Apply IP Set Base
  45. shell: bash
  46. working-directory: ${{ github.workspace }}/kernel
  47. run: |
  48. cat >> "${{ github.workspace }}/wild_gki.fragment" << 'EOF'
  49. CONFIG_IP_SET=y
  50. CONFIG_IP_SET_BITMAP_IP=y
  51. CONFIG_IP_SET_BITMAP_IPMAC=y
  52. CONFIG_IP_SET_BITMAP_PORT=y
  53. CONFIG_IP_SET_HASH_IP=y
  54. CONFIG_IP_SET_HASH_IPMARK=y
  55. CONFIG_IP_SET_HASH_IPPORT=y
  56. CONFIG_IP_SET_HASH_IPPORTIP=y
  57. CONFIG_IP_SET_HASH_IPPORTNET=y
  58. CONFIG_IP_SET_HASH_IPMAC=y
  59. CONFIG_IP_SET_HASH_MAC=y
  60. CONFIG_IP_SET_HASH_NETPORTNET=y
  61. CONFIG_IP_SET_HASH_NET=y
  62. CONFIG_IP_SET_HASH_NETNET=y
  63. CONFIG_IP_SET_HASH_NETPORT=y
  64. CONFIG_IP_SET_HASH_NETIFACE=y
  65. CONFIG_IP_SET_LIST_SET=y
  66. CONFIG_IP_SET_MAX=256
  67. EOF
  68. - name: Apply TCP Congestion Control
  69. shell: bash
  70. working-directory: ${{ github.workspace }}/kernel
  71. run: |
  72. cat >> "${{ github.workspace }}/wild_gki.fragment" << 'EOF'
  73. CONFIG_TCP_CONG_ADVANCED=y
  74. CONFIG_TCP_CONG_BBR=y
  75. CONFIG_TCP_CONG_CUBIC=y
  76. CONFIG_TCP_CONG_BIC=y
  77. CONFIG_TCP_CONG_WESTWOOD=y
  78. CONFIG_TCP_CONG_HTCP=y
  79. CONFIG_DEFAULT_BBR=y
  80. CONFIG_DEFAULT_TCP_CONG="bbr"
  81. CONFIG_NET_SCH_FQ=y
  82. EOF
  83. - name: Apply Kernel Config for 5.10
  84. shell: bash
  85. working-directory: ${{ github.workspace }}/kernel/common
  86. if: inputs.kernel_version == '5.10'
  87. run: |
  88. sed -i 's/CONFIG_IP_SET_MAX/256/g' net/netfilter/ipset/ip_set_core.c