버전 비교

  • 이 줄이 추가되었습니다.
  • 이 줄이 삭제되었습니다.
  • 서식이 변경되었습니다.

...

코드 블럭
titleP4Runtime
# 1) Tunnel Ingress Rule                            -------- 터널을 통한 패킷 수신 시에 터널 포트에 관한 테이블 작성
table_entry = p4info_helper.buildTableEntry(
table_name="MyIngress.ipv4_lpm",
match_fields={
"hdr.ipv4.dstAddr": (dst_ip_addr, 32)
},
action_name="MyIngress.myTunnel_ingress",
action_params={
"dst_id": tunnel_id,
})
ingress_sw.WriteTableEntry(table_entry)
print("Installed ingress tunnel rule on %s" % ingress_sw.name)

#2) Tunnel Transit Rulerule on %s" % ingress_sw.name)

#2) Tunnel Transit Rule                          --------- 테이블과의 매칭을 통해 패킷 전송에 관한 것
table_entry = p4info_helper.buildTableEntry(
table_name="MyIngress.myTunnel_exact",
match_fields={
"hdr.myTunnel.dst_id": tunnel_id
},
action_name="MyIngress.myTunnel_forward",
action_params={
"port": SWITCH_TO_SWITCH_PORT
})
ingress_sw.WriteTableEntry(table_entry)
print("Installed transit tunnel rule on %s" % ingress_sw.name)

# 3) Tunnel Egress Ruletable_entry = p4info_helper.buildTableEntry(                 -------- 패킷 송신 시에 터널 포트에 관한 테이블 작성
table_name="MyIngress.myTunnel_exact",
match_fields={
"hdr.myTunnel.dst_id": tunnel_id
},
action_name="MyIngress.myTunnel_egress",
action_params={
"dstAddr": dst_eth_addr,
"port": SWITCH_TO_HOST_PORT
})
egress_sw.WriteTableEntry(table_entry)
print("Installed egress tunnel rule on %s" % egress_sw.name) 

...