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:feb4: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]<mailto:[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]<mailto:[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,ipv6_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]<mailto:[email protected]>
> https://lists.opendaylight.org/mailman/listinfo/openflowplugin-dev
>

Attachment: ipv6_src.pcapng
Description: ipv6_src.pcapng

_______________________________________________
openflowplugin-dev mailing list
[email protected]
https://lists.opendaylight.org/mailman/listinfo/openflowplugin-dev

Reply via email to