Page MenuHomeFreeBSD

Unbreak VLANs after r337943.
ClosedPublic

Authored by np on Aug 24 2018, 7:47 PM.
Tags
None
Referenced Files
F82158976: D16887.diff
Fri, Apr 26, 1:22 AM
F82134713: D16887.id47258.diff
Thu, Apr 25, 8:01 PM
F82134665: D16887.id.diff
Thu, Apr 25, 8:00 PM
Unknown Object (File)
Wed, Apr 24, 8:02 AM
Unknown Object (File)
Wed, Apr 17, 12:06 AM
Unknown Object (File)
Dec 13 2023, 4:40 PM
Unknown Object (File)
Nov 23 2023, 2:10 AM
Unknown Object (File)
Oct 19 2023, 3:36 AM
Subscribers

Details

Reviewers
mmacy
kib
Group Reviewers
network
Commits
rS338305: Unbreak VLANs after r337943.
Summary

ether_set_pcp should not be called from ether_output_frame for VLAN
interfaces -- the vid + pcp will be inserted during vlan_transmit in
that case. r337943 sets the VLAN's ifnet's if_pcp to a proper PCP value
and this led to double encapsulation (once with vid 0 and second time
with vid+pcp).

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 19151
Build 18776: arc lint + arc unit

Event Timeline

This revision is now accepted and ready to land.Aug 24 2018, 8:02 PM
melifaro added inline comments.
sys/net/if_ethersubr.c
464

Why do we check this in the dataplane part, instead of control plane?

sys/net/if_ethersubr.c
464

The tag needs to be inserted in the data path, and needs to work for both vid+pcp (ie if_vlan)
and only-pcp case ("real" ifnet). What kind of control plane check did you have in mind? I don't
see a way to avoid data plane changes.

I think kib@ wrote this (or at least worked on it last) and he may have additional insight.

This revision was automatically updated to reflect the committed changes.