示例#1
0
static int l2tp_eth_dev_xmit(struct sk_buff *skb, struct net_device *dev)
{
	struct l2tp_eth *priv = netdev_priv(dev);
	struct l2tp_session *session = priv->session;

	dev->stats.tx_bytes += skb->len;
	dev->stats.tx_packets++;
	l2tp_xmit_skb(session, skb, session->hdr_len);

	return 0;
}
示例#2
0
文件: l2tp_eth.c 项目: AllenWeb/linux
static int l2tp_eth_dev_xmit(struct sk_buff *skb, struct net_device *dev)
{
	struct l2tp_eth *priv = netdev_priv(dev);
	struct l2tp_session *session = priv->session;

	atomic_long_add(skb->len, &priv->tx_bytes);
	atomic_long_inc(&priv->tx_packets);

	l2tp_xmit_skb(session, skb, session->hdr_len);

	return NETDEV_TX_OK;
}
示例#3
0
文件: l2tp_eth.c 项目: 7799/linux
static int l2tp_eth_dev_xmit(struct sk_buff *skb, struct net_device *dev)
{
	struct l2tp_eth *priv = netdev_priv(dev);
	struct l2tp_session *session = priv->session;
	unsigned int len = skb->len;
	int ret = l2tp_xmit_skb(session, skb, session->hdr_len);

	if (likely(ret == NET_XMIT_SUCCESS)) {
		atomic_long_add(len, &priv->tx_bytes);
		atomic_long_inc(&priv->tx_packets);
	} else {
		atomic_long_inc(&priv->tx_dropped);
	}
	return NETDEV_TX_OK;
}