On Wed, Feb 8, 2017 at 7:44 AM, Srikanth Lingala <srikanth.ling...@nxp.com> wrote:
> Hi Brady, > > One more observation is that SFC flows you are talking about, like table > 152 – 158 are added in table 2 – 10 in my compute node. > Did you do the step to move the SFC and NetVirt flows to the proper table offset? Not sure if tacker does that for you, otherwise do it manually: Use your odl IP in the below commands: curl -u admin:admin -H 'Content-type: application/json' -X PUT -d {"netvirt-providers-config":{"table-offset":1}} http://192.168.0.2:8181/restconf/config/netvirt-providers-config:netvirt-providers-config curl -u admin:admin -H 'Content-type: application/json' -X PUT -d '{"sfc-of-renderer-config":{"sfc-of-table-offset":"150","sfc-of-app-egress-table-offset":"11"}}' http://192.168.0.2:8181/restconf/config/sfc-of-renderer:sfc-of-renderer-config You can check the flows in the below paste link: > > http://pastebin.com/MEN7dk8n > > It seems some of the flows are missing. I am not able to understand why > table numbers are changed in my compute node. With the same ODL controller, > SFC worked fine with x86 compute node. Then, I attached my aarch64 compute > node with OVS 2.6.1 patches (with DPDK), which is giving issues. > > Do I need to do anything different? > > > > Thanks for the help. > > > > Regards, > > Srikanth. > > > > *From:* Sam Hague [mailto:sha...@redhat.com] > *Sent:* Tuesday, February 07, 2017 11:22 PM > *To:* Srikanth Lingala <srikanth.ling...@nxp.com> > *Cc:* Brady Allen Johnson <brady.allen.john...@ericsson.com>; > sfc-...@lists.opendaylight.org; opnfv-tech-discuss@lists.opnfv.org; Gorja > Gorja <prasad.go...@nxp.com>; Rozet, Tim <tro...@redhat.com>; Ferenc > Cserepkei <ferenc.cserep...@ericsson.com> > *Subject:* Re: [sfc-dev] [SFC] ODL SFC with single compute node and OVS > 2.6.1 NSH patches > > > > > > > > On Tue, Feb 7, 2017 at 12:23 PM, Srikanth Lingala < > srikanth.ling...@nxp.com> wrote: > > Hi Brady, > > One small update. > > While creating SFC Classifier, in the karaf logs, I found the following > WARNING messages: > > > > 2017-02-06 20:48:47,977 | WARN | NV-SfcDTL-1 | > NetvirtSfcWorkaroundOF13Provider | 295 - > org.opendaylight.netvirt.openstack.net-virt-sfc-impl > - 1.3.0.Boron | Failed to get renderedServicePatch for entry: > Ace{getActions=Actions{augmentations={interface > org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns. > yang.netvirt.sfc.acl.rev150105.RedirectToSfc=RedirectToSfc{ > getRspName=Path-mychain-Path-114, isRenderRsp=false}}}, > getMatches=Matches{getAceType=AceIp{getDestinationPortRange= > DestinationPortRange{getLowerPort=PortNumber [_value=80], > getUpperPort=PortNumber [_value=80], augmentations={}}, getProtocol=6, > getSourcePortRange=SourcePortRange{getLowerPort=PortNumber [_value=2000], > getUpperPort=PortNumber [_value=2000], augmentations={}}, > augmentations={}}, augmentations={}}, getRuleName=myclass, augmentations={}} > > > > 2017-02-06 20:48:53,252 | WARN | NV-SfcDTL-1 | > NetvirtSfcWorkaroundOF13Provider | 295 - > org.opendaylight.netvirt.openstack.net-virt-sfc-impl > - 1.3.0.Boron | handleRenderedServicePath: Could not identify gpe vtep > vxgpe -> OF (0) on Node{getNodeId=Uri [_value=ovsdb://uuid/7e64138d- > 8a76-4f16-a6d8-35095922bf60/bridge/br-int], > getTerminationPoint=[TerminationPoint{getTpId=Uri > [_value=br-int], augmentations={interface org.opendaylight.yang.gen.v1.u > rn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbTerm > inationPointAugmentation=OvsdbTerminationPointAugmentation{getIfindex=35, > getIngressPolicingBurst=0, getIngressPolicingRate=0, getInterfaceType=class > org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns. > yang.ovsdb.rev150105.InterfaceTypeInternal, getInterfaceUuid=Uuid > [_value=c4d8822d-a58c-4e9a-b02c-4d1a12cd1a9a], getName=br-int, > getOfport=65534, getPortUuid=Uuid > [_value=963afdf4-b908-46d6-b153-32d6b30e5f85]}}}, > TerminationPoint{getTpId=Uri [_value=vxlan-192.168.2.26], > augmentations={interface org.opendaylight.yang.gen.v1.u > rn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbTerm > inationPointAugmentation=OvsdbTerminationPointAugmentation{getIfindex=0, > getIngressPolicingBurst=0, getIngressPolicingRate=0, getInterfaceType=class > org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns. > yang.ovsdb.rev150105.InterfaceTypeVxlan, getInterfaceUuid=Uuid > [_value=fa8eca30-cba1-494c-a039-8019eac50c87], > getName=vxlan-192.168.2.26, getOfport=6, > getOptions=[Options{getOption=local_ip, > getValue=192.168.2.1, augmentations={}}, Options{getOption=remote_ip, > getValue=192.168.2.26, augmentations={}}, Options{getOption=key, > getValue=flow, augmentations={}}], getPortExternalIds=[PortExtern > alIds{getExternalIdKey=opendaylight-iid, getExternalIdValue=/network-to > pology:network-topology/network-topology:topology[network- > topology:topology-id='ovsdb:1']/network-topology:node[ > network-topology:node-id='ovsdb://uuid/7e64138d-8a76-4f1 > 6-a6d8-35095922bf60/bridge/br-int']/network-topology:termina > tion-point[network-topology:tp-id='vxlan-192.168.2.26'], > augmentations={}}], getPortUuid=Uuid > [_value=e91778e6-e44f-49bb-a8da-180a8b5e1a93]}}}, > TerminationPoint{getTpId=Uri [_value=vxlan-192.168.2.2], > augmentations={interface org.opendaylight.yang.gen.v1.u > rn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbTerm > inationPointAugmentation=OvsdbTerminationPointAugmentation{getIfindex=0, > getIngressPolicingBurst=0, getIngressPolicingRate=0, getInterfaceType=class > org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns. > yang.ovsdb.rev150105.InterfaceTypeVxlan, getInterfaceUuid=Uuid > [_value=4b8ff9cf-8a55-43fa-9a4a-6aeba7e0e0cd], getName=vxlan-192.168.2.2, > getOfport=1, getOptions=[Options{getOption=local_ip, > getValue=192.168.2.1, augmentations={}}, Options{getOption=remote_ip, > getValue=192.168.2.2, augmentations={}}, Options{getOption=key, > getValue=flow, augmentations={}}], getPortExternalIds=[PortExtern > alIds{getExternalIdKey=opendaylight-iid, getExternalIdValue=/network-to > pology:network-topology/network-topology:topology[network- > topology:topology-id='ovsdb:1']/network-topology:node[ > network-topology:node-id='ovsdb://uuid/7e64138d-8a76-4f1 > 6-a6d8-35095922bf60/bridge/br-int']/network-topology:termina > tion-point[network-topology:tp-id='vxlan-192.168.2.2'], > augmentations={}}], getPortUuid=Uuid > [_value=be986ca9-c1a4-427b-a729-6f5d7675317e]}}}], > augmentations={interface org.opendaylight.yang.gen.v1.u > rn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbBrid > geAugmentation=OvsdbBridgeAugmentation{getBridgeExternalIds= > [BridgeExternalIds{getBridgeExternalIdKey=opendaylight-iid, > getBridgeExternalIdValue=/network-topology:network-topology/ > network-topology:topology[network-topology:topology-id=' > ovsdb:1']/network-topology:node[network-topology:node-id= > 'ovsdb://uuid/7e64138d-8a76-4f16-a6d8-35095922bf60/bridge/br-int'], > augmentations={}}], getBridgeName=OvsdbBridgeName [_value=br-int], > getBridgeOpenflowNodeRef=KeyedInstanceIdentifier{targetType=interface > org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.netw > ork.topology.rev131021.network.topology.topology.Node, path=[ > org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yan > g.network.topology.rev131021.NetworkTopology, > org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.netw > ork.topology.rev131021.network.topology.Topology[key=TopologyKey > [_topologyId=Uri [_value=ovsdb:1]]], org.opendaylight.yang.gen.v1.u > rn.tbd.params.xml.ns.yang.network.topology.rev131021.network > .topology.topology.Node[key=NodeKey [_nodeId=Uri > [_value=ovsdb://uuid/7e64138d-8a76-4f16-a6d8-35095922bf60]]]]}, > getBridgeOtherConfigs=[BridgeOtherConfigs{getBridgeOtherConfigKey=hwaddr, > getBridgeOtherConfigValue=ac:ad:fe:4b:69:43, augmentations={}}, > BridgeOtherConfigs{getBridgeOtherConfigKey=disable-in-band, > getBridgeOtherConfigValue=true, augmentations={}}], getBridgeUuid=Uuid > [_value=22adf6f1-28d7-4098-a0f7-df732d3e1f9f], > getControllerEntry=[ControllerEntry{getControllerUuid=Uuid > [_value=9eb78a2f-e62f-4ae1-8c6f-21c3ac901d51], getTarget=Uri [_value=tcp: > 192.168.0.3:6653], isIsConnected=true, augmentations={}}], > getDatapathId=DatapathId [_value=00:00:ac:ad:fe:4b:69:43], > getDatapathType=class org.opendaylight.yang.gen.v1.u > rn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.DatapathTypeSystem, > getFailMode=class org.opendaylight.yang.gen.v1.u > rn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbFailModeSecure, > getManagedBy=OvsdbNodeRef [_value=KeyedInstanceIdentifier{targetType=interface > org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.netw > ork.topology.rev131021.network.topology.topology.Node, path=[ > org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yan > g.network.topology.rev131021.NetworkTopology, > org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.netw > ork.topology.rev131021.network.topology.Topology[key=TopologyKey > [_topologyId=Uri [_value=ovsdb:1]]], org.opendaylight.yang.gen.v1.u > rn.tbd.params.xml.ns.yang.network.topology.rev131021.network > .topology.topology.Node[key=NodeKey [_nodeId=Uri > [_value=ovsdb://uuid/7e64138d-8a76-4f16-a6d8-35095922bf60]]]]}], > getProtocolEntry=[ProtocolEntry{getProtocol=class > org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns. > yang.ovsdb.rev150105.OvsdbBridgeProtocolOpenflow13, augmentations={}}]}}} > > > > One thing I am not able to understand is that ODL is trying to get RSP > ‘Path-mychain-Path-114’, which is not there. When I check the RSP in the > DLUX SFC UI, I saw the RSP as ‘Path-mychain-Path-140’. Am I missing > anything here? > > This and the logs above match what Brady suspected - the chain isn't being > built or the wrong one being requested. in the workflow you build the > chain, then add the classifier. Those are the awarnings you see form > netvirt - it can't get the RSP. The other warning is not finding the vxgpe > port, which also added during the chain creation. > > Seems like I recall a bug at some point where the wrong chain name was > used. Can't remember if that was from the tacker side or something else. > Maybe Brady can remember. > > > > Regards, > > Srikanth. > > > > *From:* Srikanth Lingala > *Sent:* Tuesday, February 07, 2017 9:50 PM > *To:* 'Brady Allen Johnson' <brady.allen.john...@ericsson.com>; > sfc-...@lists.opendaylight.org; opnfv-tech-discuss@lists.opnfv.org > *Cc:* Ferenc Cserepkei <ferenc.cserep...@ericsson.com>; Manuel Buil < > manuel.b...@ericsson.com>; Rozet, Tim <tro...@redhat.com>; Veera.Reddy B < > veer...@nxp.com>; Gorja Gorja <prasad.go...@nxp.com> > *Subject:* RE: [SFC] ODL SFC with single compute node and OVS 2.6.1 NSH > patches > > > > Hi Brady, > > While adding SFC and SFC Classifier, I can’t see any valid errors in > karaf.log. Anyways, I am pasting WARN and ERROR logs of sfc in the below > link: > > Karaf warning messages: > > http://pastebin.com/PCa4QFft > > > > Karaf error messages: > > http://pastebin.com/34CmBjZW > > > > But, some of the karaf logs are old ones also. > > > > And also, I observer below errors at Openvswitch log > (/var/log/openvswitch/ovs-vswitchd2.log): > > > > 2017-02-06T18:34:59.555Z|00110|netdev_vport|WARN|vxgpe: unknown vxlan > argument 'nsp' > > 2017-02-06T18:34:59.555Z|00111|netdev_vport|WARN|vxgpe: unknown vxlan > argument 'nshc2' > > 2017-02-06T18:34:59.555Z|00112|netdev_vport|WARN|vxgpe: unknown vxlan > argument 'nshc3' > > 2017-02-06T18:34:59.555Z|00113|netdev_vport|WARN|vxgpe: unknown vxlan > argument 'nshc4' > > 2017-02-06T18:34:59.556Z|00114|netdev_vport|WARN|vxgpe: unknown vxlan > argument 'nsi' > > 2017-02-06T18:34:59.556Z|00115|netdev_vport|WARN|vxgpe: unknown vxlan > argument 'nshc1' > > 2017-02-06T18:34:59.556Z|00116|netdev_linux|WARN|br-int: removing > policing failed: Operation not supported > > 2017-02-06T18:34:59.556Z|00117|netdev_linux|WARN|br-phy1: removing > policing failed: Operation not supported > > 2017-02-06T18:36:15.772Z|00001|ofproto_dpif_xlate(pmd9)|ERR|over max > translation depth 64: tcp,in_port=4,vlan_tci=0x0000, > dl_src=fa:16:3e:f1:08:d3,dl_dst=fa:16:3e:03:7c:6a,nw_src=123 > .123.123.5,nw_dst=123.123.123.4,nw_tos=0,nw_ecn=0,nw_ttl=64, > tp_src=2000,tp_dst=80,tcp_flags=syn > > 2017-02-06T18:36:17.029Z|00001|ofproto_dpif_xlate(revalidator10)|ERR|over > max translation depth 64: tcp,in_port=4,vlan_tci=0x0000, > dl_src=fa:16:3e:f1:08:d3,dl_dst=fa:16:3e:03:7c:6a,nw_src=123 > .123.123.5,nw_dst=123.123.123.4,nw_tos=0,nw_ecn=0,nw_ttl=64, > tp_src=2000,tp_dst=80,tcp_flags=syn > > 2017-02-06T18:36:46.820Z|00002|ofproto_dpif_xlate(pmd9)|ERR|over max > translation depth 64: tcp,in_port=4,vlan_tci=0x0000, > dl_src=fa:16:3e:f1:08:d3,dl_dst=fa:16:3e:03:7c:6a,nw_src=123 > .123.123.5,nw_dst=123.123.123.4,nw_tos=0,nw_ecn=0,nw_ttl=64, > tp_src=2000,tp_dst=80,tcp_flags=syn > > 2017-02-06T18:37:18.884Z|00003|ofproto_dpif_xlate(pmd9)|ERR|over max > translation depth 64: tcp,in_port=4,vlan_tci=0x0000, > dl_src=fa:16:3e:f1:08:d3,dl_dst=fa:16:3e:03:7c:6a,nw_src=123 > .123.123.5,nw_dst=123.123.123.4,nw_tos=0,nw_ecn=0,nw_ttl=64, > tp_src=2000,tp_dst=80,tcp_flags=syn > > 2017-02-06T18:37:19.580Z|00002|ofproto_dpif_xlate(revalidator10)|ERR|over > max translation depth 64: tcp,in_port=4,vlan_tci=0x0000, > dl_src=fa:16:3e:f1:08:d3,dl_dst=fa:16:3e:03:7c:6a,nw_src=123 > .123.123.5,nw_dst=123.123.123.4,nw_tos=0,nw_ecn=0,nw_ttl=64, > tp_src=2000,tp_dst=80,tcp_flags=syn > > > > Does the above error messages are anything to do with the adding of SFC > flows in the compute node? > > > > Regards, > > Srikanth. > > > > *From:* Brady Allen Johnson [mailto:brady.allen.john...@ericsson.com > <brady.allen.john...@ericsson.com>] > *Sent:* Tuesday, February 07, 2017 3:55 PM > *To:* Srikanth Lingala <srikanth.ling...@nxp.com>; > sfc-...@lists.opendaylight.org; opnfv-tech-discuss@lists.opnfv.org > *Cc:* Ferenc Cserepkei <ferenc.cserep...@ericsson.com>; Manuel Buil < > manuel.b...@ericsson.com>; Rozet, Tim <tro...@redhat.com>; Veera.Reddy B < > veer...@nxp.com>; Gorja Gorja <prasad.go...@nxp.com> > *Subject:* [SFC] ODL SFC with single compute node and OVS 2.6.1 NSH > patches > > > > > Srikanth, > > The reason wget works and doesnt send packets to the VM is because your > classification rule (pasted below) matches on srcPort=2000 and dstPort=80, > but you dont specify the srcPort with wget, so the packets dont match > classification, and subsequently dont get sent to SFC (hence they dont go > the VNF VM). The packets go directly from the client to the server. > > This is your classification flow: > > cookie=0x1110010000510255, duration=1268.611s, table=11, n_packets=896, > n_bytes=66304, tcp,reg0=0x1,tp_src=2000,tp_dst=80 > actions=move:NXM_NX_TUN_ID[0..31]->NXM_NX_NSH_C2[],push_nsh, > load:0x1->NXM_NX_NSH_MDTYPE[],load:0x3->NXM_NX_NSH_NP[],load > :0xc0a8001a->NXM_NX_NSH_C1[],load:0x33->NXM_NX_NSP[0..23], > load:0xff->NXM_NX_NSI[],load:0x7b7b7b03->NXM_NX_TUN_IPV4_DST > [],load:0x33->NXM_NX_TUN_ID[0..31],resubmit(,0) > > > Looking at the flows in more detail, I dont see the SFC flows, which is > why the packets dont go to the VNF VM when you use curl. When SFC is used > with Netvirt for OPNFV (which is what you're doing here) the SFC flows > should be in tables 0 and tables 152-158. The largest table I see here is > 111. Netvirt is working correctly, and sending the packets to SFC, but the > SFC flows dont exist. > > Can you check the ODL logs to see if something failed in SFC. The ODL logs > are usually in /opt/opendaylight/data/logs/karaf.log* Just do this grep > to see what happened: > > grep -i sfc /opt/opendaylight/data/logs/karaf.log* > > > Regards, > > Brady > > On 07/02/17 09:24, Srikanth Lingala wrote: > > Hi, > > My setup includes: > > · One Openstack Controller with ODL (of course with SFC) which is > deployed through OPNFV Colorado 3.0 > > · One aarch64 Compute Node (OpenStack Mitaka), which is attached > to the above OS Controller > > > > I downloaded OVS 2.6.1 from OVS git hub and applied NSH patches from below > URL: > > > > https://github.com/yyang13/ovs_nsh_patches/tree/master/v2.6.1 > > > > I am able to create the SFC attributes like VNFD, VNF, Chain, and > Classifier through Tim Rozet SFC walkthrough ( > https://github.com/trozet/sfc-random/blob/master/tacker_sfc > _apex_walkthrough.txt). And also, I launched VNF, http_server and > http_client VM’s on the same compute node. > > All the related NSH flows are added to the bridge ‘br-int’ in the compute > node without fail. > > > > But, when I execute the command ‘*curl --local-port 2000 123.123.123.4*’ > from the http_client VM, I am getting the below error message: > > > > *curl: (7) Failed to connect to 123.123.123.4 port 80: Connection timed > out* > > > > When I execute the command ‘*wget 123.123.123.4*’ from the http_client > VM, I am getting the 200 OK response. > > But, in both the cases, no VxLAN packets are coming at the tacker VNF VM > (using vxlan_tool.py). > > > > OVS bridges and flows details of Compute Node are given at the below link: > > http://pastebin.com/MEN7dk8n > > > > Can anyone give me some clue, to debug the issue. > > > > I also want to know, whether anyone one are succeeded while executing SFC > across compute node through ODL and OVS 2.6.1 with NSH patches from Yang. > > Thanks for the help. > > > > Regards, > > Srikanth. > > > > > _______________________________________________ > sfc-dev mailing list > sfc-...@lists.opendaylight.org > https://lists.opendaylight.org/mailman/listinfo/sfc-dev > > >
_______________________________________________ opnfv-tech-discuss mailing list opnfv-tech-discuss@lists.opnfv.org https://lists.opnfv.org/mailman/listinfo/opnfv-tech-discuss