tunneling: Remove call to eth_type_trans() on receive.
authorJesse Gross <jesse@nicira.com>
Sat, 4 Dec 2010 02:06:23 +0000 (18:06 -0800)
committerJesse Gross <jesse@nicira.com>
Fri, 10 Dec 2010 01:43:35 +0000 (17:43 -0800)
commit9851dd6727c99f25838781a8ff208c28eb0604db
tree68fff640b2cd11fb9481cb21aa17726bc2a3f980
parent7aa697ddd2dfe494693be590ae5b03cbec5f9944
tunneling: Remove call to eth_type_trans() on receive.

On receive we call eth_type_trans() to set skb->protocol.  However,
that function also sets skb->pkt_type, which requires several
comparisons to MAC addresses.  Nothing in OVS cares about pkt_type,
so this is wasteful.  If we actually do egress to the IP stack
through an internal device then we'll call eth_type_trans() to get
everything correctly setup.  It's possible for device drivers to
see an incorrect pkt_type or not correctly parse legacy IPX (which
eth_type_trans() also handles) but it's highly unlikely that they
will care.

Signed-off-by: Jesse Gross <jesse@nicira.com>
datapath/tunnel.c