[ovs-discuss] [SFC NSH] Update "eth_dst" for original packet after decap nsh encapsulation packet.

Ben Pfaff blp at ovn.org
Thu Jan 10 19:31:55 UTC 2019

On Fri, Jan 11, 2019 at 04:26:03AM +0900, Hoàng Công Phước wrote:
> Hi experts,
> I am trying to update "eth_dst" for original packet after decap nsh
> encapsulation packet. Here is my command about it:
> $ sudo ovs-ofctl add-flow br-int "table=10, priority=1, dl_vlan=4,
> dl_dst=fa:16:3e:05:3a:12, dl_type=0x894f, nsh_mdtype=1, nsh_spi=0x33,
> nsh_si=254, actions=strip_vlan,
> move:NXM_OF_ETH_DST->OXM_OF_PKT_REG0[0..47], decap(), decap(),
> move:OXM_OF_PKT_REG0[0..47]->NXM_OF_ETH_DST, output:tap62c2fc56-14"
> However, I got an error, that is:
> "2019-01-10T19:11:27Z|00001|meta_flow|WARN|destination field eth_dst lacks
> correct prerequisites
> ovs-ofctl: actions are invalid with specified match
> If I remove "move:NXM_OF_ETH_DST->OXM_OF_PKT_REG0[0..47]" and
> "move:OXM_OF_PKT_REG0[0..47]->NXM_OF_ETH_DST", it worked. So there is an
> error with copy eth_dst value from outer to inner packet. I am beginner
> with Open vSwitch, so it's very helpful if someone can help me to figure
> the problem out.

It looks to me that the first decap removes the NSH header and the
second decap removes the Ethernet header.  At that point, there's no
Ethernet destination field to set, so the error seems reasonable.

More information about the discuss mailing list