On 14/01/2021 09:51, menglong8.d...@gmail.com wrote:
> From: Menglong Dong <dong.mengl...@zte.com.cn>
> 
> Replace the check for ETH_P_8021Q and ETH_P_8021AD in
> br_dev_queue_push_xmit with eth_type_vlan.
> 
> Signed-off-by: Menglong Dong <dong.mengl...@zte.com.cn>
> ---
>  net/bridge/br_forward.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/net/bridge/br_forward.c b/net/bridge/br_forward.c
> index e28ffadd1371..6e9b049ae521 100644
> --- a/net/bridge/br_forward.c
> +++ b/net/bridge/br_forward.c
> @@ -39,8 +39,7 @@ int br_dev_queue_push_xmit(struct net *net, struct sock 
> *sk, struct sk_buff *skb
>       br_drop_fake_rtable(skb);
>  
>       if (skb->ip_summed == CHECKSUM_PARTIAL &&
> -         (skb->protocol == htons(ETH_P_8021Q) ||
> -          skb->protocol == htons(ETH_P_8021AD))) {
> +         eth_type_vlan(skb->protocol)) {
>               int depth;
>  
>               if (!__vlan_get_protocol(skb, skb->protocol, &depth))
> 


Please change all similar checks, there are also:
br_netlink.c - br_validate()
br_vlan.c - br_vlan_set_proto()

Thanks.

Reply via email to