natflow.patch 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. --- a/package/feeds/custom/luci-app-turboacc/luasrc/controller/turboacc.lua
  2. +++ b/package/feeds/custom/luci-app-turboacc/luasrc/controller/turboacc.lua
  3. @@ -14,7 +14,7 @@ function index()
  4. end
  5. local function fastpath_status()
  6. - return luci.sys.call("{ [ -e /sys/module/xt_FLOWOFFLOAD/refcnt ] && [ x$(cat /sys/module/xt_FLOWOFFLOAD/refcnt 2>/dev/null) != x0 ]; } || lsmod | grep -q fast_classifier") == 0
  7. + return luci.sys.call("lsmod | grep -q natflow || lsmod | grep -q fast_classifier") == 0
  8. end
  9. local function bbr_status()
  10. --- a/package/feeds/custom/luci-app-turboacc/root/etc/init.d/turboacc
  11. +++ b/package/feeds/custom/luci-app-turboacc/root/etc/init.d/turboacc
  12. @@ -213,10 +213,21 @@ revert_dns() {
  13. start(){
  14. inital_conf
  15. - uci set firewall.@defaults[0].flow_offloading="${sw_flow}"
  16. - uci set firewall.@defaults[0].flow_offloading_hw="${hw_flow}"
  17. - uci set firewall.@defaults[0].fullcone="${fullcone_nat}"
  18. - uci commit firewall
  19. + test -c /dev/natflow_ctl && {
  20. + enable_natflow="${sw_flow}"
  21. + enable_natflow_hw="${hw_flow}"
  22. + if [ "x${enable_natflow}" = "x1" ]; then
  23. + if [ "x`uci get firewall.@defaults[0].flow_offloading 2>/dev/null`" = "x1" ]; then
  24. + uci set firewall.@defaults[0].flow_offloading=0
  25. + uci set firewall.@defaults[0].flow_offloading_hw=0
  26. + uci commit firewall
  27. + /etc/init.d/firewall reload
  28. + fi
  29. + fi
  30. + echo debug=3 >/dev/natflow_ctl
  31. + echo disabled=$((!enable_natflow)) >/dev/natflow_ctl
  32. + echo hwnat=$((enable_natflow_hw)) >/dev/natflow_ctl
  33. + }
  34. [ "${sw_flow}" -ne "1" ] && [ "${sfe_flow}" -eq "1" ] && {
  35. lsmod | grep -q fast_classifier || modprobe fast_classifier 2>"/dev/null"
  36. @@ -264,10 +275,8 @@ start(){
  37. stop(){
  38. inital_conf
  39. - uci set firewall.@defaults[0].flow_offloading="${sw_flow}"
  40. - uci set firewall.@defaults[0].flow_offloading_hw="${hw_flow}"
  41. - uci set firewall.@defaults[0].fullcone="${fullcone_nat}"
  42. - uci commit firewall
  43. + echo disabled=$((!enable_natflow)) >/dev/natflow_ctl
  44. + echo hwnat=$((enable_natflow_hw)) >/dev/natflow_ctl
  45. [ "${sfe_flow}" -ne "1" ] && {
  46. echo "0" > "/sys/fast_classifier/skip_to_bridge_ingress" 2>"/dev/null"
  47. --- a/package/feeds/custom/luci-app-turboacc/Makefile
  48. +++ b/package/feeds/custom/luci-app-turboacc/Makefile
  49. @@ -11,17 +11,16 @@ PKG_RELEASE:=2
  50. PKG_LICENSE:=GPLv3.0+
  51. -LUCI_TITLE:=LuCI support for Flow Offload / Shortcut-FE
  52. -LUCI_DEPENDS:=+pdnsd-alt \
  53. - +PACKAGE_$(PKG_NAME)_INCLUDE_shortcut-fe:kmod-fast-classifier \
  54. - +PACKAGE_$(PKG_NAME)_INCLUDE_flow-offload:kmod-ipt-offload \
  55. +LUCI_TITLE:=LuCI support for Natflow / Shortcut-FE
  56. +LUCI_DEPENDS:=+PACKAGE_$(PKG_NAME)_INCLUDE_shortcut-fe:kmod-fast-classifier \
  57. + +PACKAGE_$(PKG_NAME)_INCLUDE_natflow:kmod-natflow \
  58. +PACKAGE_$(PKG_NAME)_INCLUDE_bbr-cca:kmod-tcp-bbr \
  59. +PACKAGE_$(PKG_NAME)_INCLUDE_dnsforwarder:dnsforwarder
  60. LUCI_PKGARCH:=all
  61. define Package/$(PKG_NAME)/config
  62. -config PACKAGE_$(PKG_NAME)_INCLUDE_flow-offload
  63. - bool "Include Flow Offload"
  64. +config PACKAGE_$(PKG_NAME)_INCLUDE_natflow
  65. + bool "Include Natflow"
  66. depends on PACKAGE_$(PKG_NAME)_INCLUDE_shortcut-fe=n
  67. default y
  68. @@ -40,7 +39,7 @@ endef
  69. PKG_CONFIG_DEPENDS:= \
  70. CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_shortcut-fe \
  71. - CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_flow-offload \
  72. + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_natflow \
  73. CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_bbr-cca \
  74. CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_dnsforwarder
  75. --- a/package/feeds/custom/luci-app-turboacc/po/zh_Hans/turboacc.po
  76. +++ b/package/feeds/custom/luci-app-turboacc/po/zh_Hans/turboacc.po
  77. @@ -11,16 +11,16 @@ msgid "Opensource Flow Offloading driver (Fast Path or Hardware NAT)"
  78. msgstr "开源流量分载驱动 (支持 Fast Path 或者 硬件 NAT)"
  79. msgid "Software flow offloading"
  80. -msgstr "软件流量分载"
  81. +msgstr "启用转发加速(natflow)"
  82. msgid "Software based offloading for routing/NAT"
  83. -msgstr "基于软件的 Routing/NAT 分载"
  84. +msgstr ""
  85. msgid "Hardware flow offloading"
  86. -msgstr "硬件流量分载"
  87. +msgstr "启用硬件转发加速"
  88. msgid "Requires hardware NAT support. Implemented at least for mt76xx"
  89. -msgstr "需要硬件 NAT 支持。目前 mt76xx 已实现"
  90. +msgstr ""
  91. msgid "Shortcut-FE flow offloading"
  92. msgstr "Shortcut-FE 流量分载"
  93. --- a/package/feeds/custom/natflow/Makefile
  94. +++ b/package/feeds/custom/natflow/Makefile
  95. @@ -51,17 +51,4 @@ define Build/Compile
  96. $(call Build/Compile/natflow)
  97. endef
  98. -define Package/natflow-boot
  99. - CATEGORY:=X
  100. - SUBMENU:=Fast Forward Stacks
  101. - TITLE:=natflow boot init script
  102. - DEPENDS:= +kmod-natflow
  103. -endef
  104. -
  105. -define Package/natflow-boot/install
  106. - $(INSTALL_DIR) $(1)/etc/init.d
  107. - $(INSTALL_BIN) ./files/natflow-boot.init $(1)/etc/init.d/natflow-boot
  108. -endef
  109. -
  110. $(eval $(call KernelPackage,natflow))
  111. -$(eval $(call BuildPackage,natflow-boot))