Just confirmed, prefix is explicitly specified for IPv4 matches as can
be seen at [1], search for 'ipv4-source'

Karthik,
Can you try with explicit prefix specified?

Regards,
Vishal.


[1] 
https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/netvirt-csit-1node-openstack-queens-upstream-stateful-snat-conntrack-oxygen/280/robot-plugin/log_03_external_network.html.gz#s1-t12-k5-k2-k1-k2-k38-k3

On Thu, May 31, 2018 at 8:57 AM, 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