Message ID | 1476098139-6333-1-git-send-email-ozaki.ryota@gmail.com |
---|---|
State | Changes Requested, archived |
Delegated to: | David Miller |
Headers | show |
Hi, On Mon, Oct 10, 2016 at 08:15:39PM +0900, Ryota Ozaki wrote: > Section "Flooding L2 domain" says, to avoid duplicated flooding, if > skb->offload_fwd_mark is matched with dev->skb_mark, the kernel will > drop the packet. However, the relevant code in __dev_queue_xmit > compares skb->offload_fwd_mark with dev->offload_fwd_mark, not > dev->skb_mark. I guess the text is wrong. > > Signed-off-by: Ryota Ozaki <ozaki.ryota@gmail.com> > --- > Documentation/networking/switchdev.txt | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/Documentation/networking/switchdev.txt b/Documentation/networking/switchdev.txt > index 31c3911..d4124a0 100644 > --- a/Documentation/networking/switchdev.txt > +++ b/Documentation/networking/switchdev.txt > @@ -286,8 +286,8 @@ otherwise there will be duplicate packets on the wire. > To avoid duplicate packets, the device/driver should mark a packet as already > forwarded using skb->offload_fwd_mark. The same mark is set on the device > ports in the domain using dev->offload_fwd_mark. If the skb->offload_fwd_mark > -is non-zero and matches the forwarding egress port's dev->skb_mark, the kernel > -will drop the skb right before transmit on the egress port, with the > +is non-zero and matches the forwarding egress port's dev->offload_fwd_mark, > +the kernel will drop the skb right before transmit on the egress port, with the I think your tree isn't up to date. The flooding mechanism (and this document) were modified in commit 6bc506b4fb06 ("bridge: switchdev: Add forward mark support for stacked devices") https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=6bc506b4fb065eac3d89ca1ce37082e174493d9e Also, in the future, please specify to which tree (net, net-next) your patch should go. See: https://www.kernel.org/doc/Documentation/networking/netdev-FAQ.txt (under "How do I indicate which tree (net vs. net-next) my patch should be in?"). Thanks! > understanding that the device already forwarded the packet on same egress port. > The driver can use switchdev_port_fwd_mark_set() to set a globally unique mark > for port's dev->offload_fwd_mark, based on the port's parent ID (switch ID) and > -- > 2.7.4 >
On Mon, Oct 10, 2016 at 10:49 PM, Ido Schimmel <idosch@idosch.org> wrote: > Hi, > > On Mon, Oct 10, 2016 at 08:15:39PM +0900, Ryota Ozaki wrote: >> Section "Flooding L2 domain" says, to avoid duplicated flooding, if >> skb->offload_fwd_mark is matched with dev->skb_mark, the kernel will >> drop the packet. However, the relevant code in __dev_queue_xmit >> compares skb->offload_fwd_mark with dev->offload_fwd_mark, not >> dev->skb_mark. I guess the text is wrong. >> >> Signed-off-by: Ryota Ozaki <ozaki.ryota@gmail.com> >> --- >> Documentation/networking/switchdev.txt | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/Documentation/networking/switchdev.txt b/Documentation/networking/switchdev.txt >> index 31c3911..d4124a0 100644 >> --- a/Documentation/networking/switchdev.txt >> +++ b/Documentation/networking/switchdev.txt >> @@ -286,8 +286,8 @@ otherwise there will be duplicate packets on the wire. >> To avoid duplicate packets, the device/driver should mark a packet as already >> forwarded using skb->offload_fwd_mark. The same mark is set on the device >> ports in the domain using dev->offload_fwd_mark. If the skb->offload_fwd_mark >> -is non-zero and matches the forwarding egress port's dev->skb_mark, the kernel >> -will drop the skb right before transmit on the egress port, with the >> +is non-zero and matches the forwarding egress port's dev->offload_fwd_mark, >> +the kernel will drop the skb right before transmit on the egress port, with the > > I think your tree isn't up to date. The flooding mechanism (and this > document) were modified in commit 6bc506b4fb06 ("bridge: switchdev: Add > forward mark support for stacked devices") > https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=6bc506b4fb065eac3d89ca1ce37082e174493d9e Oh, right. I forgot to rebase my branch after the 4.9 merge period and saw the file as of 4.8. > > Also, in the future, please specify to which tree (net, net-next) your > patch should go. See: > https://www.kernel.org/doc/Documentation/networking/netdev-FAQ.txt > (under "How do I indicate which tree (net vs. net-next) my patch > should be in?"). Thanks for the pointer. I'll follow the rule next time. Thanks, ozaki-r > > Thanks! > >> understanding that the device already forwarded the packet on same egress port. >> The driver can use switchdev_port_fwd_mark_set() to set a globally unique mark >> for port's dev->offload_fwd_mark, based on the port's parent ID (switch ID) and >> -- >> 2.7.4 >>
diff --git a/Documentation/networking/switchdev.txt b/Documentation/networking/switchdev.txt index 31c3911..d4124a0 100644 --- a/Documentation/networking/switchdev.txt +++ b/Documentation/networking/switchdev.txt @@ -286,8 +286,8 @@ otherwise there will be duplicate packets on the wire. To avoid duplicate packets, the device/driver should mark a packet as already forwarded using skb->offload_fwd_mark. The same mark is set on the device ports in the domain using dev->offload_fwd_mark. If the skb->offload_fwd_mark -is non-zero and matches the forwarding egress port's dev->skb_mark, the kernel -will drop the skb right before transmit on the egress port, with the +is non-zero and matches the forwarding egress port's dev->offload_fwd_mark, +the kernel will drop the skb right before transmit on the egress port, with the understanding that the device already forwarded the packet on same egress port. The driver can use switchdev_port_fwd_mark_set() to set a globally unique mark for port's dev->offload_fwd_mark, based on the port's parent ID (switch ID) and
Section "Flooding L2 domain" says, to avoid duplicated flooding, if skb->offload_fwd_mark is matched with dev->skb_mark, the kernel will drop the packet. However, the relevant code in __dev_queue_xmit compares skb->offload_fwd_mark with dev->offload_fwd_mark, not dev->skb_mark. I guess the text is wrong. Signed-off-by: Ryota Ozaki <ozaki.ryota@gmail.com> --- Documentation/networking/switchdev.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)