[email protected] writes:

> From: Lin Huang <[email protected]>
>
> Currently the ovs-tcpdump utility creates a tap port to capture the
> frames of a bond port.
>
> If a user want to capture the packets from the bond port which member
> interface's mtu is more than 1500. By default the utility creates a
> tap port which mtu is 1500, regardless the member interface's mtu config.
> So that user cann't get the bond port frames which mtu is lager than 1500.
>
> This patch fix this issiue by checking the member interface's mtu and
> set minimal mtu value to the tap port.
>
> Signed-off-by: Lin Huang <[email protected]>
> ---

Thanks for the patch - this is a good issue to address.

>  utilities/ovs-tcpdump.in | 7 +++++++
>  1 file changed, 7 insertions(+)
>
> diff --git a/utilities/ovs-tcpdump.in b/utilities/ovs-tcpdump.in
> index 7fd26e405..d2b86d586 100755
> --- a/utilities/ovs-tcpdump.in
> +++ b/utilities/ovs-tcpdump.in
> @@ -225,6 +225,13 @@ class OVSDB(object):
>      def interface_mtu(self, intf_name):
>          try:
>              intf = self._find_row_by_name('Interface', intf_name)
> +            if intf is None:
> +                mtu = 1500
> +                port = self._find_row_by_name('Port', intf_name)
> +                for intf in port.interfaces:
> +                    if mtu > intf.mtu[0]:
> +                        mtu = intf.mtu[0]

If I understand this correctly, it will only go with a lower MTU not a
higher one.  I think the '>' should be '<' instead.

> +                return mtu
>              return intf.mtu[0]
>          except Exception:
>              return None
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to