Can you help me with a suitable example to verify the working of set_field
action?

On Wed, Apr 8, 2015 at 11:02 AM, Ruchika Luthra <
h2013...@pilani.bits-pilani.ac.in> wrote:

> Thank you Nicholas.
>
> You are quite right. Actually my current point was just to experiment and
> see if the change done by set_field action can be reflected in the packet.
> You are right to point out my error about MPLS. I gave the example without
> thinking for which i apologize.
> if considering any other field, my point is just to see a packet with the
> changes reflected on it.
>
> On Wed, Apr 8, 2015 at 10:55 AM, Nicholas Bastin <nick.bas...@gmail.com>
> wrote:
>
>> On Tue, Apr 7, 2015 at 10:35 PM, Ruchika Luthra <
>> h2013...@pilani.bits-pilani.ac.in> wrote:
>>
>>> I am trying to modify a header field by using set_action instruction. I
>>> have been able to successfully add a flow table entry corresponding to
>>> this. But how can I actually verify if the change has taken place
>>> successfully in the packet.
>>>
>>> I have tried doing this:
>>>
>>> sudo dpctl unix:/tmp/s1 flow-mod cmd=add,table=0
>>> in_port=1,eth_dst=00:00:00:00:00:02 apply:output=2,set_field=eth_type=0x8848
>>>
>>> The flow table entry has been successfully inserted. But how to make
>>> sure that the change has been successfully applied?
>>>
>>
>> Primarily the way that you would see this change is via a tap on the
>> output port or running tcpdump on the end host in question.
>>
>> However, what you are asking the datapath to do is undefined, and, by the
>> rules of the MPLS spec, illegal.  You are asking the datapath to match any
>> packet incoming on port 1 with a specific destination MAC, and to change
>> the ethertype of this packet.  How do you imagine this will work?
>> Obviously the incoming packet has a specific format based on the original
>> ethertype - do you imagine that the datapath will do whatever magic mapping
>> is necessary to convert the packet?  It most certainly will not do this -
>> it will, at best (assuming it does not just drop the packet), simply
>> overwrite the 16 bits of the ethertype field with your new value,
>> essentially corrupting your packet.  Also, 0x8848 is reserved for MPLS
>> packets that are carried in multicast ethernet frames, but your match
>> specifies a destination MAC address that is *not* multicast and thus would
>> create a packet that will get dropped by any legacy MPLS hardware in your
>> path (including host NICs, in a lot of cases).
>>
>> Perhaps you need to step back and explain what you are trying to
>> accomplish at a high level, before asking how very specific things work.
>>
>> --
>> Nick
>>
>
>
>
> --
> Ruchika Luthra
> M.E (CS) 4th Sem
> BITS Pilani
>
>


-- 
Ruchika Luthra
M.E (CS) 4th Sem
BITS Pilani
_______________________________________________
openflow-discuss mailing list
openflow-discuss@lists.stanford.edu
https://mailman.stanford.edu/mailman/listinfo/openflow-discuss

Reply via email to