Commit b7617a50 authored by David S. Miller's avatar David S. Miller

Merge nuts.ninka.net:/disk1/davem/BK/network-2.5

into nuts.ninka.net:/disk1/davem/BK/net-2.5
parents 3cd77e0c fd1dc88c
......@@ -888,7 +888,7 @@ rlb_initialize(struct bonding *bond)
pk_type->type = __constant_htons(ETH_P_ARP);
pk_type->dev = bond->device;
pk_type->func = rlb_arp_recv;
pk_type->data = (void*)1; /* understand shared skbs */
pk_type->data = PKT_CAN_SHARE_SKB;
dev_add_pack(pk_type);
......
......@@ -955,7 +955,7 @@ static void bond_register_lacpdu(struct bonding *bond)
pk_type->type = PKT_TYPE_LACPDU;
pk_type->dev = bond->device;
pk_type->func = bond_3ad_lacpdu_recv;
pk_type->data = (void*)1; /* understand shared skbs */
pk_type->data = PKT_CAN_SHARE_SKB;
dev_add_pack(pk_type);
}
......
......@@ -468,13 +468,13 @@ static int pppoe_disc_rcv(struct sk_buff *skb,
static struct packet_type pppoes_ptype = {
.type = __constant_htons(ETH_P_PPP_SES),
.func = pppoe_rcv,
.data = (void *)1,
.data = PKT_CAN_SHARE_SKB,
};
static struct packet_type pppoed_ptype = {
.type = __constant_htons(ETH_P_PPP_DISC),
.func = pppoe_disc_rcv,
.data = (void *)1,
.data = PKT_CAN_SHARE_SKB,
};
/***********************************************************************
......
......@@ -283,7 +283,7 @@ static struct packet_type hdlc_packet_type =
{
.type = __constant_htons(ETH_P_HDLC),
.func = hdlc_rcv,
.data = (void *)1,
.data = PKT_CAN_SHARE_SKB,
};
......
......@@ -1454,7 +1454,7 @@ static int sppp_rcv(struct sk_buff *skb, struct net_device *dev, struct packet_t
struct packet_type sppp_packet_type = {
.type = __constant_htons(ETH_P_WAN_PPP),
.func = sppp_rcv,
.data = (void*)1, /* must be non-NULL to indicate 'new' protocol */
.data = PKT_CAN_SHARE_SKB,
};
static char banner[] __initdata =
......
......@@ -477,6 +477,7 @@ struct net_device
*/
#define SET_NETDEV_DEV(net, pdev) ((net)->class_dev.dev = (pdev))
#define PKT_CAN_SHARE_SKB ((void*)1)
struct packet_type
{
......
......@@ -19,11 +19,6 @@ enum ip_nat_manip_type
#define HOOK2MANIP(hooknum) ((hooknum) != NF_IP_POST_ROUTING && (hooknum) != NF_IP_LOCAL_IN)
#endif
/* 2.3.19 (I hope) will define this in linux/netfilter_ipv4.h. */
#ifndef SO_ORIGINAL_DST
#define SO_ORIGINAL_DST 80
#endif
#define IP_NAT_RANGE_MAP_IPS 1
#define IP_NAT_RANGE_PROTO_SPECIFIED 2
/* Used internally by get_unique_tuple(). */
......
......@@ -67,7 +67,7 @@ unsigned short vlan_default_dev_flags = 1;
static struct packet_type vlan_packet_type = {
.type = __constant_htons(ETH_P_8021Q),
.func = vlan_skb_recv, /* VLAN receive method */
.data = (void *)1, /* understands shared skb */
.data = PKT_CAN_SHARE_SKB,
};
/* End of global variables definitions. */
......
......@@ -1872,13 +1872,13 @@ static struct notifier_block ddp_notifier = {
struct packet_type ltalk_packet_type = {
.type = __constant_htons(ETH_P_LOCALTALK),
.func = ltalk_rcv,
.data = (void *)1,
.data = PKT_CAN_SHARE_SKB,
};
struct packet_type ppptalk_packet_type = {
.type = __constant_htons(ETH_P_PPPTALK),
.func = atalk_rcv,
.data = (void *)1,
.data = PKT_CAN_SHARE_SKB,
};
static unsigned char ddp_snap_id[] = { 0x08, 0x00, 0x07, 0x80, 0x9B };
......
......@@ -1978,7 +1978,7 @@ static struct packet_type ax25_packet_type = {
.type = __constant_htons(ETH_P_AX25),
.dev = NULL, /* All devices */
.func = ax25_kiss_rcv,
.data = (void *) 1
.data = PKT_CAN_SHARE_SKB,
};
static struct notifier_block ax25_dev_notifier = {
......
......@@ -109,10 +109,6 @@
#include <linux/wireless.h> /* Note : will define WIRELESS_EXT */
#include <net/iw_handler.h>
#endif /* CONFIG_NET_RADIO */
#ifdef CONFIG_PLIP
extern int plip_init(void);
#endif
#include <asm/current.h>
/* This define, if set, will randomly drop a packet when congestion
......@@ -233,7 +229,7 @@ void dev_add_pack(struct packet_type *pt)
spin_lock_bh(&ptype_lock);
#ifdef CONFIG_NET_FASTROUTE
/* Hack to detect packet socket */
if (pt->data && (long)(pt->data) != 1) {
if (pt->data && pt->data != PKT_CAN_SHARE_SKB) {
netdev_fastroute_obstacles++;
dev_clear_fastroute(pt->dev);
}
......@@ -281,7 +277,7 @@ void __dev_remove_pack(struct packet_type *pt)
list_for_each_entry(pt1, head, list) {
if (pt == pt1) {
#ifdef CONFIG_NET_FASTROUTE
if (pt->data)
if (pt->data && pt->data != PKT_CAN_SHARE_SKB)
netdev_fastroute_obstacles--;
#endif
list_del_rcu(&pt->list);
......
......@@ -2081,7 +2081,7 @@ static struct packet_type dn_dix_packet_type = {
.type = __constant_htons(ETH_P_DNA_RT),
.dev = NULL, /* All devices */
.func = dn_route_rcv,
.data = (void*)1,
.data = PKT_CAN_SHARE_SKB,
};
#ifdef CONFIG_PROC_FS
......
......@@ -1108,7 +1108,7 @@ void arp_ifdown(struct net_device *dev)
static struct packet_type arp_packet_type = {
.type = __constant_htons(ETH_P_ARP),
.func = arp_rcv,
.data = (void*) 1, /* understand shared skbs */
.data = PKT_CAN_SHARE_SKB,
};
static int arp_proc_init(void);
......
......@@ -271,13 +271,17 @@ static struct ip_tunnel * ipgre_tunnel_locate(struct ip_tunnel_parm *parms, int
}
dev = alloc_netdev(sizeof(*t), name, ipgre_tunnel_setup);
if (!dev)
return NULL;
dev->init = ipgre_tunnel_init;
if (register_netdevice(dev) < 0) {
kfree(dev);
goto failed;
}
nt = dev->priv;
dev->init = ipgre_tunnel_init;
nt->parms = *parms;
dev_hold(dev);
......
......@@ -1299,7 +1299,7 @@ static struct packet_type ip_packet_type =
.type = __constant_htons(ETH_P_IP),
.dev = NULL, /* All devices */
.func = ip_rcv,
.data = (void*)1,
.data = PKT_CAN_SHARE_SKB,
};
/*
......
......@@ -62,7 +62,7 @@ static struct packet_type ipv6_packet_type =
.type = __constant_htons(ETH_P_IPV6),
.dev = NULL, /* All devices */
.func = ipv6_rcv,
.data = (void*)1,
.data = PKT_CAN_SHARE_SKB,
};
/*
......
......@@ -1920,13 +1920,13 @@ SOCKOPS_WRAP(ipx_dgram, PF_IPX);
static struct packet_type ipx_8023_packet_type = {
.type = __constant_htons(ETH_P_802_3),
.func = ipx_rcv,
.data = (void *)1, /* yap, I understand shared skbs :-) */
.data = PKT_CAN_SHARE_SKB,
};
static struct packet_type ipx_dix_packet_type = {
.type = __constant_htons(ETH_P_IPX),
.func = ipx_rcv,
.data = (void *)1, /* yap, I understand shared skbs :-) */
.data = PKT_CAN_SHARE_SKB,
};
static struct notifier_block ipx_dev_notifier = {
......
......@@ -191,7 +191,7 @@ static struct packet_type irda_packet_type =
.type = __constant_htons(ETH_P_IRDA),
.dev = NULL, /* Wildcard : All devices */
.func = irlap_driver_rcv, /* Packet type handler irlap_frame.c */
.data = (void*) 1, /* Understand shared skbs */
.data = PKT_CAN_SHARE_SKB,
//.next = NULL,
};
......
......@@ -140,13 +140,13 @@ void llc_sap_close(struct llc_sap *sap)
static struct packet_type llc_packet_type = {
.type = __constant_htons(ETH_P_802_2),
.func = llc_rcv,
.data = (void *)1,
.data = PKT_CAN_SHARE_SKB,
};
static struct packet_type llc_tr_packet_type = {
.type = __constant_htons(ETH_P_TR_802_2),
.func = llc_rcv,
.data = (void *)1,
.data = PKT_CAN_SHARE_SKB,
};
static int __init llc_init(void)
......
......@@ -16,6 +16,7 @@
#include <linux/if_arp.h>
#include <linux/if_tr.h>
#include <linux/netdevice.h>
#include <linux/trdevice.h>
#include <linux/skbuff.h>
#include <net/llc.h>
#include <net/llc_pdu.h>
......
......@@ -416,7 +416,6 @@ void qdisc_destroy(struct Qdisc *qdisc)
dev = qdisc->dev;
#ifdef CONFIG_NET_SCHED
if (dev) {
struct Qdisc *q, **qp;
for (qp = &qdisc->dev->qdisc_list; (q=*qp) != NULL; qp = &q->next) {
......@@ -428,7 +427,6 @@ void qdisc_destroy(struct Qdisc *qdisc)
}
#ifdef CONFIG_NET_ESTIMATOR
qdisc_kill_estimator(&qdisc->stats);
#endif
#endif
if (ops->reset)
ops->reset(qdisc);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment