tehuti: do vlan cleanup
- unify vlan and nonvlan rx path - kill priv->vlgrp and bdx_vlan_rx_register Signed-off-by: Jiri Pirko <jpirko@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
9c5d061429
Коммит
312cd51353
|
@ -742,22 +742,6 @@ static void bdx_vlan_rx_kill_vid(struct net_device *ndev, unsigned short vid)
|
||||||
__bdx_vlan_rx_vid(ndev, vid, 0);
|
__bdx_vlan_rx_vid(ndev, vid, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* bdx_vlan_rx_register - kernel hook for adding VLAN group
|
|
||||||
* @ndev network device
|
|
||||||
* @grp VLAN group
|
|
||||||
*/
|
|
||||||
static void
|
|
||||||
bdx_vlan_rx_register(struct net_device *ndev, struct vlan_group *grp)
|
|
||||||
{
|
|
||||||
struct bdx_priv *priv = netdev_priv(ndev);
|
|
||||||
|
|
||||||
ENTER;
|
|
||||||
DBG("device='%s', group='%p'\n", ndev->name, grp);
|
|
||||||
priv->vlgrp = grp;
|
|
||||||
RET();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* bdx_change_mtu - Change the Maximum Transfer Unit
|
* bdx_change_mtu - Change the Maximum Transfer Unit
|
||||||
* @netdev: network interface device structure
|
* @netdev: network interface device structure
|
||||||
|
@ -1146,21 +1130,15 @@ NETIF_RX_MUX(struct bdx_priv *priv, u32 rxd_val1, u16 rxd_vlan,
|
||||||
struct sk_buff *skb)
|
struct sk_buff *skb)
|
||||||
{
|
{
|
||||||
ENTER;
|
ENTER;
|
||||||
DBG("rxdd->flags.bits.vtag=%d vlgrp=%p\n", GET_RXD_VTAG(rxd_val1),
|
DBG("rxdd->flags.bits.vtag=%d\n", GET_RXD_VTAG(rxd_val1));
|
||||||
priv->vlgrp);
|
if (GET_RXD_VTAG(rxd_val1)) {
|
||||||
if (priv->vlgrp && GET_RXD_VTAG(rxd_val1)) {
|
DBG("%s: vlan rcv vlan '%x' vtag '%x'\n",
|
||||||
DBG("%s: vlan rcv vlan '%x' vtag '%x', device name '%s'\n",
|
|
||||||
priv->ndev->name,
|
priv->ndev->name,
|
||||||
GET_RXD_VLAN_ID(rxd_vlan),
|
GET_RXD_VLAN_ID(rxd_vlan),
|
||||||
GET_RXD_VTAG(rxd_val1),
|
GET_RXD_VTAG(rxd_val1));
|
||||||
vlan_group_get_device(priv->vlgrp,
|
__vlan_hwaccel_put_tag(skb, GET_RXD_VLAN_TCI(rxd_vlan));
|
||||||
GET_RXD_VLAN_ID(rxd_vlan))->name);
|
|
||||||
/* NAPI variant of receive functions */
|
|
||||||
vlan_hwaccel_receive_skb(skb, priv->vlgrp,
|
|
||||||
GET_RXD_VLAN_TCI(rxd_vlan));
|
|
||||||
} else {
|
|
||||||
netif_receive_skb(skb);
|
|
||||||
}
|
}
|
||||||
|
netif_receive_skb(skb);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void bdx_recycle_skb(struct bdx_priv *priv, struct rxd_desc *rxdd)
|
static void bdx_recycle_skb(struct bdx_priv *priv, struct rxd_desc *rxdd)
|
||||||
|
@ -1877,7 +1855,7 @@ static void bdx_tx_push_desc_safe(struct bdx_priv *priv, void *data, int size)
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct net_device_ops bdx_netdev_ops = {
|
static const struct net_device_ops bdx_netdev_ops = {
|
||||||
.ndo_open = bdx_open,
|
.ndo_open = bdx_open,
|
||||||
.ndo_stop = bdx_close,
|
.ndo_stop = bdx_close,
|
||||||
.ndo_start_xmit = bdx_tx_transmit,
|
.ndo_start_xmit = bdx_tx_transmit,
|
||||||
.ndo_validate_addr = eth_validate_addr,
|
.ndo_validate_addr = eth_validate_addr,
|
||||||
|
@ -1885,7 +1863,6 @@ static const struct net_device_ops bdx_netdev_ops = {
|
||||||
.ndo_set_multicast_list = bdx_setmulti,
|
.ndo_set_multicast_list = bdx_setmulti,
|
||||||
.ndo_change_mtu = bdx_change_mtu,
|
.ndo_change_mtu = bdx_change_mtu,
|
||||||
.ndo_set_mac_address = bdx_set_mac,
|
.ndo_set_mac_address = bdx_set_mac,
|
||||||
.ndo_vlan_rx_register = bdx_vlan_rx_register,
|
|
||||||
.ndo_vlan_rx_add_vid = bdx_vlan_rx_add_vid,
|
.ndo_vlan_rx_add_vid = bdx_vlan_rx_add_vid,
|
||||||
.ndo_vlan_rx_kill_vid = bdx_vlan_rx_kill_vid,
|
.ndo_vlan_rx_kill_vid = bdx_vlan_rx_kill_vid,
|
||||||
};
|
};
|
||||||
|
|
|
@ -250,7 +250,6 @@ struct bdx_priv {
|
||||||
struct rxf_fifo rxf_fifo0;
|
struct rxf_fifo rxf_fifo0;
|
||||||
struct rxdb *rxdb; /* rx dbs to store skb pointers */
|
struct rxdb *rxdb; /* rx dbs to store skb pointers */
|
||||||
int napi_stop;
|
int napi_stop;
|
||||||
struct vlan_group *vlgrp;
|
|
||||||
|
|
||||||
/* Tx FIFOs: 1 for data desc, 1 for empty (acks) desc */
|
/* Tx FIFOs: 1 for data desc, 1 for empty (acks) desc */
|
||||||
struct txd_fifo txd_fifo0;
|
struct txd_fifo txd_fifo0;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче