Re: [PATCH net] net: systemport: set dev->max_mtu to UMAC_MAX_MTU_SIZE
From: Vladimir Oltean <olteanv@gmail.com>
Date: 2020-12-18 21:03:35
Also in:
lkml
On Fri, Dec 18, 2020 at 12:54:33PM -0800, Florian Fainelli wrote:
On 12/18/20 12:52 PM, Vladimir Oltean wrote:quoted
On Fri, Dec 18, 2020 at 12:30:20PM -0800, Florian Fainelli wrote:quoted
On 12/18/20 12:24 PM, Vladimir Oltean wrote:quoted
Hi Florian, On Fri, Dec 18, 2020 at 09:38:43AM -0800, Florian Fainelli wrote:quoted
The driver is already allocating receive buffers of 2KiB and the Ethernet MAC is configured to accept frames up to UMAC_MAX_MTU_SIZE. Fixes: bfcb813203e6 ("net: dsa: configure the MTU for switch ports") Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> --- drivers/net/ethernet/broadcom/bcmsysport.c | 1 + 1 file changed, 1 insertion(+)diff --git a/drivers/net/ethernet/broadcom/bcmsysport.c b/drivers/net/ethernet/broadcom/bcmsysport.c index 0fdd19d99d99..b1ae9eb8f247 100644 --- a/drivers/net/ethernet/broadcom/bcmsysport.c +++ b/drivers/net/ethernet/broadcom/bcmsysport.c@@ -2577,6 +2577,7 @@ static int bcm_sysport_probe(struct platform_device *pdev) NETIF_F_HW_VLAN_CTAG_TX; dev->hw_features |= dev->features; dev->vlan_features |= dev->features; + dev->max_mtu = UMAC_MAX_MTU_SIZE; /* Request the WOL interrupt and advertise suspend if available */ priv->wol_irq_disabled = 1;-- 2.25.1Do you want to treat the SYSTEMPORT Lite differently? /* Set maximum frame length */ if (!priv->is_lite) umac_writel(priv, UMAC_MAX_MTU_SIZE, UMAC_MAX_FRAME_LEN); else gib_set_pad_extension(priv);SYSTEMPORT Lite does not actually validate the frame length, so setting a maximum number to the buffer size we allocate could work, but I don't see a reason to differentiate the two types of MACs here.And if the Lite doesn't validate the frame length, then shouldn't it report a max_mtu equal to the max_mtu of the attached DSA switch, plus the Broadcom tag length? Doesn't the b53 driver support jumbo frames?And how would I do that without create a horrible layering violation in either the systemport driver or DSA? Yes the b53 driver supports jumbo frames.
Sorry, I don't understand where is the layering violation (maybe it doesn't help me either that I'm not familiar with Broadcom architectures). Is the SYSTEMPORT Lite always used as a DSA master, or could it also be used standalone? What would be the issue with hardcoding a max_mtu value which is large enough for b53 to use jumbo frames?