mirror of
https://gitlab.isc.org/isc-projects/dhcp
synced 2025-08-22 18:07:25 +00:00
[master] LPF now only uses 12-bit value from VLAN TCI for VID
Merges in rt40591.
This commit is contained in:
parent
7a6187a84d
commit
f10cbbface
7
RELNOTES
7
RELNOTES
@ -54,6 +54,13 @@ by Eric Young (eay@cryptsoft.com).
|
|||||||
|
|
||||||
Changes since 4.3.3
|
Changes since 4.3.3
|
||||||
|
|
||||||
|
- The linux packet fitler code now correctly treats only least significant
|
||||||
|
12 bits an inbound packet's TCI value as the VLAN id (per IEEE 802.1Q).
|
||||||
|
Prior to this it was using the entire 16 bit value as the VLAN id and
|
||||||
|
incorrectly discarding packets. Thanks to Jiri Popelka at Red Hat for
|
||||||
|
reporting this issue and supplying its patch.
|
||||||
|
[ISC-Bugs #40591]
|
||||||
|
|
||||||
- Corrected a static analyzer warning in common/execute.c
|
- Corrected a static analyzer warning in common/execute.c
|
||||||
[ISC-Bugs #40374]
|
[ISC-Bugs #40374]
|
||||||
|
|
||||||
|
@ -422,10 +422,10 @@ ssize_t receive_packet (interface, buf, len, from, hfrom)
|
|||||||
if (cmsg->cmsg_level == SOL_PACKET &&
|
if (cmsg->cmsg_level == SOL_PACKET &&
|
||||||
cmsg->cmsg_type == PACKET_AUXDATA) {
|
cmsg->cmsg_type == PACKET_AUXDATA) {
|
||||||
struct tpacket_auxdata *aux = (void *)CMSG_DATA(cmsg);
|
struct tpacket_auxdata *aux = (void *)CMSG_DATA(cmsg);
|
||||||
/* Discard packets with stripped vlan id */
|
|
||||||
|
|
||||||
#ifdef VLAN_TCI_PRESENT
|
#ifdef VLAN_TCI_PRESENT
|
||||||
if (aux->tp_vlan_tci != 0)
|
/* Discard packets with stripped vlan id */
|
||||||
|
/* VLAN ID is only bottom 12-bits of TCI */
|
||||||
|
if (aux->tp_vlan_tci & 0x0fff)
|
||||||
return 0;
|
return 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user