On Feb 14, 2013, at 12:59 PM, Rajahalme, Jarno (NSN - FI/Espoo) wrote:

> 
> On Feb 13, 2013, at 16:44 , ext Lorand Jakab wrote:
>> +static int lisp_tnl_send(struct vport *vport, struct sk_buff *skb)
>> +{
>> +    int network_offset = skb_network_offset(skb);
>> +
>> +    /* We only encapsulate IPv4 and IPv6 packets */
>> +    switch (ntohs(skb->protocol)) {
>> +    case ETH_P_IP:
>> +    case ETH_P_IPV6:
>> +            /* Pop off "inner" Ethernet header */
>> +            skb_pull(skb, network_offset);
>> +            return ovs_tnl_send(vport, skb) + network_offset;
> 
> I haven't checked this to be sure, but maybe you do want to return zero if 
> ovs_tnl_send() returns zero? I.e. add network_offset only to non-zero return 
> values?

Yes, you are right, thanks for spotting this.  If ovs_tnl_send() can't send the 
packet it will return 0 , yet we would return a non-zero network_offset (since 
we have an IPv4 or IPv6 packet).  Will fix in the next revision.

-Lori

> 
>> +    default:
>> +            kfree_skb(skb);
>> +            return 0;
>> +    }
>> +}
> 

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev
  • [ovs-dev] [... Lorand Jakab
    • [ovs-d... Lorand Jakab
      • Re... Rajahalme, Jarno (NSN - FI/Espoo)
        • ... Lorand Jakab -X (lojakab - M SQUARED CONSULTING INC. at Cisco)
      • Re... Jesse Gross
        • ... Lori Jakab
          • ... Jesse Gross
            • ... Lori Jakab
              • ... Lori Jakab
                • ... Jesse Gross

Reply via email to