Try   HackMD

IPA - Introduction

Structure Diagram

IPA_Structure.drawio

  • The ipacm is a user space daemon that controls the IPA HW.
    It will monitors the kernel network event through netlink and sets corresponding rules to the IPA driver through ioctl.
  • The ipacm has a configuration file which is located in the /etc/data/ipa/IPACM_cfg.xml.
    The detailed instructions can be found in Modem_IPA_Configuration_Manager.pdf .
  • We have implemeted a script ipacm_cfg_QCM.sh used for modifying the config.
    This script will be called when the network settings has changed.

REFs

  • 80-NC254-64_REV_D_Modem_IPA_Configuration_Manager.pdf
  • 80-NP527-28_REV_B_Modem_IPA.pdf

IPACM Debug Message

REFs

KBA-210714214217_REV_7_IPA_log_collection_for_SDX_SA_platforms.pdf

Systemd Platform

vim /lib/systemd/system/ipacm.service 
Insert the folowing in [Service] section of ipacm service file 
StandardOutput=file:/data/ipacm_log.txt
Reboot the target

OpenWrt Platform

vim /etc/init.d/ipacm.init
Change IPACM_DEBUG variable from 0 to 1
Reboot the target

IPA Driver Log

ipa debugfs

 /sys/kernel/debug/ipa/hdr
 cat /sys/kernel/debug/ipa/ip4_rt
 cat /sys/kernel/debug/ipa/ip4_nat

ipc_logs debugfs

cat /sys/kernel/debug/ipc_logging/ipa/log > /tmp/ipa_ipc_logs.txt 

The modification summary of IPACM

Written by Vic.

原先 ipacm 只支援
1. 某一條 pdn 的加速且只能下在 main routing table 
# ip route add default via 192.168.20.1 dev rmnet_data0 (第一條 pdn 加速)
# ip route add default via 192.168.30.1 dev rmnet_data1 (第二條 pdn 加速)

2. 多條 pdn 的加速必須搭配 VLAN
目標是讓多條 pdn 都可以加速且不需要 VLAN, 小傑夫當初已經有解出來了
1> 解除 ipacm 只能聽 main routing table 的限制, 讓 gateway 在 table 2~16 也會動作
# ip route add default via 192.168.20.1 dev rmnet_data0 
# ip route add default via 192.168.30.1 dev rmnet_data1 table 2

ipa1

2> 取消刪除上一次 gateway 的紀錄, 否則永遠只有一條 gateway 被寫入至 IPA

ipa2

3. 由於目前的 pdn 加速都是以 IPA NAT 為基礎, 所以 CPE 在 bridge mode 下, 需要有 NAT 的 flag, 
UL 做 SNAT, DL 做 DNAT

ipa3

目前不論 NAT mode 或 bridge mode 都可以達到多條 pdn 的加速且不必搭配 VLAN

Related Docs

IPA - Multiple PDN Support
IPA - Bridge Mode Support