From: Lin Huang <linhu...@ruijie.com.cn>

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 maximal mtu value to the tap port.

Signed-off-by: Lin Huang <linhu...@ruijie.com.cn>
---
 utilities/ovs-tcpdump.in | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/utilities/ovs-tcpdump.in b/utilities/ovs-tcpdump.in
index 7fd26e405..e12bab889 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]
+                return mtu
             return intf.mtu[0]
         except Exception:
             return None
-- 
2.37.1.windows.1

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to