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
