From 708822fbe69633679fd243519d3139ea01389643 Mon Sep 17 00:00:00 2001 From: Mark Huang Date: Tue, 1 Feb 2005 03:27:07 +0000 Subject: [PATCH] - bound vnet mods by #ifdef - bound runtime vnet code by if (vnet_active) - vnet needs packet_ops and packet_family_ops, export them if configured --- net/packet/af_packet.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c index df4cd7648..5d18568d2 100644 --- a/net/packet/af_packet.c +++ b/net/packet/af_packet.c @@ -453,8 +453,11 @@ static int packet_rcv(struct sk_buff *skb, struct net_device *dev, struct packe sk = pt->af_packet_priv; po = pkt_sk(sk); - if ((int) sk->sk_xid > 0 && sk->sk_xid != skb->xid) +#if defined(CONFIG_VNET) || defined(CONFIG_VNET_MODULE) + if (vnet_active && + (int) sk->sk_xid > 0 && sk->sk_xid != skb->xid) goto drop; +#endif skb->dev = dev; @@ -1801,14 +1804,19 @@ struct proto_ops packet_ops = { .mmap = packet_mmap, .sendpage = sock_no_sendpage, }; -EXPORT_SYMBOL(packet_ops); +#if defined(CONFIG_VNET) || defined(CONFIG_VNET_MODULE) +EXPORT_SYMBOL(packet_ops); +struct net_proto_family packet_family_ops; +EXPORT_SYMBOL(packet_family_ops); +#else +static +#endif struct net_proto_family packet_family_ops = { .family = PF_PACKET, .create = packet_create, .owner = THIS_MODULE, }; -EXPORT_SYMBOL(packet_family_ops); static struct notifier_block packet_netdev_notifier = { .notifier_call =packet_notifier, -- 2.47.0