On Wed, Mar 11, 2015 at 5:01 AM, Stefano Salsano
<stefano.sals...@uniroma2.it> wrote:
> Il 27/02/2015 00:52, Pravin Shelar ha scritto:
>>
>> On Thu, Feb 26, 2015 at 5:17 AM, Stefano Salsano wrote:
>>>
>>>
>>> there is a limit of 3 MPLS labels that are supported by Open vSwitch
>>> we need to raise it at 5 labels, to implement a segment routing scenario
>>>
>> You can start with changing FLOW_MAX_MPLS_LABELS to 5.
>
>
> Dear Pravin,
>
> thanks for your hint, we have tried and we realized that we also need to
> change an assert in lib/flow.h
>
> current code is
> BUILD_ASSERT_DECL(offsetof(struct flow, igmp_group_ip4) + sizeof(uint32_t)
> == sizeof(struct flow_tnl) + 192 && FLOW_WC_SEQ == 31);
>
> we need to change it into:
> BUILD_ASSERT_DECL(offsetof(struct flow, igmp_group_ip4) + sizeof(uint32_t)
> == sizeof(struct flow_tnl) + 176 + (4 * ROUND_UP(FLOW_MAX_MPLS_LABELS, 2))
> && FLOW_WC_SEQ == 31);
>
> basically, we need to split the 192 bytes in a fixed part of 176 bytes and
> in a part that depends on the number of supported MPLS labels
>
> we tried it, and it compiles and runs well :-)
>
> do you think it is OK ? do you want us to provide a patch ?
>
I think we need to handle any number of MPLS labels and not limit to
specific number. I discussed it offline with Jarno and it is doable
using single mpls label (in struct flow) and recirculation context. I
will work on it next week.

Thanks,
Pravin.
_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to