Hi,

The apply actions executes the actions in the list order, so you need to
 add the push mpls tag action before the set_field actions. As we can see
in your flow, you are setting the values before the push action.

The push action sets only the ethertype, while the other fields are left
with the zero value, that's why you need to perform a set field action
after the push.

If your instruction were a write action (write actions to the action set,
which is executed in the end of the pipeline), the actions would be
performed in the desired order, as the push action is executed before the
set field in th action set.

Regards,
Eder.


On 28 June 2013 11:42, Christian Esteve Rothenberg <
chest...@dca.fee.unicamp.br> wrote:

> Laxman,
>
> do the packets you captured with wireshark have MPLS fields with zero
> values or no MPLS label at all?
>
> I have not worked myself with MPLS actions.
>
> I am copying the openflow-discuss list to see if other users of
> softswitch can help you better than myself.
>
> -Christian
> >
> >> On Fri, Jun 28, 2013 at 9:26 AM, Laxman Vallandas
> >> <laxman.vallan...@lntinfotech.com> wrote:
> >>>
> >>> Dear Esteve,
> >>>
> >>> Hope you are doing good.
> >>>
> >>> This is Laxman Vallandas and am working in L&T infotech, India.
> >>>
> >>> I have been part of developing MPLS related modules for various
> networking
> >>> stacks.
> >>> Currently, I came across openflow protocol which is really exiting.
> So, I
> >>> just thought to check the functionality of MPLS using openflow.
> >>> I downloaded your Nox and Switch code(openflow 1.3 version).
> >>> Added some basic flow entries(switch functionality) via a handler
> created
> >>> in nox_main and tested Ping functionality.
> >>>              controller
> >>>                    |  openflow entry
> >>> Host1 --->Switch1--->Host2
> >>>
> >>> Similarly, added flow entry for MPLS push operation at switch1 as
> below:
> >>> root@remote-desktop:/home/ofsoftswitch13/utilities# ./dpctl
> >>> unix:/var/run/dp0 stats-flow
> >>> SENDING:
> >>> stat_req{type="flow", flags="0x0", table="all", oport="any",
> ogrp="any",
> >>> cookie=0x0", mask=0x0", match=oxm{all match}}
> >>>
> >>>  field->dl_type[0] dd86 ,(eth_type) 86dd
> >>> Jun 28 17:08:19|00001|ofl_act_u|WARN|[laxman]Unpacking MPLS_ACTION_PUSH
> >>>  field->dl_type[0] dd86 ,(eth_type) 86dd
> >>> RECEIVED:
> >>> stat_repl{type="flow", flags="0x0", stats=[{table="0",
> >>> match="oxm{eth_dst="00:1e:67:25:50:69", in_port="2",
> nw_dst_ipv6="2002::1",
> >>> nw_src_ipv6="2002::2", eth_src="00:21:91:8b:86:41",
> eth_type="0x86dd"}",
> >>> dur_s="4", dur_ns="539000", prio="32768", idle_to="10000", hard_to="0",
> >>> cookie="0x0", pkt_cnt="5", byte_cnt="590",
> >>> insts=[apply{acts=[set_field{field:[lax]mpls_label="512"},
> >>> mpls_ttl{ttl="3"}, mpls_psh{eth="0x8847"}, out{port="1"}]}]}]}
> >>>
> >>> ====>If my understanding is correct, if switch receives a packet with
> all
> >>> the above matching fields, set_field (mpls_label, outgoing label
> should be
> >>> set to 512) and ttl value should be set to 3 and then perform push
> operation
> >>> by modifying the ether type to 0x8847.
> >>>
> >>> But, in my case, though the match fields are getting satisfied, mpls
> >>> related fields are not getting set. MPLS label is '0' and ttl is '0'
> >>> (captured in wireshark).
> >>>
> >>> It would be a great help if you can help me in solving the above issue.
> >>> Please let me know if you need any details or logs.
> >>>
> >>> Thank you in advance.
> >>>
> >>> Best Regards,
> >>> Laxman Vallandas
> >>>
> >>> The contents of this e-mail and any attachment(s) may contain
> confidential
> >>> or privileged information for the intended recipient(s). Unintended
> >>> recipients are prohibited from taking action on the basis of
> information in
> >>> this e-mail and  using or disseminating the information,  and must
> notify
> >>> the sender and delete it from their system. L&T Infotech will not
> accept
> >>> responsibility or liability for the accuracy or completeness of, or the
> >>> presence of any virus or disabling code in this e-mail"
> >>
> >>
> >>
> >>
> >> --
> >> Christian Esteve Rothenberg, Ph.D.
> >> Converged Networks Business Unit
> >> CPqD - Center for Research and Development in Telecommunications
> >> Tel. (+55 19) 3705 4479 / Cel. (+55 19) 8193-7087
> >
> >
> >
> > --
> > Christian
>
> --
> Christian
> _______________________________________________
> openflow-discuss mailing list
> openflow-discuss@lists.stanford.edu
> https://mailman.stanford.edu/mailman/listinfo/openflow-discuss
>



-- 
Eder Leão Fernandes

Bacharelado em Ciências de Computação
Instituto de Ciências Matemáticas e de Computação
Universidade de São Paulo
_______________________________________________
openflow-discuss mailing list
openflow-discuss@lists.stanford.edu
https://mailman.stanford.edu/mailman/listinfo/openflow-discuss

Reply via email to