[][kernel][mt7987][hnat][Add L2 BRIDGE HNAT support for the NETSYSv3.1]

[Description]
Add L2 BRIDGE HNAT support for MT7987
  - Add l2br_toggle in debugfs to control function of L2 BRIDGE.
    echo 0 > /sys/kernel/debug/hnat/l2br_toggle
      * Disable L2 HNAT functions.
    echo 1 > /sys/kernel/debug/hnat/l2br_toggle
      * Enable L2_BRIDGE HNAT learning mode.
      * PPE automatically learns and creates new L2_BRIDGE  entries.
    echo 2 > /sys/kernel/debug/hnat/l2br_toggle
      * Enable L2_BRIDGE HNAT look-up mode.
      * For L2 packet, PPE only checks existing L2_BRIDGE entries
        without creating new ones.
      * Normally for static entry usage.
  - Add support in debugfs to dump L2_BRIDGE HNAT info
  - Add support in debugfs to add L2_BRIDGE static entry

[Release-log]
N/A


Change-Id: I129c3196304318a8be9f806701de64d39c0c3b80
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/9750534
5 files changed
tree: a795283aad103ec0f70ecdb4b20c7d85b8cfa051
  1. 21.02/
  2. autobuild/
  3. feed/
  4. master/
  5. scripts/
  6. tools/
  7. .checkpatch.conf
  8. .clang-format
  9. .gitignore
  10. prepare_sdk.sh
  11. Readme.md
Readme.md

Brief introduction for using MediaTek released OpenWrt SDK

1. Build system setup

2. Clone vanilla OpenWrt

Currently two release branches are supported:

  1. 21.02 This is the current in-use branch

    git clone -b openwrt-21.02 https://git.openwrt.org/openwrt/openwrt.git
    
  2. master (will be 24.0x branch later) The next version in development

    git clone https://git.openwrt.org/openwrt/openwrt.git
    

3. Add MediaTek OpenWrt feed

cd openwrt
echo "src-git mtk_openwrt_feed https://git01.mediatek.com/openwrt/feeds/mtk-openwrt-feeds" >> feeds.conf.default
./scripts/feeds update -a
./scripts/feeds install -a

4. Apply MediaTek OpenWrt files and patches

  1. 21.02 branch

    cp -af ./feeds/mtk_openwrt_feed/21.02/files/* .
    cp -af ./feeds/mtk_openwrt_feed/tools .
    for file in $(find ./feeds/mtk_openwrt_feed/21.02/patches-base -name "*.patch" | sort); do patch -f -p1 -i ${file}; done
    for file in $(find ./feeds/mtk_openwrt_feed/21.02/patches-feeds -name "*.patch" | sort); do patch -f -p1 -i ${file}; done
    
  2. master branch

    cp -af ./feeds/mtk_openwrt_feed/master/files/* .
    for file in $(find ./feeds/mtk_openwrt_feed/master/patches-base -name "*.patch" | sort); do patch -f -p1 -i ${file}; done
    

5. Configuration

make menuconfig
  1. 21.02 branch

    Target System -> MediaTek Ralink ARM
    Subtarget -> MT7981 / MT7986 / MT7988
    Target Profile -> select as needed
    
  2. master branch

    Target System -> MediaTek Ralink ARM
    Subtarget -> Filogic 8x0 (MT798x)
    Target Profile -> select as needed
    

6. Build

make V=s -j$(nproc)