I tried d oing this, [image: Inline image 2] But as shown, it says BAD_ACTION. What is wrong in this case? Please help me know
On Wed, Apr 8, 2015 at 12:00 PM, Ruchika Luthra < h2013...@pilani.bits-pilani.ac.in> wrote: > 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 > > -- 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