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);
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);
}
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,
};
/***********************************************************************
{
.type = __constant_htons(ETH_P_HDLC),
.func = hdlc_rcv,
- .data = (void *)1,
+ .data = PKT_CAN_SHARE_SKB,
};
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 =
*/
#define SET_NETDEV_DEV(net, pdev) ((net)->class_dev.dev = (pdev))
+#define PKT_CAN_SHARE_SKB ((void*)1)
struct packet_type
{
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. */
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 };
.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 = {
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);
}
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);
.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
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);
.type = __constant_htons(ETH_P_IP),
.dev = NULL, /* All devices */
.func = ip_rcv,
- .data = (void*)1,
+ .data = PKT_CAN_SHARE_SKB,
};
/*
.type = __constant_htons(ETH_P_IPV6),
.dev = NULL, /* All devices */
.func = ipv6_rcv,
- .data = (void*)1,
+ .data = PKT_CAN_SHARE_SKB,
};
/*
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 = {
.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,
};
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)