Merge pull request #20 from anirban-c/master

xen: Fix pkt tail comparison for 32 bit systems
1)Accessing the component nh of composite nh only if it has valid flag 2)Doing a vr_delay_op() while modifying the nh flags 3) Decrementing the reference count of nh_dev in nh while making the nh invalid 4) Marking the skb->ip_summed to CHECKSUM_UNNECESSARY for l2 packets received on Physical if checksum is partial 5) code alignment
1)Updating Tunnel NH, Receive NH and Encap nh_dev only if it is valid 2) Fixing the memory leak of soft_reset 3)Accessing componenent NH only if Non-NULL incase of composite NH processing 4) Decrementing the nh_dev reference count while updating new nh_dev 5) Stricter validations for composite multicast NH updation from Agent 6) Printing component and coposite nh if nh_dev is NULL while processing fabric NH 7) Marking the NH as valid only after making the complete nexthop while transitioning from invalid to valid 8) Strict check while adding multi_proto nexthop to have only one L2 and L3 mcast nexthop 9) Freeing the packet in error condition
Merge pull request #21 from divakardhar/master

1)Accessing the component nh of composite nh only if it has valid flag 2...
Assigning nh_discard() as reach_nh while updating the nexthop
Merge pull request #23 from divakardhar/master

Assigning nh_discard() as reach_nh while updating the nexthop
- If the packet has to go to agent and needs to be held in the flow entry,
do not cache the nexthop in the packet, since a cached nexthop need not be valid
when the packet gets flushed subsequently. Nexthop caching for packets which were
held in flow entry was introduced as part of ECMP support, since a route lookup
will not return the same nexthop as the one from MPLS table. This issue has
now been solved by doing a relookup in the MPLS table for packets that are
held. Also, similar problem can happen for interface pointer cached in the
packet. Fix that behavior too by doing a relook in the interface table and
comparing pointers. While it could so happen that the old interface was deleted,
and the new interface gets the same memory, this check is the best we could do
for sanity.
Merge pull request #24 from Juniper/fix

- If the packet has to go to agent and needs to be held in the flow entr...
Enabling relaxed policy on Vhost0 Recv NH for link local service
Adding the missed comment
Merge pull request #25 from divakardhar/master

Enabling relaxed policy on Vhost0 Recv NH for link local service
rejecting the L2 nexthop with non zero rewrite len
- Add '--help' option to flow and vrfstats
- To make sure that we can access till the end of outer ip header in one
contiguous buffer, parse and pull till the outer ip header of the packet
to a single buffer, if the NIC has split the headers into multiple buffers.
[Observed with Emulex 10G NIC]
- ubuntu compilation fixes
    Fix the following issues.

    - ICMP packets larger than the MTU were getting dropped by vrouter. Fix it
    by handling fragments correctly.
    - With vlan acceleration enabled, ARP packets from the agent were getting
    dropped. Fix it by setting the skb network header in vrouter for these
    packets.
    - Checksum offload was broken for NICs which sent skb with
    CHECKSUM_COMPLETE set. Handle these in vrouter.
    - In some cases (ingress packet is MPLS instead of IP), MX can send a
    GRE tunneled packet with the outer header length set to a larger value
    than the sum of the inner header length + tunnel header sizes. Fix it by
    verifying checksum using the inner header instead of the outer header in
    vrouter.
Merge pull request #28 from srajag/master

    Fix the following issues.
Merge remote branch 'upstream/master'
Removing the VIF reference incase of wrong encap addition
Merge pull request #27 from Juniper/fix

- Add '--help' option to flow and vrfstats