Message ID | 20221107185452.90711-5-nbd@nbd.name (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [01/14] net: ethernet: mtk_eth_soc: account for vlan in rx header length | expand |
Hi Felix, On Mon, Nov 07, 2022 at 07:54:43PM +0100, Felix Fietkau wrote: > Keeps traffic sent to the switch within link speed limits > > Signed-off-by: Felix Fietkau <nbd@nbd.name> > --- Do you have a patch 00/14 that explains what you're up to? I'm only copied on 05/14 and 10/14, hard to get an idea.
On Mon, Nov 07, 2022 at 07:54:43PM +0100, Felix Fietkau wrote: > Keeps traffic sent to the switch within link speed limits > > Signed-off-by: Felix Fietkau <nbd@nbd.name> > --- > net/dsa/tag_mtk.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/net/dsa/tag_mtk.c b/net/dsa/tag_mtk.c > index 415d8ece242a..445d6113227f 100644 > --- a/net/dsa/tag_mtk.c > +++ b/net/dsa/tag_mtk.c > @@ -25,6 +25,9 @@ static struct sk_buff *mtk_tag_xmit(struct sk_buff *skb, > u8 xmit_tpid; > u8 *mtk_tag; > > + /* Reserve the first three queues for packets not passed through DSA */ > + skb_set_queue_mapping(skb, 3 + dp->index); > + Should DSA have to care about this detail, or could you rework your mtk_select_queue() procedure to adjust the queue mapping as needed? > /* Build the special tag after the MAC Source Address. If VLAN header > * is present, it's required that VLAN header and special tag is > * being combined. Only in this way we can allow the switch can parse > -- > 2.38.1 >
On 07.11.22 22:22, Vladimir Oltean wrote: > On Mon, Nov 07, 2022 at 07:54:43PM +0100, Felix Fietkau wrote: >> Keeps traffic sent to the switch within link speed limits >> >> Signed-off-by: Felix Fietkau <nbd@nbd.name> >> --- >> net/dsa/tag_mtk.c | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/net/dsa/tag_mtk.c b/net/dsa/tag_mtk.c >> index 415d8ece242a..445d6113227f 100644 >> --- a/net/dsa/tag_mtk.c >> +++ b/net/dsa/tag_mtk.c >> @@ -25,6 +25,9 @@ static struct sk_buff *mtk_tag_xmit(struct sk_buff *skb, >> u8 xmit_tpid; >> u8 *mtk_tag; >> >> + /* Reserve the first three queues for packets not passed through DSA */ >> + skb_set_queue_mapping(skb, 3 + dp->index); >> + > > Should DSA have to care about this detail, or could you rework your > mtk_select_queue() procedure to adjust the queue mapping as needed? I'm setting the queue here so that I don't have to add the extra overhead of parsing the payload in the ethernet driver. For passing the queue, I used a similar approach as tag_brcm.c and drivers/net/ethernet/broadcom/bcmsysport.c - Felix
On 07.11.22 21:40, Vladimir Oltean wrote: > Hi Felix, > > On Mon, Nov 07, 2022 at 07:54:43PM +0100, Felix Fietkau wrote: >> Keeps traffic sent to the switch within link speed limits >> >> Signed-off-by: Felix Fietkau <nbd@nbd.name> >> --- > > Do you have a patch 00/14 that explains what you're up to? I'm only > copied on 05/14 and 10/14, hard to get an idea. I will add it in v2
On Tue, Nov 08, 2022 at 07:01:29AM +0100, Felix Fietkau wrote: > On 07.11.22 22:22, Vladimir Oltean wrote: > > On Mon, Nov 07, 2022 at 07:54:43PM +0100, Felix Fietkau wrote: > > > Keeps traffic sent to the switch within link speed limits > > > > > > Signed-off-by: Felix Fietkau <nbd@nbd.name> > > > --- > > > net/dsa/tag_mtk.c | 3 +++ > > > 1 file changed, 3 insertions(+) > > > > > > diff --git a/net/dsa/tag_mtk.c b/net/dsa/tag_mtk.c > > > index 415d8ece242a..445d6113227f 100644 > > > --- a/net/dsa/tag_mtk.c > > > +++ b/net/dsa/tag_mtk.c > > > @@ -25,6 +25,9 @@ static struct sk_buff *mtk_tag_xmit(struct sk_buff *skb, > > > u8 xmit_tpid; > > > u8 *mtk_tag; > > > + /* Reserve the first three queues for packets not passed through DSA */ > > > + skb_set_queue_mapping(skb, 3 + dp->index); > > > + > > > > Should DSA have to care about this detail, or could you rework your > > mtk_select_queue() procedure to adjust the queue mapping as needed? > I'm setting the queue here so that I don't have to add the extra overhead of > parsing the payload in the ethernet driver. > For passing the queue, I used a similar approach as tag_brcm.c and > drivers/net/ethernet/broadcom/bcmsysport.c I was just asking if you can't add the 3 elsewhere, since the DSA tagging protocol shouldn't care how many MAC IDs the DSA master has.
On 08.11.22 08:58, Vladimir Oltean wrote: > On Tue, Nov 08, 2022 at 07:01:29AM +0100, Felix Fietkau wrote: >> On 07.11.22 22:22, Vladimir Oltean wrote: >> > On Mon, Nov 07, 2022 at 07:54:43PM +0100, Felix Fietkau wrote: >> > > Keeps traffic sent to the switch within link speed limits >> > > >> > > Signed-off-by: Felix Fietkau <nbd@nbd.name> >> > > --- >> > > net/dsa/tag_mtk.c | 3 +++ >> > > 1 file changed, 3 insertions(+) >> > > >> > > diff --git a/net/dsa/tag_mtk.c b/net/dsa/tag_mtk.c >> > > index 415d8ece242a..445d6113227f 100644 >> > > --- a/net/dsa/tag_mtk.c >> > > +++ b/net/dsa/tag_mtk.c >> > > @@ -25,6 +25,9 @@ static struct sk_buff *mtk_tag_xmit(struct sk_buff *skb, >> > > u8 xmit_tpid; >> > > u8 *mtk_tag; >> > > + /* Reserve the first three queues for packets not passed through DSA */ >> > > + skb_set_queue_mapping(skb, 3 + dp->index); >> > > + >> > >> > Should DSA have to care about this detail, or could you rework your >> > mtk_select_queue() procedure to adjust the queue mapping as needed? >> I'm setting the queue here so that I don't have to add the extra overhead of >> parsing the payload in the ethernet driver. >> For passing the queue, I used a similar approach as tag_brcm.c and >> drivers/net/ethernet/broadcom/bcmsysport.c > > I was just asking if you can't add the 3 elsewhere, since the DSA > tagging protocol shouldn't care how many MAC IDs the DSA master has. Sure, that would work. I'll change it in v2. - Felix
diff --git a/net/dsa/tag_mtk.c b/net/dsa/tag_mtk.c index 415d8ece242a..445d6113227f 100644 --- a/net/dsa/tag_mtk.c +++ b/net/dsa/tag_mtk.c @@ -25,6 +25,9 @@ static struct sk_buff *mtk_tag_xmit(struct sk_buff *skb, u8 xmit_tpid; u8 *mtk_tag; + /* Reserve the first three queues for packets not passed through DSA */ + skb_set_queue_mapping(skb, 3 + dp->index); + /* Build the special tag after the MAC Source Address. If VLAN header * is present, it's required that VLAN header and special tag is * being combined. Only in this way we can allow the switch can parse
Keeps traffic sent to the switch within link speed limits Signed-off-by: Felix Fietkau <nbd@nbd.name> --- net/dsa/tag_mtk.c | 3 +++ 1 file changed, 3 insertions(+)