Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1429 commits) net: Allow dependancies of FDDI & Tokenring to be modular. igb: Fix build warning when DCA is disabled. net: Fix warning fallout from recent NAPI interface changes. gro: Fix potential use after free sfc: If AN is enabled, always read speed/duplex from the AN advertising bits sfc: When disabling the NIC, close the device rather than unregistering it sfc: SFT9001: Add cable diagnostics sfc: Add support for multiple PHY self-tests sfc: Merge top-level functions for self-tests sfc: Clean up PHY mode management in loopback self-test sfc: Fix unreliable link detection in some loopback modes sfc: Generate unique names for per-NIC workqueues 802.3ad: use standard ethhdr instead of ad_header 802.3ad: generalize out mac address initializer 802.3ad: initialize ports LACPDU from const initializer 802.3ad: remove typedef around ad_system 802.3ad: turn ports is_individual into a bool 802.3ad: turn ports is_enabled into a bool 802.3ad: make ntt bool ixgbe: Fix set_ringparam in ixgbe to use the same memory pools. ... Fixed trivial IPv4/6 address printing conflicts in fs/cifs/connect.c due to the conversion to %pI (in this networking merge) and the addition of doing IPv6 addresses (from the earlier merge of CIFS).
此提交包含在:
@@ -142,14 +142,9 @@ static int nes_inetaddr_event(struct notifier_block *notifier,
|
||||
struct nes_device *nesdev;
|
||||
struct net_device *netdev;
|
||||
struct nes_vnic *nesvnic;
|
||||
unsigned int addr;
|
||||
unsigned int mask;
|
||||
|
||||
addr = ntohl(ifa->ifa_address);
|
||||
mask = ntohl(ifa->ifa_mask);
|
||||
nes_debug(NES_DBG_NETDEV, "nes_inetaddr_event: ip address " NIPQUAD_FMT
|
||||
", netmask " NIPQUAD_FMT ".\n",
|
||||
HIPQUAD(addr), HIPQUAD(mask));
|
||||
nes_debug(NES_DBG_NETDEV, "nes_inetaddr_event: ip address %pI4, netmask %pI4.\n",
|
||||
&ifa->ifa_address, &ifa->ifa_mask);
|
||||
list_for_each_entry(nesdev, &nes_dev_list, list) {
|
||||
nes_debug(NES_DBG_NETDEV, "Nesdev list entry = 0x%p. (%s)\n",
|
||||
nesdev, nesdev->netdev[0]->name);
|
||||
@@ -360,10 +355,8 @@ struct ib_qp *nes_get_qp(struct ib_device *device, int qpn)
|
||||
*/
|
||||
static void nes_print_macaddr(struct net_device *netdev)
|
||||
{
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
nes_debug(NES_DBG_INIT, "%s: %s, IRQ %u\n",
|
||||
netdev->name, print_mac(mac, netdev->dev_addr), netdev->irq);
|
||||
nes_debug(NES_DBG_INIT, "%s: %pM, IRQ %u\n",
|
||||
netdev->name, netdev->dev_addr, netdev->irq);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -782,8 +782,8 @@ static struct nes_cm_node *find_node(struct nes_cm_core *cm_core,
|
||||
/* get a handle on the hte */
|
||||
hte = &cm_core->connected_nodes;
|
||||
|
||||
nes_debug(NES_DBG_CM, "Searching for an owner node: " NIPQUAD_FMT ":%x from core %p->%p\n",
|
||||
HIPQUAD(loc_addr), loc_port, cm_core, hte);
|
||||
nes_debug(NES_DBG_CM, "Searching for an owner node: %pI4:%x from core %p->%p\n",
|
||||
&loc_addr, loc_port, cm_core, hte);
|
||||
|
||||
/* walk list and find cm_node associated with this session ID */
|
||||
spin_lock_irqsave(&cm_core->ht_lock, flags);
|
||||
@@ -832,8 +832,8 @@ static struct nes_cm_listener *find_listener(struct nes_cm_core *cm_core,
|
||||
}
|
||||
spin_unlock_irqrestore(&cm_core->listen_list_lock, flags);
|
||||
|
||||
nes_debug(NES_DBG_CM, "Unable to find listener for " NIPQUAD_FMT ":%x\n",
|
||||
HIPQUAD(dst_addr), dst_port);
|
||||
nes_debug(NES_DBG_CM, "Unable to find listener for %pI4:%x\n",
|
||||
&dst_addr, dst_port);
|
||||
|
||||
/* no listener */
|
||||
return NULL;
|
||||
@@ -988,7 +988,6 @@ static int nes_addr_resolve_neigh(struct nes_vnic *nesvnic, u32 dst_ip)
|
||||
struct flowi fl;
|
||||
struct neighbour *neigh;
|
||||
int rc = -1;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
memset(&fl, 0, sizeof fl);
|
||||
fl.nl_u.ip4_u.daddr = htonl(dst_ip);
|
||||
@@ -1002,8 +1001,8 @@ static int nes_addr_resolve_neigh(struct nes_vnic *nesvnic, u32 dst_ip)
|
||||
if (neigh) {
|
||||
if (neigh->nud_state & NUD_VALID) {
|
||||
nes_debug(NES_DBG_CM, "Neighbor MAC address for 0x%08X"
|
||||
" is %s, Gateway is 0x%08X \n", dst_ip,
|
||||
print_mac(mac, neigh->ha), ntohl(rt->rt_gateway));
|
||||
" is %pM, Gateway is 0x%08X \n", dst_ip,
|
||||
neigh->ha, ntohl(rt->rt_gateway));
|
||||
nes_manage_arp_cache(nesvnic->netdev, neigh->ha,
|
||||
dst_ip, NES_ARP_ADD);
|
||||
rc = nes_arp_table(nesvnic->nesdev, dst_ip, NULL,
|
||||
@@ -1032,7 +1031,6 @@ static struct nes_cm_node *make_cm_node(struct nes_cm_core *cm_core,
|
||||
int arpindex = 0;
|
||||
struct nes_device *nesdev;
|
||||
struct nes_adapter *nesadapter;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
/* create an hte and cm_node for this instance */
|
||||
cm_node = kzalloc(sizeof(*cm_node), GFP_ATOMIC);
|
||||
@@ -1045,10 +1043,9 @@ static struct nes_cm_node *make_cm_node(struct nes_cm_core *cm_core,
|
||||
cm_node->loc_port = cm_info->loc_port;
|
||||
cm_node->rem_port = cm_info->rem_port;
|
||||
cm_node->send_write0 = send_first;
|
||||
nes_debug(NES_DBG_CM, "Make node addresses : loc = " NIPQUAD_FMT
|
||||
":%x, rem = " NIPQUAD_FMT ":%x\n",
|
||||
HIPQUAD(cm_node->loc_addr), cm_node->loc_port,
|
||||
HIPQUAD(cm_node->rem_addr), cm_node->rem_port);
|
||||
nes_debug(NES_DBG_CM, "Make node addresses : loc = %pI4:%x, rem = %pI4:%x\n",
|
||||
&cm_node->loc_addr, cm_node->loc_port,
|
||||
&cm_node->rem_addr, cm_node->rem_port);
|
||||
cm_node->listener = listener;
|
||||
cm_node->netdev = nesvnic->netdev;
|
||||
cm_node->cm_id = cm_info->cm_id;
|
||||
@@ -1101,8 +1098,8 @@ static struct nes_cm_node *make_cm_node(struct nes_cm_core *cm_core,
|
||||
|
||||
/* copy the mac addr to node context */
|
||||
memcpy(cm_node->rem_mac, nesadapter->arp_table[arpindex].mac_addr, ETH_ALEN);
|
||||
nes_debug(NES_DBG_CM, "Remote mac addr from arp table: %s\n",
|
||||
print_mac(mac, cm_node->rem_mac));
|
||||
nes_debug(NES_DBG_CM, "Remote mac addr from arp table: %pM\n",
|
||||
cm_node->rem_mac);
|
||||
|
||||
add_hte_node(cm_core, cm_node);
|
||||
atomic_inc(&cm_nodes_created);
|
||||
@@ -2077,10 +2074,8 @@ static int mini_cm_recv_pkt(struct nes_cm_core *cm_core,
|
||||
nfo.rem_addr = ntohl(iph->saddr);
|
||||
nfo.rem_port = ntohs(tcph->source);
|
||||
|
||||
nes_debug(NES_DBG_CM, "Received packet: dest=" NIPQUAD_FMT
|
||||
":0x%04X src=" NIPQUAD_FMT ":0x%04X\n",
|
||||
NIPQUAD(iph->daddr), tcph->dest,
|
||||
NIPQUAD(iph->saddr), tcph->source);
|
||||
nes_debug(NES_DBG_CM, "Received packet: dest=%pI4:0x%04X src=%pI4:0x%04X\n",
|
||||
&iph->daddr, tcph->dest, &iph->saddr, tcph->source);
|
||||
|
||||
do {
|
||||
cm_node = find_node(cm_core,
|
||||
|
@@ -2541,7 +2541,7 @@ static void nes_nic_napi_ce_handler(struct nes_device *nesdev, struct nes_hw_nic
|
||||
{
|
||||
struct nes_vnic *nesvnic = container_of(cq, struct nes_vnic, nic_cq);
|
||||
|
||||
netif_rx_schedule(nesdev->netdev[nesvnic->netdev_index], &nesvnic->napi);
|
||||
netif_rx_schedule(&nesvnic->napi);
|
||||
}
|
||||
|
||||
|
||||
|
@@ -99,7 +99,6 @@ static int nics_per_function = 1;
|
||||
static int nes_netdev_poll(struct napi_struct *napi, int budget)
|
||||
{
|
||||
struct nes_vnic *nesvnic = container_of(napi, struct nes_vnic, napi);
|
||||
struct net_device *netdev = nesvnic->netdev;
|
||||
struct nes_device *nesdev = nesvnic->nesdev;
|
||||
struct nes_hw_nic_cq *nescq = &nesvnic->nic_cq;
|
||||
|
||||
@@ -112,7 +111,7 @@ static int nes_netdev_poll(struct napi_struct *napi, int budget)
|
||||
nes_nic_ce_handler(nesdev, nescq);
|
||||
|
||||
if (nescq->cqes_pending == 0) {
|
||||
netif_rx_complete(netdev, napi);
|
||||
netif_rx_complete(napi);
|
||||
/* clear out completed cqes and arm */
|
||||
nes_write32(nesdev->regs+NES_CQE_ALLOC, NES_CQE_ALLOC_NOTIFY_NEXT |
|
||||
nescq->cq_number | (nescq->cqe_allocs_pending << 16));
|
||||
@@ -797,14 +796,13 @@ static int nes_netdev_set_mac_address(struct net_device *netdev, void *p)
|
||||
int i;
|
||||
u32 macaddr_low;
|
||||
u16 macaddr_high;
|
||||
DECLARE_MAC_BUF(mac);
|
||||
|
||||
if (!is_valid_ether_addr(mac_addr->sa_data))
|
||||
return -EADDRNOTAVAIL;
|
||||
|
||||
memcpy(netdev->dev_addr, mac_addr->sa_data, netdev->addr_len);
|
||||
printk(PFX "%s: Address length = %d, Address = %s\n",
|
||||
__func__, netdev->addr_len, print_mac(mac, mac_addr->sa_data));
|
||||
printk(PFX "%s: Address length = %d, Address = %pM\n",
|
||||
__func__, netdev->addr_len, mac_addr->sa_data);
|
||||
macaddr_high = ((u16)netdev->dev_addr[0]) << 8;
|
||||
macaddr_high += (u16)netdev->dev_addr[1];
|
||||
macaddr_low = ((u32)netdev->dev_addr[2]) << 24;
|
||||
@@ -909,9 +907,8 @@ static void nes_netdev_set_multicast_list(struct net_device *netdev)
|
||||
if (mc_index >= max_pft_entries_avaiable)
|
||||
break;
|
||||
if (multicast_addr) {
|
||||
DECLARE_MAC_BUF(mac);
|
||||
nes_debug(NES_DBG_NIC_RX, "Assigning MC Address %s to register 0x%04X nic_idx=%d\n",
|
||||
print_mac(mac, multicast_addr->dmi_addr),
|
||||
nes_debug(NES_DBG_NIC_RX, "Assigning MC Address %pM to register 0x%04X nic_idx=%d\n",
|
||||
multicast_addr->dmi_addr,
|
||||
perfect_filter_register_address+(mc_index * 8),
|
||||
mc_nic_index);
|
||||
macaddr_high = ((u16)multicast_addr->dmi_addr[0]) << 8;
|
||||
|
@@ -682,9 +682,8 @@ int nes_arp_table(struct nes_device *nesdev, u32 ip_addr, u8 *mac_addr, u32 acti
|
||||
|
||||
/* DELETE or RESOLVE */
|
||||
if (arp_index == nesadapter->arp_table_size) {
|
||||
nes_debug(NES_DBG_NETDEV, "MAC for " NIPQUAD_FMT " not in ARP table - cannot %s\n",
|
||||
HIPQUAD(ip_addr),
|
||||
action == NES_ARP_RESOLVE ? "resolve" : "delete");
|
||||
nes_debug(NES_DBG_NETDEV, "MAC for %pI4 not in ARP table - cannot %s\n",
|
||||
&ip_addr, action == NES_ARP_RESOLVE ? "resolve" : "delete");
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
新增問題並參考
封鎖使用者