upgw-traffic-process 节点
upgw-traffic-process
节点承接 dpdk-input
节点分过来的流量,并按收包的端口角色做区分处理:
upgw_user
角色:若非
gtpu
报文,去匹配traffic-rule
,若能match
,则修改转发端口为lbp
,修改目的mac
为lbp
对端的mac
,否则按默认转发。若为
gtpu
报文,去匹配traffic-rule
,若能match
,则修改转发端口为lbp
,剥去gtpu
头,修改目的mac
为lbp
对端的mac
,否则按默认转发。
upgw_network
角色:若非
gtpu
报文,则根据目的ip
计算hash
,去创建或者更新learning
表项,此表项只存储五元组信息。若为带扩展头的
gtpu
报文,则根据ue ip
计算hash
,去创建或者更新learning
表项,此表项存储外层的五元组信息、gtpu
头信息和扩展头的信息。若为不带扩展头的
gtpu
报文,则根据ue ip
计算hash
,去创建或者更新learning
表项,此表项存储外层的五元组信息和gtpu
头信息。
upgw_local_break_out
角色:到该端口角色的都是非
gtpu
的ip
报文,根据目的ip
去查询learning
表项:若查询到的表项是非
gtpu
的,则去修改报文源mac
和 转发端口。若查询到的表项是带扩展头
gtpu
的,则去封装带扩展头的gtpu
,同时封装外层udp
、ip
和mac
头。若查询到的表项是不带扩展头
gtpu
的,则去封装带不扩展头的gtpu
,同时封装外层udp
、ip
和mac
头。
处理流程
命令行介绍
五元组分流命令
增加 traffic-rule
/* 需指定 rule_id、要分流的五元组信息、协议类型、优先级和要转发的 lbp 口 */
upgw traffic-rule add rule_id <value> ue_ip <value> server_ip <value> [ue_port <value>] [server_port <value>] proto <ip|gtpu> prio <value> dst_lbp_port <value>
eg:
upgw traffic-rule add rule_id 1 ue_ip 1.2.3.4/24 server_ip 4.3.2.1/24 ue_port 123 server_port 456 proto ip prio 0 dst_lbp_port GigabitEthernet0/a/0
查询 traffic-rule
/* 可以根据协议查询全部 acl,也可查询指定 rule_id 下的 acl */
show upgw traffic-rule [rule_id <value>] proto <ip|gtpu>
eg:
upgw traffic-rule show proto ip
upgw_ip_traffic_rule count = 1
rule_id: 1 prio: 0 dst_lbp_port 4
mask_string: mask l3 ip4 src/24 dst/24 l4 src_port dst_port match_string: match l3 ip4 src 1.2.3.4 dst 4.3.2.1 l4 src_port 123 dst_port 456
upgw traffic-rule show rule_id 1 proto ip
upgw_ip_traffic_rule count = 1
rule_id: 1 prio: 0 dst_lbp_port 4
mask_string: mask l3 ip4 src/24 dst/24 l4 src_port dst_port match_string: match l3 ip4 src 1.2.3.4 dst 4.3.2.1 l4 src_port 123 dst_port 456
删除 traffic-rule
/* 可以根据协议删除全部 acl,也可删除指定 rule_id 下的 acl */
upgw traffic-rule del [rule_id <value>] proto <ip|gtpu>
eg:
upgw traffic-rule del proto ip
upgw traffic-rule del rule_id 1 proto ip
查询 learning 表命令
/* 查询指定 ue/src ip 下的 learning 表项 */
show upgw learning table <ipv4_address>
eg:
show upgw learning table 172.20.231.1
Encap_type: GTPU WHIT EXTENSION PDU SESSION
Ue IP: 172.20.231.1
User IP: 192.168.30.100
Network IP: 192.168.30.99
Teid: 1299
Qfi: 1
Default tx interface: TenGigabitEthernet0/a/0
User Mac:3c:ec:ef:1d:63:42
Network Mac:52:54:00:9b:29:cb