Hi Karthik, I agreed with your mail. It is indeed an OFP issue. If no exceptions in karaf, capture wireshark and see what is OFP sending and/or if any error from OVS. I know you attached wireshark with original mail, but that was without any prefix.
Regards, Vishal. On Thu, May 31, 2018 at 5:12 PM, Karthikeyan <[email protected]> wrote: > Hi Vishal, > > As i mentioned earlier "ipv6-source" with CIDR /128 is getting > programmed properly. If i tried adding CIDR value is /64 is then it is not > getting programmed. Shared both /128 and /64 inventory config data store > values. I have verified the karaf logs for any exception or error related > to programming this flow entry and not able to see any problem from NETVIRT > side. I am not sure about on Openflow Plugin side why /64 is not accepting > as a mask field in ipv6-source address match. > > *Below manual experimental was tried on OVS switch: * > > *Flow Added* > sudo ovs-ofctl -O OpenFlow13 add-flow br-int "table=240, n_packets=0, > n_bytes=0, priority=63010,icmp6,reg6=0x100/0xfffff00,icmp_type=134, > icmp_code=0,*ipv6_src=fe80:0:0:0:f816:3eff:fe18:bde2/64* > actions=resubmit(,220)" > > *Programmed Flow:* > cookie=0x0, duration=7.919s, table=240, n_packets=0, n_bytes=0, > priority=63010,icmp6,reg6=0x100/0xfffff00,*ipv6_src=fe80::/64*,icmp_type=134,icmp_code=0 > actions=resubmit(,220) > > > The above programmed flow only i am expecting to be programmed on OVS > switch side when i am passing /64 CIDR value from application.But it is not > working. > *Not Working Scenario (CIDR /64)* > restconf/config/opendaylight-inventory:nodes > > { > "id": "Ingress_ICMPv6_392318374877_ > 1_fe80:0:0:0:f816:3eff:fec5:d45f_134_LinkLocal_Permit_", > "priority": 63010, > "table_id": 240, > "hard-timeout": 0, > "installHw": true, > "match": { > "ethernet-match": { > "ethernet-type": { > "type": 34525 > } > }, > "ip-match": { > "ip-protocol": 58 > }, > "icmpv6-match": { > "icmpv6-code": 0, > "icmpv6-type": 134 > }, > > "openflowplugin-extension-general:extension-list": > [ > { > "extension-key": > "openflowplugin-extension-nicira-match:nxm-nx-reg6-key", > "extension": { > > "openflowplugin-extension-nicira-match:nxm-nx-reg": > { > "reg": > "nicira-match:nxm-nx-reg6", > "mask": 268435200, > "value": 256 > } > } > } > ], > * "ipv6-source": > "fe80:0:0:0:f816:3eff:fec5:d45f/64"* > }, > "strict": false, > "cookie": 110100480, > "flow-name": "ACL", > "instructions": { > "instruction": [ > { > "order": 0, > "apply-actions": { > "action": [ > { > "order": 0, > > "openflowplugin-extension-nicira-action:nx-resubmit": { > "table": 220 > } > } > ] > } > } > ] > }, > "idle-timeout": 0, > "barrier": false > } > > *Working Scenario (CIDR /128)* > > restconf/config/opendaylight-inventory:nodes > > { > "id": "Ingress_ICMPv6_392318374877_1 > _fe80:0:0:0:f816:3eff:fe18:bde2_134_LinkLocal_Permit_", > "priority": 63010, > "table_id": 240, > "hard-timeout": 0, > "installHw": true, > "match": { > "ethernet-match": { > "ethernet-type": { > "type": 34525 > } > }, > "ip-match": { > "ip-protocol": 58 > }, > "icmpv6-match": { > "icmpv6-code": 0, > "icmpv6-type": 134 > }, > > "openflowplugin-extension-general:extension-list": > [ > { > "extension-key": > "openflowplugin-extension-nicira-match:nxm-nx-reg6-key", > "extension": { > > "openflowplugin-extension-nicira-match:nxm-nx-reg": { > "reg": > "nicira-match:nxm-nx-reg6", > "mask": 268435200, > "value": 256 > } > } > } > ], > * "ipv6-source": > "fe80:0:0:0:f816:3eff:fe18:bde2/128"* > }, > "strict": false, > "cookie": 110100480, > "flow-name": "ACL", > "instructions": { > "instruction": [ > { > "order": 0, > "apply-actions": { > "action": [ > { > "order": 0, > > "openflowplugin-extension-nicira-action:nx-resubmit": { > "table": 220 > } > } > ] > } > } > ] > }, > "idle-timeout": 0, > "barrier": false > } > > > Thanks & Regards, > Karthikeyan. > > On Thu, May 31, 2018 at 10:44 AM, Vishal Thapar <[email protected]> > wrote: > >> I had my response sitting in drafts. >> >> Hi Karthik, >> Yes, it should support CIDR of any length. Can you check the logs for >> any exceptions or error messages? >> >> Regards, >> Vishal. >> >> On Thu, May 31, 2018 at 9:08 AM, Karthikeyan >> <[email protected]> wrote: >> > Hi Arun/Vishal, >> > Thanks for looking into this issue. >> > >> > When I was trying with IPv6 Source address CIDR value is /64 (Mask) >> flow is >> > not getting programmed on the OVS switch. >> > >> > Working Scenario: >> > Tried with CIDR /10 and /128 and flows are getting programmed >> properly as >> > expected. >> > >> > Concerned Scenario: >> > It should work for any valid IPv6 CIDR range(/1 to /128). Please >> confirm >> > whether this range is supported or it is invalid?. >> > >> > Thanks and Regards, >> > Karthukeyan. >> > >> > On Thu, 31 May 2018, 8:57 a.m. Vishal Thapar, <[email protected]> >> wrote: >> >> >> >> Hi Arun, >> >> >> >> Sure, will check. I just want it to be consistent between two. If we >> >> need explicit prefix for IPv4, require it for Ipv6 too. >> >> >> >> Regards, >> >> Vishal. >> >> >> >> On Thu, May 31, 2018 at 8:40 AM, D Arunprakash >> >> <[email protected]> wrote: >> >> > Hi Vishal, >> >> > Even I'm finding ipv4 address has prefix in config inventory. Could >> you >> >> > please cross check how apps writes into config ds? >> >> > >> >> > Also, when I push the ipv6 flow without prefix, it was failing for me >> >> > with NumberFormatException and not sure how it works for Karthikeyan. >> >> > >> >> > "ipv4-source": "10.10.0.4/32", >> >> > >> >> > Even the model is using ipv6-prefix. >> >> > >> >> > grouping "ipv6-match-fields" { >> >> > leaf ipv6-source { >> >> > description "IPv6 source address."; >> >> > type inet:ipv6-prefix; >> >> > } >> >> > >> >> > leaf ipv6-destination { >> >> > description "IPv6 destination address."; >> >> > type inet:ipv6-prefix; >> >> > } >> >> > grouping "ipv4-match-fields" { >> >> > leaf ipv4-source { >> >> > description "IPv4 source address."; >> >> > type inet:ipv4-prefix; >> >> > } >> >> > >> >> > leaf ipv4-destination { >> >> > description "IPv4 destination address."; >> >> > type inet:ipv4-prefix; >> >> > } >> >> > >> >> > } >> >> > >> >> > >> >> > Regards, >> >> > Arun >> >> > -----Original Message----- >> >> > From: Vishal Thapar [mailto:[email protected]] >> >> > Sent: Thursday, May 31, 2018 6:36 AM >> >> > To: D Arunprakash <[email protected]> >> >> > Cc: Karthikeyan <[email protected]>; Sridhar Alaparthi >> >> > <[email protected]>; netvirt-dev >> >> > <[email protected]>; >> >> > [email protected]; Naveen Manyam Subramanyam >> >> > <[email protected]> >> >> > Subject: Re: [openflowplugin-dev] OpenflowPlugin: Invalid length for >> >> > IPv6 Address in OXM field - Reg >> >> > >> >> > Hi Arun, >> >> > >> >> > Applications don't have to specify prefix length '/32' for IPv4 >> >> > addresses so why do they need to explicitly specify it for IPv6? >> Just as OFP >> >> > defaults /32 for IPv4, can't it use /128 for IPv6 addresses? >> >> > >> >> > Regards, >> >> > Vishal. >> >> > >> >> > On Thu, May 31, 2018 at 12:56 AM, D Arunprakash >> >> > <[email protected]> wrote: >> >> >> Hi Karthikeyan, >> >> >> >> >> >> Ipv6 address is 128 bits, which means oxm value length should be 16 >> >> >> bytes 128. >> >> >> >> >> >> >> >> >> >> >> >> Normally ipv6 address will be represented with prefix length. >> (/128). >> >> >> >> >> >> >> >> >> >> >> >> Used your config flow and just added /128 to the ipv6 src address >> and >> >> >> programmed without any issues. >> >> >> >> >> >> >> >> >> >> >> >> "ipv6-source": >> >> >> "fe80:0:0:0:f816:3eff:feb4:8492/128" >> >> >> >> >> >> >> >> >> >> >> >> Config ds dump: >> >> >> >> >> >> "flow-node-inventory:table": [ >> >> >> >> >> >> { >> >> >> >> >> >> "id": 240, >> >> >> >> >> >> "flow": [ >> >> >> >> >> >> { >> >> >> >> >> >> "id": >> >> >> "Ingress_ICMPv6_392318374877_5_fa:16:3e:b4:84:92_134_LinkLoc >> al_Permit_ >> >> >> ", >> >> >> >> >> >> "table_id": 240, >> >> >> >> >> >> "installHw": true, >> >> >> >> >> >> "strict": false, >> >> >> >> >> >> "flow-name": "ACL", >> >> >> >> >> >> "idle-timeout": 0, >> >> >> >> >> >> "barrier": false, >> >> >> >> >> >> "priority": 63010, >> >> >> >> >> >> "hard-timeout": 0, >> >> >> >> >> >> "match": { >> >> >> >> >> >> "ethernet-match": { >> >> >> >> >> >> "ethernet-type": { >> >> >> >> >> >> "type": 34525 >> >> >> >> >> >> } >> >> >> >> >> >> }, >> >> >> >> >> >> "ip-match": { >> >> >> >> >> >> "ip-protocol": 58 >> >> >> >> >> >> }, >> >> >> >> >> >> "icmpv6-match": { >> >> >> >> >> >> "icmpv6-code": 0, >> >> >> >> >> >> "icmpv6-type": 134 >> >> >> >> >> >> }, >> >> >> >> >> >> >> >> >> "openflowplugin-extension-general:extension-list": [ >> >> >> >> >> >> { >> >> >> >> >> >> "extension-key": >> >> >> "openflowplugin-extension-nicira-match:nxm-nx-reg6-key", >> >> >> >> >> >> "extension": { >> >> >> >> >> >> >> >> >> "openflowplugin-extension-nicira-match:nxm-nx-reg": { >> >> >> >> >> >> "reg": >> >> >> "nicira-match:nxm-nx-reg6", >> >> >> >> >> >> "mask": 268435200, >> >> >> >> >> >> "value": 1280 >> >> >> >> >> >> } >> >> >> >> >> >> } >> >> >> >> >> >> } >> >> >> >> >> >> ], >> >> >> >> >> >> "ipv6-source": >> >> >> "fe80:0:0:0:f816:3eff:feb4:8492/128" >> >> >> >> >> >> }, >> >> >> >> >> >> "cookie": 110100480, >> >> >> >> >> >> "instructions": { >> >> >> >> >> >> "instruction": [ >> >> >> >> >> >> { >> >> >> >> >> >> "order": 0, >> >> >> >> >> >> "apply-actions": { >> >> >> >> >> >> "action": [ >> >> >> >> >> >> { >> >> >> >> >> >> "order": 0, >> >> >> >> >> >> >> >> >> "openflowplugin-extension-nicira-action:nx-resubmit": { >> >> >> >> >> >> "table": 220 >> >> >> >> >> >> } >> >> >> >> >> >> } >> >> >> >> >> >> ] >> >> >> >> >> >> } >> >> >> >> >> >> } >> >> >> >> >> >> ] >> >> >> >> >> >> } >> >> >> >> >> >> } >> >> >> >> >> >> ] >> >> >> >> >> >> } >> >> >> >> >> >> ] >> >> >> >> >> >> >> >> >> >> >> >> openstack@ubuntu:~$ flows >> >> >> >> >> >> cookie=0x6900000, duration=221.163s, table=240, n_packets=0, >> >> >> n_bytes=0, >> >> >> priority=63010,icmp6,reg6=0x500/0xfffff00,ipv6_src=fe80:: >> f816:3eff:feb >> >> >> 4:8492,icmp_type=134,icmp_code=0 >> >> >> actions=resubmit(,220) >> >> >> >> >> >> >> >> >> >> >> >> Regards, >> >> >> >> >> >> Arun >> >> >> >> >> >> >> >> >> >> >> >> From: [email protected] >> >> >> [mailto:[email protected]] On >> Behalf >> >> >> Of Karthikeyan >> >> >> Sent: Tuesday, May 29, 2018 8:58 PM >> >> >> To: Vishal Thapar <[email protected]> >> >> >> Cc: Sridhar Alaparthi <[email protected]>; netvirt-dev >> >> >> <[email protected]>; >> >> >> [email protected]; Naveen Manyam >> Subramanyam >> >> >> <[email protected]> >> >> >> Subject: Re: [openflowplugin-dev] OpenflowPlugin: Invalid length for >> >> >> IPv6 Address in OXM field - Reg >> >> >> >> >> >> >> >> >> >> >> >> Hi Vishal, >> >> >> >> >> >> >> >> >> >> >> >> Please find below inventory config DS entry for the same. >> >> >> >> >> >> >> >> >> >> >> >> http://192.168.56.1:8181/restconf/config/opendaylight-invent >> ory:nodes >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> { >> >> >> >> >> >> "id": 240, >> >> >> >> >> >> "flow": [ >> >> >> >> >> >> { >> >> >> >> >> >> "id": >> >> >> "Ingress_ICMPv6_392318374877_5_fa:16:3e:b4:84:92_134_LinkLoc >> al_Permit_ >> >> >> ", >> >> >> >> >> >> "priority": 63010, >> >> >> >> >> >> "table_id": 240, >> >> >> >> >> >> "hard-timeout": 0, >> >> >> >> >> >> "installHw": true, >> >> >> >> >> >> "match": { >> >> >> >> >> >> "ethernet-match": { >> >> >> >> >> >> "ethernet-type": { >> >> >> >> >> >> "type": 34525 >> >> >> >> >> >> } >> >> >> >> >> >> }, >> >> >> >> >> >> "ip-match": { >> >> >> >> >> >> "ip-protocol": 58 >> >> >> >> >> >> }, >> >> >> >> >> >> "icmpv6-match": { >> >> >> >> >> >> "icmpv6-code": 0, >> >> >> >> >> >> "icmpv6-type": 134 >> >> >> >> >> >> }, >> >> >> >> >> >> >> >> >> "openflowplugin-extension-general:extension-list": [ >> >> >> >> >> >> { >> >> >> >> >> >> "extension-key": >> >> >> "openflowplugin-extension-nicira-match:nxm-nx-reg6-key", >> >> >> >> >> >> "extension": { >> >> >> >> >> >> >> >> >> "openflowplugin-extension-nicira-match:nxm-nx-reg": { >> >> >> >> >> >> "reg": >> >> >> "nicira-match:nxm-nx-reg6", >> >> >> >> >> >> "mask": >> 268435200, >> >> >> >> >> >> "value": 1280 >> >> >> >> >> >> } >> >> >> >> >> >> } >> >> >> >> >> >> } >> >> >> >> >> >> ], >> >> >> >> >> >> "ipv6-source": >> >> >> "fe80:0:0:0:f816:3eff:feb4:8492" >> >> >> >> >> >> }, >> >> >> >> >> >> "strict": false, >> >> >> >> >> >> "cookie": 110100480, >> >> >> >> >> >> "flow-name": "ACL", >> >> >> >> >> >> "instructions": { >> >> >> >> >> >> "instruction": [ >> >> >> >> >> >> { >> >> >> >> >> >> "order": 0, >> >> >> >> >> >> "apply-actions": { >> >> >> >> >> >> "action": [ >> >> >> >> >> >> { >> >> >> >> >> >> "order": 0, >> >> >> >> >> >> >> >> >> "openflowplugin-extension-nicira-action:nx-resubmit": { >> >> >> >> >> >> "table": >> >> >> 220 >> >> >> >> >> >> } >> >> >> >> >> >> } >> >> >> >> >> >> ] >> >> >> >> >> >> } >> >> >> >> >> >> } >> >> >> >> >> >> ] >> >> >> >> >> >> }, >> >> >> >> >> >> "idle-timeout": 0, >> >> >> >> >> >> "barrier": false >> >> >> >> >> >> } >> >> >> >> >> >> >> >> >> >> >> >> Thanks & Regards, >> >> >> >> >> >> Karthikeyan. >> >> >> >> >> >> >> >> >> >> >> >> On Tue, May 29, 2018 at 7:17 PM, Vishal Thapar <[email protected]> >> >> >> wrote: >> >> >> >> >> >> Hi Karthik, >> >> >> >> >> >> Can you also share the flow being added to config DS? >> >> >> >> >> >> Regards, >> >> >> Vishal. >> >> >> >> >> >> >> >> >> On Tue, May 29, 2018 at 6:16 PM, Karthikeyan >> >> >> <[email protected]> wrote: >> >> >>> Hi OpenflowPlugin/Netvirt Team, >> >> >>> >> >> >>> I am trying to add IPv6 address as a source address of one of the >> >> >>> match criteria in while constructing openflow from netvirt project >> >> >>> and observed that IPv6 source address field (OXM) length is going >> >> >>> with 32 bits instead of >> >> >>> 128 bits as a result expected flow is not getting programmed in OVS >> >> >>> switch. >> >> >>> Please find attached tcpdump file for getting exact OFPT_FLOW_MOD >> >> >>> request which has sent from ODL controller. >> >> >>> >> >> >>> Please let me know whether this issue is already existing in the >> >> >>> openflow plugin project or it is new one. >> >> >>> >> >> >>> >> >> >>> Wrong length value for IPv6 value: >> >> >>> >> >> >>> OXM field >> >> >>> Class: OFPXMC_OPENFLOW_BASIC (0x8000) >> >> >>> 0011 010. = Field: OFPXMT_OFB_IPV6_SRC (26) >> >> >>> .... ...1 = Has mask: True >> >> >>> Length: 32 >> >> >>> Value: fe80::f816:3eff:feb4:8492 >> >> >>> Mask: ffff:ffff:ffff:ffff:: >> >> >>> >> >> >>> >> >> >>> Manually i tried adding expected open flow as below and looks like >> >> >>> OVS switch is accepting. This gives the confirmation for problem is >> >> >>> existing on Openflow plugin project. >> >> >>> >> >> >>> sudo ovs-ofctl -O OpenFlow13 add-flow br-int "table=240, >> n_packets=0, >> >> >>> n_bytes=0, >> >> >>> >> >> >>> priority=63010,icmp6,reg6=0x100/0xfffff00,icmp_type=134,icmp >> _code=0,i >> >> >>> pv6_src=fe80:0:0:0:f816:3eff:fe05:e3ec >> >> >>> actions=resubmit(,220)" >> >> >>> >> >> >>> >> >> >>> >> >> >>> Tested Environment Details: >> >> >>> >> >> >>> ODL Version: Fluorine (Master) >> >> >>> >> >> >>> OVS Version: 2.9.0 (Protocol OF 1.3) >> >> >>> Openstack Version: Pike >> >> >>> >> >> >>> >> >> >>> >> >> >>> Note: >> >> >>> Please apply the below filter to get only for IPv6 address filed >> as a >> >> >>> source address. >> >> >>> >> >> >>> Apply filter : (Wireshark) >> >> >>> openflow_v4.type == 14 && openflow_v4.flowmod.table_id == 240 && >> >> >>> openflow_v4.oxm.field == 29 && openflow_v4.oxm.field == 26 && >> >> >>> openflow_v4.oxm.value == 86 >> >> >>> >> >> >>> >> >> >>> Thanks & Regards, >> >> >>> Karthikeyan. >> >> >>> >> >> >>> >> >> >>> >> >> >> >> >> >>> _______________________________________________ >> >> >>> openflowplugin-dev mailing list >> >> >>> [email protected] >> >> >>> https://lists.opendaylight.org/mailman/listinfo/openflowplugin-dev >> >> >>> >> >> >> >> >> >> >> > >
_______________________________________________ openflowplugin-dev mailing list [email protected] https://lists.opendaylight.org/mailman/listinfo/openflowplugin-dev
