problem with function vlan_get_protocol()
Subsystems (2)
Hi,all
in file inclue/linux/if_vlan.h
there is a statement in function vlan_get_protocol()
if (likely(protop)) protocol = *protop;
do we need an else branch on pointer protop failed ? through the else is unlikely
if (likely(protop))
protocol = *protop;
else
protocol = proto;is it necessary ?
thanks
2011-07-17
jiangtao.jit
jiangtao.jit <[email protected]> :
[...]
Quoted 8 lines
do we need an else branch on pointer protop failed ? through the else is unlikely
if (likely(protop)) protocol = *protop; else protocol = proto;is it necessary ?
The else branch signals that skb_header_pointer uncloaked a really tiny ethernet frame : the content of proto is not even initialized (stack allocation), whence irrelevant. In such circumstances the default initialization value of protocol (0) does not seem too bad.
Signature · 1 line
Ueimor
Thanks a lot Francois
thank you for your explanation
--
jiangtao
发件人: Francois Romieu
发送时间: 2011-07-17 15:49:00
收件人: jiangtao.jit
抄送: netdev
主题: Re: problem with function vlan_get_protocol()
jiangtao.jit <[email protected]> :
[...]
Quoted 8 lines
do we need an else branch on pointer protop failed ? through the else is unlikely
if (likely(protop))
protocol = *protop;
else
protocol = proto;is it necessary ?
The else branch signals that skb_header_pointer uncloaked a really tiny ethernet frame : the content of proto is not even initialized (stack allocation), whence irrelevant. In such circumstances the default initialization value of protocol (0) does not seem too bad.
Signature · 1 line
Ueimor