On 8/26/23 00:51, Antonin Bas wrote: > Hi Ilya, > > Thanks for applying the patch. > I just finished testing / investigating output(port=controller,max_len=X), > and there is no need to patch the documentation, for the following reasons: > > The output(port=controller,max_len=X) action is rejected by OVS: > root@ovs-test-node-1:/home/vagrant# ovs-ofctl mod-flows br-int > 'table=0,priority=100,in_port=veth1,ip > actions=output(port=controller,max_len=128)' > ovs-ofctl: output to unsupported truncate port: controller > root@ovs-test-node-1:/home/vagrant# > root@ovs-test-node-1:/home/vagrant# > root@ovs-test-node-1:/home/vagrant# ovs-ofctl mod-flows br-int > 'table=0,priority=100,in_port=veth1,ip actions=output(port=1,max_len=128)' > root@ovs-test-node-1:/home/vagrant# > > This behavior is expected and already documented: > /The port may also be one of the following additional OpenFlow ports, unless > max_len is specified:/ > /.../ > /controller/ > /.../ > > When using max_len with the output action, the truncation is the > responsibility of the datapath, and is not available for controller packets. > When using max_lengh with the controller action, the truncation was meant to > be the responsibility of the userspace, but buffering is no longer available > in ovs-vswitchd.
OK, nice. Thanks for checking! Best regards, Ilya Maximets. > > Thanks, > > Antonin > > Le ven. 25 août 2023 à 14:58, Ilya Maximets <i.maxim...@ovn.org > <mailto:i.maxim...@ovn.org>> a écrit : > > On 8/25/23 18:38, Antonin Bas wrote: > > Hi Ilya, > > > > Do you think we can merge this patch first as it is specific to the > controller action? > > I will check the behavior of output(port=controller,max_len=X) and once > I have confirmation, I can submit a new patch. > > OK. I applied the change now. > Also backported down to 2.17. > > Thanks! > > Best regards, Ilya Maximets. > > > > > Thanks, > > > > Antonin > > > > Le ven. 25 août 2023 à 07:10, Ilya Maximets <i.maxim...@ovn.org > <mailto:i.maxim...@ovn.org> <mailto:i.maxim...@ovn.org > <mailto:i.maxim...@ovn.org>>> a écrit : > > > > On 8/17/23 02:30, Antonin Bas wrote: > > > From: Antonin Bas <antonin....@gmail.com > <mailto:antonin....@gmail.com> <mailto:antonin....@gmail.com > <mailto:antonin....@gmail.com>>> > > > > > > From: Antonin Bas <a...@vmware.com <mailto:a...@vmware.com> > <mailto:a...@vmware.com <mailto:a...@vmware.com>>> > > > > > > Since Open vSwitch 2.7, the max_len option has no effect, and the > full > > > packet is always sent to controllers. This was confirmed with > both the > > > kernel and netdev datapaths. > > > > Hi, Antonin. Thanks for the patch! And sorry for delay. > > > > IIUC, this also affects the output(port=controller,max_len=X) > actions, right? > > In this case, we need to update the docs for the 'output' action as > well. > > > > Best regards, Ilya Maximets. > > > > > > > > Reported-by: Antonin Bas <a...@vmware.com > <mailto:a...@vmware.com> <mailto:a...@vmware.com <mailto:a...@vmware.com>>> > > > Reported-at: https://github.com/openvswitch/ovs-issues/issues/295 > <https://github.com/openvswitch/ovs-issues/issues/295> > <https://github.com/openvswitch/ovs-issues/issues/295 > <https://github.com/openvswitch/ovs-issues/issues/295>> > > > Signed-off-by: Antonin Bas <a...@vmware.com > <mailto:a...@vmware.com> <mailto:a...@vmware.com <mailto:a...@vmware.com>>> > > > --- > > > v2: Fix typos, set author to VMware email address > > > --- > > > Documentation/ref/ovs-actions.7.rst | 9 ++++++++- > > > 1 file changed, 8 insertions(+), 1 deletion(-) > > > > > > diff --git a/Documentation/ref/ovs-actions.7.rst > b/Documentation/ref/ovs-actions.7.rst > > > index d13895655..36adcc5db 100644 > > > --- a/Documentation/ref/ovs-actions.7.rst > > > +++ b/Documentation/ref/ovs-actions.7.rst > > > @@ -694,7 +694,8 @@ encapsulated in an OpenFlow ``packet-in`` > message. The supported options are: > > > Limit to *max_len* the number of bytes of the packet to send > in the > > > ``packet-in.`` A *max_len* of 0 prevents any of the packet > from being > > > sent (thus, only metadata is included). By default, the > entire packet is > > > - sent, equivalent to a *max_len* of 65535. > > > + sent, equivalent to a *max_len* of 65535. This option has > no effect in > > > + Open vSwith 2.7 and later: the entire packet will always be > sent. > > > > > > ``reason=``\ *reason* > > > Specify *reason* as the reason for sending the message in the > > > @@ -733,6 +734,12 @@ encapsulated in an OpenFlow ``packet-in`` > message. The supported options are: > > > options require the Open vSwitch ``NXAST_CONTROLLER`` > extension action added > > > in Open vSwitch 1.6. > > > > > > + Open vSwitch 2.7 and later is configured to not buffer packets > for the > > > + packet-in event. As a result, the full packet is always sent > to > > > + controllers. This means that the ``max_len`` option has no > effect on the > > > + ``controller`` action, and all values (even 0) are equivalent > to the default > > > + value of 65535. > > > + > > > > > > The ``enqueue`` action > > > ---------------------- > > > _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev