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).
Details
Details
- Reviewers
mmacy kib - Group Reviewers
network - Commits
- rS338305: Unbreak VLANs after r337943.
Diff Detail
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
sys/net/if_ethersubr.c | ||
---|---|---|
464 ↗ | (On Diff #47258) | Why do we check this in the dataplane part, instead of control plane? |
sys/net/if_ethersubr.c | ||
---|---|---|
464 ↗ | (On Diff #47258) | The tag needs to be inserted in the data path, and needs to work for both vid+pcp (ie if_vlan) I think kib@ wrote this (or at least worked on it last) and he may have additional insight. |