If the mac address of the packet does not match with the mac address
of the physical interface in which the packet came, just drop the packet.

Other than broadcast and multicast macs, the mac address of the packet
will not match with that of the interface typically when the interface goes
into promiscuous mode. When in promiscuous mode, vrouter will forward all
the packets that it receives from the physical interface. This situation
takes an ugly turn when the switch broadcasts unknown unicast packets and
all the computes receives those packets and starts forwarding, resulting
in a storm.

[ Adding Centos bits ]

Change-Id: Ic756af6856f3c0b31ac9e7e5baadcf0da413f3fd
Closes-Bug: 1350774
modify vr_compat.h to compile on centos 6.5

Change-Id: Iea0183a9730ebe6397cafac38a1b08c6e2065997
In the pull inner header functions, get the outer ip header pointer with
the help of pkt_network_header rather than as an argument from parent
functions

When we receive an MPLSoUDP encapsulated packet, we pull till the end of
inner transport header to a contiguous buffer. As part of that we also do
checksum verification, if hardware has not done verification. To verify
checksum, ip header is needed and the header pointer is passed to checksum
verification functions. However, in case the headers are in different buffers
and the pull actually pulls data from different buffers, the ip pointer will
not be valid, since pulls can realloc buffers and hence can cause issues.

Closes Bug: 1352294

Change-Id: I918cd6c3046078abf07981e2438f2d11e914ac8a
adding build info for vrouter.ko

Change-Id: Ia04f3345ce19d18deff26f0812fec4b80d5bfaed
Fix compilation failure for kernels above 3.13.11

skb_get_rxhash was renamed to skb_get_hash somewhere between 3.13.0
and 3.14.0. skb_get_rxhash does not exist in ubuntu sources for
3.13.0-32, for which the version code is 3.13.11. Make skb_get_rxhash
return skb_get_hash for versions above 3.13.11

Closes Bug:1359940

Change-Id: If3710bf55c0664a85cf8eb4b148f33bded653782
Fix for bug https://bugs.launchpad.net/juniperopenstack/+bug/1362774.… …
… 1) When the DF bit is set in the packet from VM, vrouter Traps the packet to Agent. Agent expects the packet to be with ethernet header. But Vr_pcow() is removing the ethernet header for multicast packets leading to ICMP error not being generated by Agent. As a fix, vr_pcow() is modified to retain the ethernet header. 2) Removing the vr_palloc_head() from Multi_proto nexthop as this is no more required

Change-Id: Ib6b9fb357cd2d5702092ff807dd75eb48bee6a70