Bug 227450 - [patch] Should not all packets processed by gif_output be deleted, when an running instance of if_gif(4) is member of an instance of if_bridge(4)?
Summary: [patch] Should not all packets processed by gif_output be deleted, when an ru...
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 11.1-RELEASE
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-net (Nobody)
URL:
Keywords: patch
Depends on:
Blocks:
 
Reported: 2018-04-11 21:57 UTC by henning.matyschok
Modified: 2023-08-06 21:33 UTC (History)
0 users

See Also:


Attachments
Patch for if_gif(4). (307 bytes, patch)
2018-04-11 21:57 UTC, henning.matyschok
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description henning.matyschok 2018-04-11 21:57:51 UTC
Created attachment 192442 [details]
Patch for if_gif(4).

First, I want to apologize for my bad English, because I'm not a native speaker.

Should not all packets processed by gif_output be deleted, when an running instance of if_gif(4) is member of an instance of if_bridge(4)?

This question opened to me as I tried to understand the internal structure of gif_transmit in the context of encapsulating Ethernet frames as service data units of EtherIP prtocol. 

If I understood correctly, then gif_transmit would be called by bridge_enqueue at runtime, if an instance of if_gif(4) is member interface of if_bridge(4)?
Comment 1 commit-hook freebsd_committer freebsd_triage 2023-07-26 11:29:42 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=8a0308722372a3ac6a94967ae4fe3123842309e2

commit 8a0308722372a3ac6a94967ae4fe3123842309e2
Author:     Marius Strobl <marius@FreeBSD.org>
AuthorDate: 2023-07-23 16:58:42 +0000
Commit:     Marius Strobl <marius@FreeBSD.org>
CommitDate: 2023-07-26 11:14:22 +0000

    gif(4): Assert that gif_output() isn't called for EtherIP

    With the current implementation of if_bridge(4), bridge_enqueue()
    calls gif_transmit() only. Ensure it stays that way so that the
    expectations in both drivers are either met or changed accordingly.

    PR:             227450

 sys/net/if_gif.c | 3 +++
 1 file changed, 3 insertions(+)
Comment 2 commit-hook freebsd_committer freebsd_triage 2023-08-06 20:36:56 UTC
A commit in branch stable/13 references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=b59b3443f39d2b7d6c631094fde7723e0aec1319

commit b59b3443f39d2b7d6c631094fde7723e0aec1319
Author:     Marius Strobl <marius@FreeBSD.org>
AuthorDate: 2023-07-23 16:58:42 +0000
Commit:     Marius Strobl <marius@FreeBSD.org>
CommitDate: 2023-08-06 17:17:30 +0000

    gif(4): Assert that gif_output() isn't called for EtherIP

    With the current implementation of if_bridge(4), bridge_enqueue()
    calls gif_transmit() only. Ensure it stays that way so that the
    expectations in both drivers are either met or changed accordingly.

    PR:             227450
    (cherry picked from commit 8a0308722372a3ac6a94967ae4fe3123842309e2)

 sys/net/if_gif.c | 3 +++
 1 file changed, 3 insertions(+)