[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210527103318.801175-1-ksundara@redhat.com>
Date: Thu, 27 May 2021 16:03:17 +0530
From: Karthik S <ksundara@...hat.com>
To: "David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>, netdev@...r.kernel.org,
karthik.sundaravel@...il.com,
Christophe Fontaine <cfontain@...hat.com>,
Veda Barrenkala <vbarrenk@...hat.com>,
Vijay Chundury <vchundur@...hat.com>
Cc: Karthik S <ksundara@...hat.com>
Subject: [PATCH 0/1] net-next: Port Mirroring support for SR-IOV
The purpose of this message is to gather feedback from the Netdev community on the addition of SRIOV port mirroring to the iproute2 ip CLI. iproute2 was chosen as the desired interface because there is already extensive support for SRIOV configuration built in and many Linux users are familiar with it for configuring Network functionality in the driver thus port mirroring naturally fits into this schema.
Port mirroring involves sending a copy of packets entering and/or leaving one port to another port which is usually different from the original destination of the packets being mirrored.Hardware Port Mirroring can provide the following benefits for users:
1) Live debugging of network issues without bringing any interface or connection down
2) No latency addition when port mirroring tap is introduced
3) No extra CPU resources are required to perform this function
The prospective implementation would provide three modes of packet mirroring (For Egress or Ingress):
1) PF to VF
2) VF to VF
3) VLAN to VF
The suggested iproute2 ip link interface for setting up Port Mirroring is as follows:
$ip link set dev <pf> vf <dest_vfid> mirror
[ add [ vf src_vfids [ dir { in | out | all } ] ] |
[ pf [ dir { in | out | all } ] ] |
[ vlan vlan_ids ]
[ del [ vf src_vfids [ dir { in | out | all } ] ] |
[ pf [ dir { in | out | all } ] ] |
[ vlan vlan_ids ]
[ set [ vf src_vfids [ dir { in | out | all } ] ] |
[ pf [ dir { in | out | all } ] ] |
[ vlan vlan_ids ]
[ clear ]
$ip link show <pf>
Whilst significant resources have already gone into an internal PoC for this feature, this request for feedback is being done to make sure this solution is acceptable to the Netdev community before further resources are committed for an eventual RFC Patch.
Kernel Changes: https://github.com/karthiksundaravel/linux
Example driver: https://github.com/karthiksundaravel/i40e-2.12.6
Iproute changes: https://github.com/veda10/iproute2
Karthik S (1):
rtnetlink: Port mirroring support for SR-IOV
include/linux/netdevice.h | 4 ++
include/uapi/linux/if_link.h | 46 +++++++++++++
net/core/rtnetlink.c | 123 ++++++++++++++++++++++++++++++++++-
3 files changed, 172 insertions(+), 1 deletion(-)
--
2.31.1
Powered by blists - more mailing lists