Hi Aswin, I think OVS has the intelligence to convert the prefix into respective network address. Tried to create flow directly to OVS using below IP prefix, OVS converting the prefix into network address.
sudo ovs-ofctl add-flow -O OpenFlow13 br-int "cookie=0x6900000, table=243, n_packets=0, n_bytes=0, priority=50,ip,metadata=0x1773000000/0xffff000000,nw_src=30.0.0.10/24 actions=resubmit(,220)" flow create in OVS: cookie=0x6900000, duration=3.494s, table=243, n_packets=0, n_bytes=0, priority=50,ip,metadata=0x1773000000/0xffff000000,nw_src=30.0.0.0/24 actions=resubmit(,220) we could see the netvirt the pushed flow to config data store which was not pushed to device by openflow plugin. https://jenkins.opendaylight.org/sandbox/job/netvirt-csit-1node-openstack-newton-nodl-v2-upstream-stateful-snat-conntrack-carbon/2/ I tested the same using openflow plugin added the flows using RESTCONF. Ip_src “10.0.10.2/24” was not pushed to OVS but created in configdata store. As you mentioned “10.0.10.0/24” and “10.0.10.2/32” are created in config data store as well as OVS. The below used guide also indicates “10.0.10.2/24” can be create using openflow plugin and the output will be “10.0.10.0/24” In ovs dump-flow. http://docs.opendaylight.org/en/stable-carbon/user-guide/openflow-plugin-project-user-guide.html#end-to-end-flows in my understanding this could be a openflow plugin bug. Please correct me if I am wrong. Attaching the flow output of config data store and flow dumps. Regards, Bala From: Aswin Suryanarayanan [mailto:[email protected]] Sent: Friday, June 09, 2017 6:14 PM To: Balakrishnan Karuppasamy Cc: [email protected] Subject: Re: reg.bug 8561 Hi Bala, The "ipv4-source": "30.0.0.2/24<http://30.0.0.2/24> is not a valid network address you may need to use 30.0.0.0/24<http://30.0.0.0/24>, which the OVS should also be expecting. If we still want to use 30.0.0.2/24<http://30.0.0.2/24> we need to have intelligence in netvirt to convert the ip prefix passed to the valid network address to which the ip belongs to before passing it to openflow plugin. Thanks Aswin On Fri, Jun 9, 2017 at 6:04 PM, Balakrishnan Karuppasamy <[email protected]<mailto:[email protected]>> wrote: Hi Aswin, We have analyzed the bug and found when we give “/24” as prefix flow is updated in config datastore but the same is not reflecting in OVS. The same behavior observed in openstack newton version. Modified CSIT SG case which was using “/32” for DHCP allow rule to “/24” found the flow was missing in table 243. Ping from DHCP instance to VM IP cases failed. Is the bug related to openflowplugin? https://jenkins.opendaylight.org/sandbox/job/netvirt-csit-1node-openstack-newton-nodl-v2-upstream-stateful-snat-conntrack-carbon/2/ Note: please download the log.htm to view the result due to some mistake unable to view the result directly Snippet: { "barrier": false, "cookie": 110100480, "flow-name": "ACL", "hard-timeout": 0, "id": "ICMP_Ingress220a0a768b-0d1f-42a2-9401-66defc4182a3", "idle-timeout": 0, "installHw": true, "instructions": { "instruction": [ { "apply-actions": { "action": [ { "openflowplugin-extension-nicira-action:nx-resubmit": { "table": 220 }, "order": 1 }, { "openflowplugin-extension-nicira-action:nx-conntrack": { "conntrack-zone": 5003, "flags": 1, "recirc-table": 255, "zone-src": 0 }, "order": 0 } ] }, "order": 0 } ] }, "match": { "ethernet-match": { "ethernet-type": { "type": 2048 } }, "ip-match": { "ip-protocol": 1 }, "ipv4-source": "30.0.0.2/24<http://30.0.0.2/24>", "openflowplugin-extension-general:extension-list": [ { "extension": { "openflowplugin-extension-nicira-match:nxm-nx-ct-state": { "ct-state": 33, "mask": 33 } }, "extension-key": "openflowplugin-extension-nicira-match:nxm-nx-ct-state-key" }, { "extension": { "openflowplugin-extension-nicira-match:nxm-nx-reg": { "mask": 268435200, "reg": "nicira-match:nxm-nx-reg6", "value": 5632 } }, "extension-key": "openflowplugin-extension-nicira-match:nxm-nx-reg6-key" } ] }, "priority": 1008, "strict": false, "table_id": 243 } ], "id": 243 }, Regards, Bala ::DISCLAIMER:: ---------------------------------------------------------------------------------------------------------------------------------------------------- The contents of this e-mail and any attachment(s) are confidential and intended for the named recipient(s) only. E-mail transmission is not guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or may contain viruses in transmission. The e mail and its contents (with or without referred errors) shall therefore not attach any liability on the originator or HCL or its affiliates. Views or opinions, if any, presented in this email are solely those of the author and may not necessarily reflect the views or opinions of HCL or its affiliates. Any form of reproduction, dissemination, copying, disclosure, modification, distribution and / or publication of this message without the prior written consent of authorized representative of HCL is strictly prohibited. If you have received this email in error please delete it and notify the sender immediately. Before opening any email and/or attachments, please check them for viruses and other defects. ----------------------------------------------------------------------------------------------------------------------------------------------------
config data store: http://10.106.138.138:8181/restconf/config/opendaylight-inventory:nodes { "nodes": { "node": [ { "id": "openflow:117063448964943", "flow-node-inventory:table": [ { "id": 0, "flow": [ { "id": "1_3", "instructions": { "instruction": [ { "order": 0, "apply-actions": { "action": [ { "order": 0, "dec-nw-ttl": {} } ] } } ] }, "match": { "ethernet-match": { "ethernet-type": { "type": 2048 } }, "ipv4-destination": "10.0.10.0/24" }, "priority": 2, "table_id": 0, "flow-name": "Foo" }, { "id": "1_2", "instructions": { "instruction": [ { "order": 0, "apply-actions": { "action": [ { "order": 0, "dec-nw-ttl": {} } ] } } ] }, "match": { "ethernet-match": { "ethernet-type": { "type": 2048 } }, "ipv4-destination": "10.0.10.2/32" }, "priority": 2, "table_id": 0, "flow-name": "Foo" }, { "id": "1_1", "instructions": { "instruction": [ { "order": 0, "apply-actions": { "action": [ { "order": 0, "dec-nw-ttl": {} } ] } } ] }, "match": { "ethernet-match": { "ethernet-type": { "type": 2048 } }, "ipv4-destination": "10.0.10.2/24" }, "priority": 2, "table_id": 0, "flow-name": "Foo" } ] } ] } ] } } [root@nic-centos ~]# sudo ovs-ofctl dump-flows br-int NXST_FLOW reply (xid=0x4): cookie=0x0, duration=2271.583s, table=0, n_packets=0, n_bytes=0, idle_age=2271, priority=2,ip,nw_dst=10.0.10.2 actions=dec_ttl cookie=0x0, duration=10.369s, table=0, n_packets=0, n_bytes=0, idle_age=10, priority=2,ip,nw_dst=10.0.10.0/24 actions=dec_ttl three flows created in data store only two reflected in OVS.
_______________________________________________ openflowplugin-dev mailing list [email protected] https://lists.opendaylight.org/mailman/listinfo/openflowplugin-dev
