netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: John Fastabend <john.r.fastabend@intel.com>
To: Stephen Hemminger <shemminger@vyatta.com>
Cc: Eric Dumazet <eric.dumazet@gmail.com>,
	David Miller <davem@davemloft.net>,
	Chris Wright <chrisw@redhat.com>,
	netdev@vger.kernel.org
Subject: Re: [PATCHv3 net-next 3/3] vxlan: virtual extensible lan
Date: Mon, 24 Sep 2012 13:24:41 -0700	[thread overview]
Message-ID: <5060C189.8090803@intel.com> (raw)
In-Reply-To: <20120924130239.18767146@nehalam.linuxnetplumber.net>

[...]

On 9/24/2012 1:02 PM, Stephen Hemminger wrote:
> +
> +/* Transmit local packets over Vxlan
> + *
> + * Outer IP header inherits ECN and DF from inner header.
> + * Outer UDP destination is the VXLAN assigned port.
> + *           source port is based on hash of flow if available
> + *                       otherwise use a random value
> + */
> +static netdev_tx_t vxlan_xmit(struct sk_buff *skb, struct net_device *dev)
> +{
> +	struct vxlan_dev *vxlan = netdev_priv(dev);
> +	struct rtable *rt;
> +	const struct ethhdr *eth;
> +	const struct iphdr *old_iph;
> +	struct iphdr *iph;
> +	struct vxlanhdr *vxh;
> +	struct udphdr *uh;
> +	struct flowi4 fl4;
> +	struct vxlan_fdb *f;
> +	unsigned int pkt_len = skb->len;
> +	unsigned int mtu;
> +	u32 hash;
> +	__be32 dst;
> +	__be16 df = 0;
> +	__u8 tos, ttl;
> +	int err;
> +

[...]

> +	err = ip_local_out(skb);
> +	if (likely(net_xmit_eval(err) == 0)) {
> +		struct vxlan_stats *stats = this_cpu_ptr(vxlan->stats);
> +
> +		u64_stats_update_begin(&stats->syncp);
> +		stats->tx_packets++;
> +		stats->tx_bytes += pkt_len;

Should pkt_len include the outer headers?

> +		u64_stats_update_end(&stats->syncp);
> +	} else {
> +		dev->stats.tx_errors++;
> +		dev->stats.tx_aborted_errors++;
> +	}
> +	return NETDEV_TX_OK;
> +
> +drop:
> +	dev->stats.tx_dropped++;
> +	goto tx_free;
> +
> +tx_error:
> +	dev->stats.tx_errors++;
> +tx_free:
> +	dev_kfree_skb(skb);
> +	return NETDEV_TX_OK;
> +}

  reply	other threads:[~2012-09-24 20:25 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-24 18:43 [PATCH net-next 0/3] VXLAN driver Stephen Hemminger
2012-09-24 18:43 ` [PATCH net-next 1/3] netlink: add attributes to fdb interface Stephen Hemminger
2012-09-24 18:43 ` [PATCH net-next 2/3] igmp: export symbol ip_mc_leave_group Stephen Hemminger
2012-09-24 18:43 ` [PATCH net-next 3/3] vxlan: virtual extensible lan Stephen Hemminger
2012-09-24 19:33   ` Eric Dumazet
2012-09-24 19:39   ` Eric Dumazet
2012-09-24 19:46     ` [PATCHv2 " Stephen Hemminger
2012-09-24 19:55       ` Eric Dumazet
2012-09-24 20:02         ` [PATCHv3 " Stephen Hemminger
2012-09-24 20:24           ` John Fastabend [this message]
2012-09-24 20:27             ` Stephen Hemminger
2012-09-24 23:17               ` John Fastabend
2012-09-24 20:09       ` [PATCHv2 " Eric Dumazet
2012-09-24 20:26         ` Stephen Hemminger
2012-09-24 20:41           ` Eric Dumazet
2012-09-24 20:58   ` [PATCH " Chris Wright
2012-09-24 21:11     ` Stephen Hemminger
2012-09-24 21:22       ` Chris Wright
2012-09-24 21:44         ` [RFC] gre: conform to RFC6040 ECN progogation Stephen Hemminger
2012-09-24 22:25           ` Eric Dumazet
2012-09-24 22:30             ` Stephen Hemminger
2012-09-25  5:17               ` Eric Dumazet
2012-10-01 15:55           ` Ben Hutchings
2012-10-01 15:56             ` Stephen Hemminger
2012-10-01 16:49               ` Ben Hutchings
2012-10-01 17:13                 ` Eric Dumazet
2012-10-01 21:21                   ` Stephen Hemminger
2012-09-24 21:50     ` [PATCHv4 net-next] vxlan: virtual extensible lan Stephen Hemminger
2012-09-25 21:55       ` Jesse Gross
2012-09-25 22:03         ` Stephen Hemminger
2012-09-25 22:09         ` [PATCHv5 " Stephen Hemminger
2012-09-27 22:47           ` David Miller
2012-09-27 23:00             ` Stephen Hemminger
2012-09-27 23:12               ` David Miller
2012-10-01 20:57                 ` [PATCHv6 " Stephen Hemminger
2012-10-01 22:07                   ` David Miller
2012-10-01 22:23                     ` Stephen Hemminger
2012-10-01 22:30                     ` Stephen Hemminger
2012-10-01 22:34                       ` David Miller
     [not found]                 ` <20121001140206.2bbf9c41@nehalam.linuxnetplumber.net>
2012-10-01 21:02                   ` [PATCH 2/2] iproute2: manage VXLAN forwarding entries Stephen Hemminger
2012-10-01 21:02                 ` [PATCH 1/2] iproute2: vxlan support Stephen Hemminger
2012-09-26  4:36         ` [PATCHv4 net-next] vxlan: virtual extensible lan Stephen Hemminger
2012-09-27 17:20           ` Jesse Gross

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5060C189.8090803@intel.com \
    --to=john.r.fastabend@intel.com \
    --cc=chrisw@redhat.com \
    --cc=davem@davemloft.net \
    --cc=eric.dumazet@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=shemminger@vyatta.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).