Skip to content

Error deleting PDRs when using PFCP in simulation mode (-simulate delete) #683

Open
@gab-arrobo

Description

@gab-arrobo

Inserting rules using the PFCP in simulation mode works as expected:

$ docker exec bess-pfcpiface pfcpiface -config conf/upf.json -simulate create
time="2023-04-07T02:23:19Z" level=info msg="{Mode:dpdk AccessIface:{IfName:access} CoreIface:{IfName:core} CPIface:{Peers:[148.162.12.214] UseFQDN:false NodeID: HTTPPort:8080 Dnn:internet EnableUeIPAlloc:false UEIPPool:10.250.0.0/16} P4rtcIface:{SliceID:0 AccessIP:172.17.0.1/32 P4rtcServer:onos P4rtcPort:51001 QFIToTC:map[] DefaultTC:3 ClearStateOnRestart:false} EnableP4rt:false EnableFlowMeasure:false SimInfo:{MaxSessions:1 StartUEIP:16.0.0.1 StartENBIP:11.1.1.129 StartAUPFIP:13.1.1.199 N6AppIP:6.6.6.6 N9AppIP:9.9.9.9 StartN3TEID:0x30000000 StartN9TEID:0x90000000} ConnTimeout:0 ReadTimeout:15 EnableNotifyBess:false EnableEndMarker:false NotifySockAddr: EndMarkerSockAddr: LogLevel:info QciQosConfig:[{QCI:0 CBS:50000 PBS:50000 EBS:50000 BurstDurationMs:10 SchedulingPriority:7} {QCI:9 CBS:2048 PBS:2048 EBS:2048 BurstDurationMs:0 SchedulingPriority:6} {QCI:8 CBS:2048 PBS:2048 EBS:2048 BurstDurationMs:0 SchedulingPriority:5}] SliceMeterConfig:{N6RateBps:500000000 N6BurstBytes:625000 N3RateBps:500000000 N3BurstBytes:625000} MaxReqRetries:5 RespTimeout:2s EnableHBTimer:false HeartBeatInterval:}" func=main.main file="/pfcpiface/cmd/pfcpiface/main.go:37"
time="2023-04-07T02:23:19Z" level=info msg="SetUpfInfo bess" func="github.com/omec-project/upf-epc/pfcpiface.(*bess).SetUpfInfo" file="/pfcpiface/pfcpiface/bess.go:767"
time="2023-04-07T02:23:19Z" level=info msg="bessIP  localhost:10514" func="github.com/omec-project/upf-epc/pfcpiface.(*bess).SetUpfInfo" file="/pfcpiface/pfcpiface/bess.go:771"
time="2023-04-07T02:23:19Z" level=info msg="create sessions: 1" func="github.com/omec-project/upf-epc/pfcpiface.(*upf).sim" file="/pfcpiface/pfcpiface/grpcsim.go:72"
time="2023-04-07T02:23:19Z" level=info msg="Sessions/s: 170.485775348848" func="github.com/omec-project/upf-epc/pfcpiface.(*upf).sim" file="/pfcpiface/pfcpiface/grpcsim.go:271"

However, when deleting the rules, there is a problem deleting the PDR entries (pdrLookup method failed...)

$ docker exec bess-pfcpiface pfcpiface -config conf/upf.json -simulate delete
time="2023-04-07T02:23:55Z" level=info msg="{Mode:dpdk AccessIface:{IfName:access} CoreIface:{IfName:core} CPIface:{Peers:[148.162.12.214] UseFQDN:false NodeID: HTTPPort:8080 Dnn:internet EnableUeIPAlloc:false UEIPPool:10.250.0.0/16} P4rtcIface:{SliceID:0 AccessIP:172.17.0.1/32 P4rtcServer:onos P4rtcPort:51001 QFIToTC:map[] DefaultTC:3 ClearStateOnRestart:false} EnableP4rt:false EnableFlowMeasure:false SimInfo:{MaxSessions:1 StartUEIP:16.0.0.1 StartENBIP:11.1.1.129 StartAUPFIP:13.1.1.199 N6AppIP:6.6.6.6 N9AppIP:9.9.9.9 StartN3TEID:0x30000000 StartN9TEID:0x90000000} ConnTimeout:0 ReadTimeout:15 EnableNotifyBess:false EnableEndMarker:false NotifySockAddr: EndMarkerSockAddr: LogLevel:info QciQosConfig:[{QCI:0 CBS:50000 PBS:50000 EBS:50000 BurstDurationMs:10 SchedulingPriority:7} {QCI:9 CBS:2048 PBS:2048 EBS:2048 BurstDurationMs:0 SchedulingPriority:6} {QCI:8 CBS:2048 PBS:2048 EBS:2048 BurstDurationMs:0 SchedulingPriority:5}] SliceMeterConfig:{N6RateBps:500000000 N6BurstBytes:625000 N3RateBps:500000000 N3BurstBytes:625000} MaxReqRetries:5 RespTimeout:2s EnableHBTimer:false HeartBeatInterval:}" func=main.main file="/pfcpiface/cmd/pfcpiface/main.go:37"
time="2023-04-07T02:23:55Z" level=info msg="SetUpfInfo bess" func="github.com/omec-project/upf-epc/pfcpiface.(*bess).SetUpfInfo" file="/pfcpiface/pfcpiface/bess.go:767"
time="2023-04-07T02:23:55Z" level=info msg="bessIP  localhost:10514" func="github.com/omec-project/upf-epc/pfcpiface.(*bess).SetUpfInfo" file="/pfcpiface/pfcpiface/bess.go:771"
time="2023-04-07T02:23:55Z" level=info msg="delete sessions: 1" func="github.com/omec-project/upf-epc/pfcpiface.(*upf).sim" file="/pfcpiface/pfcpiface/grpcsim.go:72"
time="2023-04-07T02:23:55Z" level=error msg="farLookup method failed with resp: error:{code:2  errmsg:\"rule doesn't exist\"}, err: <nil>\n" func="github.com/omec-project/upf-epc/pfcpiface.(*bess).processFAR" file="/pfcpiface/pfcpiface/bess.go:1159"
time="2023-04-07T02:23:55Z" level=error msg="pdrLookup method failed with resp: error:{code:2  errmsg:\"failed to delete a rule\"}, err: <nil>\n" func="github.com/omec-project/upf-epc/pfcpiface.(*bess).processPDR" file="/pfcpiface/pfcpiface/bess.go:849"
time="2023-04-07T02:23:55Z" level=error msg="pdrLookup method failed with resp: error:{code:2  errmsg:\"failed to delete a rule\"}, err: <nil>\n" func="github.com/omec-project/upf-epc/pfcpiface.(*bess).processPDR" file="/pfcpiface/pfcpiface/bess.go:849"
time="2023-04-07T02:23:55Z" level=error msg="farLookup method failed with resp: error:{code:2  errmsg:\"rule doesn't exist\"}, err: <nil>\n" func="github.com/omec-project/upf-epc/pfcpiface.(*bess).processFAR" file="/pfcpiface/pfcpiface/bess.go:1159"
time="2023-04-07T02:23:55Z" level=error msg="pdrLookup method failed with resp: error:{code:2  errmsg:\"failed to delete a rule\"}, err: <nil>\n" func="github.com/omec-project/upf-epc/pfcpiface.(*bess).processPDR" file="/pfcpiface/pfcpiface/bess.go:849"
time="2023-04-07T02:23:55Z" level=error msg="pdrLookup method failed with resp: error:{code:2  errmsg:\"failed to delete a rule\"}, err: <nil>\n" func="github.com/omec-project/upf-epc/pfcpiface.(*bess).processPDR" file="/pfcpiface/pfcpiface/bess.go:849"
time="2023-04-07T02:23:55Z" level=error msg="farLookup method failed with resp: error:{code:2  errmsg:\"rule doesn't exist\"}, err: <nil>\n" func="github.com/omec-project/upf-epc/pfcpiface.(*bess).processFAR" file="/pfcpiface/pfcpiface/bess.go:1159"
time="2023-04-07T02:23:55Z" level=info msg="Sessions/s: 255.73112633961557" func="github.com/omec-project/upf-epc/pfcpiface.(*upf).sim" file="/pfcpiface/pfcpiface/grpcsim.go:271"

And then, if the user wants to insert again the rules (i.e., ... -simulate create), the PDRs are not inserted

$ docker exec bess-pfcpiface pfcpiface -config conf/upf.json -simulate create
time="2023-04-07T02:24:25Z" level=info msg="{Mode:dpdk AccessIface:{IfName:access} CoreIface:{IfName:core} CPIface:{Peers:[148.162.12.214] UseFQDN:false NodeID: HTTPPort:8080 Dnn:internet EnableUeIPAlloc:false UEIPPool:10.250.0.0/16} P4rtcIface:{SliceID:0 AccessIP:172.17.0.1/32 P4rtcServer:onos P4rtcPort:51001 QFIToTC:map[] DefaultTC:3 ClearStateOnRestart:false} EnableP4rt:false EnableFlowMeasure:false SimInfo:{MaxSessions:1 StartUEIP:16.0.0.1 StartENBIP:11.1.1.129 StartAUPFIP:13.1.1.199 N6AppIP:6.6.6.6 N9AppIP:9.9.9.9 StartN3TEID:0x30000000 StartN9TEID:0x90000000} ConnTimeout:0 ReadTimeout:15 EnableNotifyBess:false EnableEndMarker:false NotifySockAddr: EndMarkerSockAddr: LogLevel:info QciQosConfig:[{QCI:0 CBS:50000 PBS:50000 EBS:50000 BurstDurationMs:10 SchedulingPriority:7} {QCI:9 CBS:2048 PBS:2048 EBS:2048 BurstDurationMs:0 SchedulingPriority:6} {QCI:8 CBS:2048 PBS:2048 EBS:2048 BurstDurationMs:0 SchedulingPriority:5}] SliceMeterConfig:{N6RateBps:500000000 N6BurstBytes:625000 N3RateBps:500000000 N3BurstBytes:625000} MaxReqRetries:5 RespTimeout:2s EnableHBTimer:false HeartBeatInterval:}" func=main.main file="/pfcpiface/cmd/pfcpiface/main.go:37"
time="2023-04-07T02:24:25Z" level=info msg="SetUpfInfo bess" func="github.com/omec-project/upf-epc/pfcpiface.(*bess).SetUpfInfo" file="/pfcpiface/pfcpiface/bess.go:767"
time="2023-04-07T02:24:25Z" level=info msg="bessIP  localhost:10514" func="github.com/omec-project/upf-epc/pfcpiface.(*bess).SetUpfInfo" file="/pfcpiface/pfcpiface/bess.go:771"
time="2023-04-07T02:24:25Z" level=info msg="create sessions: 1" func="github.com/omec-project/upf-epc/pfcpiface.(*upf).sim" file="/pfcpiface/pfcpiface/grpcsim.go:72"
time="2023-04-07T02:24:25Z" level=error msg="pdrLookup method failed with resp: error:{code:28  errmsg:\"failed to add a new wildcard pattern\"}, err: <nil>\n" func="github.com/omec-project/upf-epc/pfcpiface.(*bess).processPDR" file="/pfcpiface/pfcpiface/bess.go:849"
time="2023-04-07T02:24:25Z" level=error msg="pdrLookup method failed with resp: error:{code:28  errmsg:\"failed to add a new wildcard pattern\"}, err: <nil>\n" func="github.com/omec-project/upf-epc/pfcpiface.(*bess).processPDR" file="/pfcpiface/pfcpiface/bess.go:849"
time="2023-04-07T02:24:25Z" level=error msg="pdrLookup method failed with resp: error:{code:28  errmsg:\"failed to add a new wildcard pattern\"}, err: <nil>\n" func="github.com/omec-project/upf-epc/pfcpiface.(*bess).processPDR" file="/pfcpiface/pfcpiface/bess.go:849"
time="2023-04-07T02:24:25Z" level=error msg="pdrLookup method failed with resp: error:{code:28  errmsg:\"failed to add a new wildcard pattern\"}, err: <nil>\n" func="github.com/omec-project/upf-epc/pfcpiface.(*bess).processPDR" file="/pfcpiface/pfcpiface/bess.go:849"
time="2023-04-07T02:24:25Z" level=info msg="Sessions/s: 297.9375570550422" func="github.com/omec-project/upf-epc/pfcpiface.(*upf).sim" file="/pfcpiface/pfcpiface/grpcsim.go:271"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions