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_
> LinkLocal_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-
> inventory:nodes
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >> {
> >> >>
> >> >>                         "id": 240,
> >> >>
> >> >>                         "flow": [
> >> >>
> >> >>                             {
> >> >>
> >> >>                                 "id":
> >> >> "Ingress_ICMPv6_392318374877_5_fa:16:3e:b4:84:92_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": 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

Reply via email to