Re: [Xen-devel] [PATCH] vnet-module

Mike Wray
Fri, 31 Mar 2006 14:43:24 -0000

Robert Valentan wrote:
> patch_vnet_1
>   Replacing the socketcall with direct calling the needed
>   functions (my patch from 28.3)

I don''t like the idea of pasting all this code copied from elsewhere in
the kernel.
If the problem is that __ARCH_WANT_SYS_SOCKETCALL is not defined, so
there is no socketcall, then a better solution needs to be found.

In the worst case a copy of the relevant bits of socket.c defining socketcall
in a separate file with an #ifndef __ARCH_WANT_SYS_SOCKETCALL round it.

>
> patch_vnet_2
>   Modify the module-parameter for kernel 2.6.* (the old one
>   will not compile with the actual kernel 2.6.16)
>   Exporting the default-values of the parameters in /sys/module
>
> patch_vnet_3
>   Some "extentions" to error-messages to identify the position
>   in the code.
>   I had searched a bug, but it was a wrong vnet-id ;-/
>   A hint for docu: using "123459" as vnet-id has not 4 digits
>   and will be punished with errors  ;-)

The changes to the print functions are not needed - the debug macros
in the code already include the function name. All you need to do
is #define DEBUG 1. Check libxutil/debug.h. for the definitions.

Mike

>
>
>
> ------------------------------------------------------------------------
>
> diff -r 2604abf98ede tools/vnet/vnet-module/varp_socket.c
> --- a/tools/vnet/vnet-module/varp_socket.c	Tue Mar 28 09:09:44 2006
> +++ b/tools/vnet/vnet-module/varp_socket.c	Tue Mar 28 17:10:53 2006
> @@ -16,6 +16,9 @@
>   * 59 Temple Place, suite 330, Boston, MA 02111-1307 USA
>   *
>   */
> +
> +static int errno;
> +
>  #include <linux/kernel.h>
>  #include <linux/types.h>
>  #include <linux/version.h>
> @@ -36,7 +39,6 @@
>
>  /* Get macros needed to define system calls as functions in the kernel. */
>  #define __KERNEL_SYSCALLS__
> -static int errno;
>  #include <linux/unistd.h>
>
>  #define MODULE_NAME "VARP"
> @@ -75,110 +77,254 @@
>   * The parts we need anyway.
>   */
>
> -/* Define the socketcall() syscall.
> - * Multiplexes all the socket-related calls.
> - *
> - * @param call socket call id
> - * @param args arguments (upto 6)
> - * @return call-dependent value
> - */
> -static inline _syscall2(int, socketcall,
> -                        int, call,
> -                        unsigned long *, args)
> +/* the following code is copied from linux-kernel/net/socket.c
> + * As replacement of the __NR_socketcall, which exists not in x86_64 and
> + * same other systems.
> + * An alternate will be an export of the copied-functions in net/socket.c
> + */
> +#define MAX_SOCK_ADDR 128
>
>  int socket(int family, int type, int protocol){
> -    unsigned long args[6];
> -
> -    args[0] = (unsigned long)family;
> -    args[1] = (unsigned long)type;
> -    args[2] = (unsigned long)protocol;
> -    return socketcall(SYS_SOCKET, args);
> +
> +	int retval;
> +	struct socket *sock;
> +	retval = sock_create(family, type, protocol, &sock);
> +	if (retval < 0)
> +		goto out;
> +
> +	retval = sock_map_fd(sock);
> +	if (retval < 0)
> +		goto out_release;
> +
> +out:
> +	/* It may be already another descriptor 8) Not kernel problem. */
> +	return retval;
> +
> +out_release:
> +	sock_release(sock);
> +	return retval;
>  }
>
>  int bind(int fd, struct sockaddr *umyaddr, int addrlen){
> -    unsigned long args[6];
> -
> -    args[0] = (unsigned long)fd;
> -    args[1] = (unsigned long)umyaddr;
> -    args[2] = (unsigned long)addrlen;
> -    return socketcall(SYS_BIND, args);
> +
> +	struct socket *sock;
> +	char address[MAX_SOCK_ADDR];
> +	int err;
> +
> +	if((sock = sockfd_lookup(fd,&err))!=NULL)
> +	{
> +		if((err=move_addr_to_kernel(umyaddr,addrlen,address))>=0) {
> +			err = security_socket_bind(sock, (struct sockaddr *)address, addrlen);
> +			if (err) {
> +				sockfd_put(sock);
> +				return err;
> +			}
> +			err = sock->ops->bind(sock, (struct sockaddr *)address, addrlen);
> +		}
> +		sockfd_put(sock);
> +	}
> +	return err;
>  }
>
>  int connect(int fd, struct sockaddr *uservaddr, int addrlen){
> -    unsigned long args[6];
> -
> -    args[0] = (unsigned long)fd;
> -    args[1] = (unsigned long)uservaddr;
> -    args[2] = (unsigned long)addrlen;
> -    return socketcall(SYS_CONNECT, args);
> +
> +	struct socket *sock;
> +	char address[MAX_SOCK_ADDR];
> +	int err;
> +
> +	sock = sockfd_lookup(fd, &err);
> +	if (!sock)
> +		goto out;
> +	err = move_addr_to_kernel(uservaddr, addrlen, address);
> +	if (err < 0)
> +		goto out_put;
> +
> +	err = security_socket_connect(sock, (struct sockaddr *)address, addrlen);
> +	if (err)
> +		goto out_put;
> +
> +	err = sock->ops->connect(sock, (struct sockaddr *) address,
addrlen,
> +				 sock->file->f_flags);
> +out_put:
> +	sockfd_put(sock);
> +out:
> +	return err;
>  }
>
>  int sendto(int fd, void * buff, size_t len,
>             unsigned flags, struct sockaddr *addr,
>             int addr_len){
> -    unsigned long args[6];
> -
> -    args[0] = (unsigned long)fd;
> -    args[1] = (unsigned long)buff;
> -    args[2] = (unsigned long)len;
> -    args[3] = (unsigned long)flags;
> -    args[4] = (unsigned long)addr;
> -    args[5] = (unsigned long)addr_len;
> -    return socketcall(SYS_SENDTO, args);
> +
> +	struct socket *sock;
> +	char address[MAX_SOCK_ADDR];
> +	int err;
> +	struct msghdr msg;
> +	struct iovec iov;
> +
> +	sock = sockfd_lookup(fd, &err);
> +	if (!sock)
> +		goto out;
> +	iov.iov_base=buff;
> +	iov.iov_len=len;
> +	msg.msg_name=NULL;
> +	msg.msg_iov=&iov;
> +	msg.msg_iovlen=1;
> +	msg.msg_control=NULL;
> +	msg.msg_controllen=0;
> +	msg.msg_namelen=0;
> +	if(addr)
> +	{
> +		err = move_addr_to_kernel(addr, addr_len, address);
> +		if (err < 0)
> +			goto out_put;
> +		msg.msg_name=address;
> +		msg.msg_namelen=addr_len;
> +	}
> +	if (sock->file->f_flags & O_NONBLOCK)
> +		flags |= MSG_DONTWAIT;
> +	msg.msg_flags = flags;
> +	err = sock_sendmsg(sock, &msg, len);
> +
> +out_put:
> +	sockfd_put(sock);
> +out:
> +	return err;
>  }
>
>  int recvfrom(int fd, void * ubuf, size_t size,
>               unsigned flags, struct sockaddr *addr,
>               int *addr_len){
> -    unsigned long args[6];
> -
> -    args[0] = (unsigned long)fd;
> -    args[1] = (unsigned long)ubuf;
> -    args[2] = (unsigned long)size;
> -    args[3] = (unsigned long)flags;
> -    args[4] = (unsigned long)addr;
> -    args[5] = (unsigned long)addr_len;
> -    return socketcall(SYS_RECVFROM, args);
> +
> +	struct socket *sock;
> +	struct iovec iov;
> +	struct msghdr msg;
> +	char address[MAX_SOCK_ADDR];
> +	int err,err2;
> +
> +	sock = sockfd_lookup(fd, &err);
> +	if (!sock)
> +		goto out;
> +
> +	msg.msg_control=NULL;
> +	msg.msg_controllen=0;
> +	msg.msg_iovlen=1;
> +	msg.msg_iov=&iov;
> +	iov.iov_len=size;
> +	iov.iov_base=ubuf;
> +	msg.msg_name=address;
> +	msg.msg_namelen=MAX_SOCK_ADDR;
> +	if (sock->file->f_flags & O_NONBLOCK)
> +		flags |= MSG_DONTWAIT;
> +	err=sock_recvmsg(sock, &msg, size, flags);
> +
> +	if(err >= 0 && addr != NULL)
> +	{
> +		err2=move_addr_to_user(address, msg.msg_namelen, addr, addr_len);
> +		if(err2<0)
> +			err=err2;
> +	}
> +	sockfd_put(sock);
> +out:
> +	return err;
>  }
>
>  int setsockopt(int fd, int level, int optname, void *optval, int optlen){
> -    unsigned long args[6];
> -
> -    args[0] = (unsigned long)fd;
> -    args[1] = (unsigned long)level;
> -    args[2] = (unsigned long)optname;
> -    args[3] = (unsigned long)optval;
> -    args[4] = (unsigned long)optlen;
> -    return socketcall(SYS_SETSOCKOPT, args);
> -}
> -
> +
> +	int err;
> +	struct socket *sock;
> +
> +	if (optlen < 0)
> +		return -EINVAL;
> +
> +	if ((sock = sockfd_lookup(fd, &err))!=NULL)
> +	{
> +		err = security_socket_setsockopt(sock,level,optname);
> +		if (err) {
> +			sockfd_put(sock);
> +			return err;
> +		}
> +
> +		if (level == SOL_SOCKET)
> +			err=sock_setsockopt(sock,level,optname,optval,optlen);
> +		else
> +			err=sock->ops->setsockopt(sock, level, optname, optval, optlen);
> +		sockfd_put(sock);
> +	}
> +	return err;
> +}
> +
> +/*  not possible, because sock_getsockopt is not exported ...
>  int getsockopt(int fd, int level, int optname, void *optval, int *optlen){
> -    unsigned long args[6];
> -
> -    args[0] = (unsigned long)fd;
> -    args[1] = (unsigned long)level;
> -    args[2] = (unsigned long)optname;
> -    args[3] = (unsigned long)optval;
> -    args[4] = (unsigned long)optlen;
> -    return socketcall(SYS_GETSOCKOPT, args);
> -}
> +
> +	int err;
> +	struct socket *sock;
> +
> +	if ((sock = sockfd_lookup(fd, &err))!=NULL)
> +	{
> +		err = security_socket_getsockopt(sock, level, optname);
> +		if (err) {
> +			sockfd_put(sock);
> +			return err;
> +		}
> +
> +		if (level == SOL_SOCKET)
> +			err=sock_getsockopt(sock,level,optname,optval,optlen);
> +		else
> +			err=sock->ops->getsockopt(sock, level, optname, optval, optlen);
> +		sockfd_put(sock);
> +	}
> +	return err;
> +}
> +*/
>
>  int shutdown(int fd, int how){
> -    unsigned long args[6];
> -
> -    args[0] = (unsigned long)fd;
> -    args[1] = (unsigned long)how;
> -    return socketcall(SYS_SHUTDOWN, args);
> +
> +	int err;
> +	struct socket *sock;
> +
> +	if ((sock = sockfd_lookup(fd, &err))!=NULL)
> +	{
> +		err = security_socket_shutdown(sock, how);
> +		if (err) {
> +			sockfd_put(sock);
> +			return err;
> +		}
> +
> +		err=sock->ops->shutdown(sock, how);
> +		sockfd_put(sock);
> +	}
> +	return err;
>  }
>
>  int getsockname(int fd, struct sockaddr *usockaddr, int *usockaddr_len){
> -    unsigned long args[6];
> -
> -    args[0] = (unsigned long)fd;
> -    args[1] = (unsigned long)usockaddr;
> -    args[2] = (unsigned long)usockaddr_len;
> -    return socketcall(SYS_GETSOCKNAME, args);
> -}
> +
> +	struct socket *sock;
> +	char address[MAX_SOCK_ADDR];
> +	int len, err;
> +
> +	sock = sockfd_lookup(fd, &err);
> +	if (!sock)
> +		goto out;
> +
> +	err = security_socket_getsockname(sock);
> +	if (err)
> +		goto out_put;
> +
> +	err = sock->ops->getname(sock, (struct sockaddr *)address,
&len, 0);
> +	if (err)
> +		goto out_put;
> +	err = move_addr_to_user(address, len, usockaddr, usockaddr_len);
> +
> +out_put:
> +	sockfd_put(sock);
> +out:
> +	return err;
> +}
> +
> +/**
> + * End of copy from net/socket.c
> + */
> +
>
>
/*============================================================================*/
>  /** Socket flags. */
> @@ -577,7 +723,7 @@
>      int err = 0;
>      mm_segment_t oldfs;
>
> -    dprintf("> mcaddr=%u.%u.%u.%u port=%u\n",
NIPQUAD(mcaddr), ntohs(port));
> +    iprintf("> mcaddr=%u.%u.%u.%u port=%u\n",
NIPQUAD(mcaddr), ntohs(port));
>      oldfs = change_fs(KERNEL_DS);
>      err = varp_mcast_open(mcaddr, port, &varp_mcast_sock);
>      if(err < 0 ) goto exit;
>
>
> ------------------------------------------------------------------------
>
> diff -r 89b98811ce56 tools/vnet/vnet-module/if_varp.h
> --- a/tools/vnet/vnet-module/if_varp.h	Fri Mar 31 13:29:05 2006
> +++ b/tools/vnet/vnet-module/if_varp.h	Fri Mar 31 15:39:27 2006
> @@ -97,7 +97,7 @@
>
>
>  /** Default address for varp/vnet broadcasts: 224.10.0.1 */
> -#define VARP_MCAST_ADDR     0xe00a0001
> +#define VARP_MCAST_ADDR     "224.10.0.1"
>
>  /** UDP port to use for varp protocol. */
>  #define VARP_PORT           1798
> diff -r 89b98811ce56 tools/vnet/vnet-module/tunnel.h
> --- a/tools/vnet/vnet-module/tunnel.h	Fri Mar 31 13:29:05 2006
> +++ b/tools/vnet/vnet-module/tunnel.h	Fri Mar 31 15:39:27 2006
> @@ -74,7 +74,7 @@
>   *
>   * @param tunnel tunnel (may be null)
>   */
> -static inline void Tunnel_decref(struct Tunnel *tunnel){
> +static void Tunnel_decref(struct Tunnel *tunnel){
>      if(!tunnel) return;
>      if(atomic_dec_and_test(&tunnel->refcount)){
>          tunnel->type->close(tunnel);
> diff -r 89b98811ce56 tools/vnet/vnet-module/varp.c
> --- a/tools/vnet/vnet-module/varp.c	Fri Mar 31 13:29:05 2006
> +++ b/tools/vnet/vnet-module/varp.c	Fri Mar 31 15:39:27 2006
> @@ -200,7 +200,8 @@
>  /** UDP port (network order). */
>  u16 varp_port = 0;
>
> -char *varp_device = "xen-br0";
> +#define VARP_DEVICE_DEFAULT "xen-br0"
> +char *varp_device = NULL;
>
>  #define VarpTable_read_lock(vtable, flags)    \
>    do{ read_lock_irqsave(&(vtable)->lock, (flags)); } while(0)
> @@ -262,8 +263,9 @@
>  int varp_ucast_addr(uint32_t *addr)
>  {
>      int err = -ENODEV;
> -    const char *devices[] = { varp_device, "eth0",
"eth1", "eth2", NULL };
> +    char *devices[] = { varp_device, "eth0", "eth1",
"eth2", NULL };
>      const char **p;
> +
>      for(p = devices; err && *p; p++){
>          err = device_ucast_addr(*p, addr);
>      }
> @@ -1485,12 +1487,14 @@
>  static void varp_init_mcast_addr(char *s){
>      unsigned long v = 0;
>
> -    dprintf("> %s\n", s);
> +    dprintf("> mcast_addr init=%s\n", s);
>      if(s && (get_inet_addr(s, &v) >= 0)){
> -        varp_mcast_addr = (u32)v;
> +        varp_mcaddr = s;
>      } else {
> -        varp_mcast_addr = htonl(VARP_MCAST_ADDR);
> -    }
> +        varp_mcaddr = VARP_MCAST_ADDR;
> +        get_inet_addr(varp_mcaddr, &v);
> +    }
> +    varp_mcast_addr = (u32)v;
>  }
>
>  /** Initialize the varp cache.
> @@ -1510,9 +1514,12 @@
>      varp_init_mcast_addr(varp_mcaddr);
>      varp_port = htons(VARP_PORT);
>
> +    if (varp_device == NULL)
> +       varp_device = VARP_DEVICE_DEFAULT;
> +
>      err = varp_open(varp_mcast_addr, varp_port);
>    exit:
> -    dprintf("< err=%d\n", err);
> +    dprintf("< varp_init err=%d\n", err);
>      return err;
>  }
>
> @@ -1529,8 +1536,10 @@
>      dprintf("<\n");
>  }
>
> -MODULE_PARM(varp_mcaddr, "s");
> +#ifdef __KERNEL__
> +module_param_named(mcaddr, varp_mcaddr, charp, 0444);
>  MODULE_PARM_DESC(varp_mcaddr, "VARP multicast address");
>
> -MODULE_PARM(varp_device, "s");
> +module_param_named(device, varp_device, charp, 0444);
>  MODULE_PARM_DESC(varp_device, "VARP network device");
> +#endif
> diff -r 89b98811ce56 tools/vnet/vnet-module/vnet.c
> --- a/tools/vnet/vnet-module/vnet.c	Fri Mar 31 13:29:05 2006
> +++ b/tools/vnet/vnet-module/vnet.c	Fri Mar 31 15:39:27 2006
> @@ -657,6 +657,9 @@
>
>      if(vnet_encaps && !strcmp(vnet_encaps, "udp")){
>          etherip_in_udp = 1;
> +        vnet_encaps = "etherip";
> +    } else {
> +        vnet_encaps = "udp";
>      }
>      dprintf(">\n");
>      err = random_module_init();
> @@ -691,7 +694,7 @@
>  module_exit(vnet_module_exit);
>  MODULE_LICENSE("GPL");
>
> -MODULE_PARM(vnet_encaps, "s");
> +module_param_named(encaps, vnet_encaps, charp, 0444);
>  MODULE_PARM_DESC(vnet_encaps, "Vnet encapsulation: etherip or
udp.");
>
>  #endif
>
>
> ------------------------------------------------------------------------
>
> diff -r 18eecf71f690 tools/vnet/vnet-module/esp.c
> --- a/tools/vnet/vnet-module/esp.c	Fri Mar 31 13:39:42 2006
> +++ b/tools/vnet/vnet-module/esp.c	Fri Mar 31 15:42:56 2006
> @@ -281,7 +281,7 @@
>      }
>      skb_trim_tail(skb, icv_n);
>    exit:
> -    dprintf("< err=%d\n", err);
> +    dprintf("< esp_check_icv err=%d\n", err);
>      return err;
>  }
>
> @@ -384,7 +384,7 @@
>      }
>      err = Tunnel_send(tunnel, skb);
>    exit:
> -    dprintf("< err=%d\n", err);
> +    dprintf("< esp_sa_send err=%d\n", err);
>      return err;
>  }
>
> @@ -487,7 +487,7 @@
>          }
>          err = 1;
>      }
> -    dprintf("< skb=%p err=%d\n", skb, err);
> +    dprintf("< esp_sa_recv skb=%p err=%d\n", skb, err);
>      return err;
>  }
>
> @@ -627,7 +627,7 @@
>      crypto_cipher_setkey(esp->cipher.tfm, esp->cipher.key,
esp->cipher.key_n);
>      err = 0;
>    exit:
> -    dprintf("< err=%d\n", err);
> +    dprintf("< esp_cipher_int err=%d\n", err);
>      return err;
>  }
>
> @@ -674,7 +674,7 @@
>          goto exit;
>      }
>    exit:
> -    dprintf("< err=%d\n", err);
> +    dprintf("< esp_digest_init err=%d\n", err);
>      return err;
>  }
>
> @@ -704,7 +704,7 @@
>      if(err){
>          if(esp) esp_fini(esp);
>      }
> -    dprintf("< err=%d\n", err);
> +    dprintf("< esp_sa_init err=%d\n", err);
>      return err;
>  }
>
> @@ -793,7 +793,7 @@
>          kfree_skb(skb);
>          err = 0;
>      }
> -    dprintf("< err=%d\n", err);
> +    dprintf("< esp_protocol_recv err=%d\n", err);
>      return err;
>  }
>
> @@ -884,7 +884,7 @@
>      }
>      esp_protocol_add();
>    exit:
> -    dprintf("< err=%d\n", err);
> +    dprintf("< esp_module_init err=%d\n", err);
>      return err;
>  }
>
> diff -r 18eecf71f690 tools/vnet/vnet-module/etherip.c
> --- a/tools/vnet/vnet-module/etherip.c	Fri Mar 31 13:39:42 2006
> +++ b/tools/vnet/vnet-module/etherip.c	Fri Mar 31 15:42:56 2006
> @@ -198,7 +198,7 @@
>      skb = NULL;
>    exit:
>      if(err && skb){
> -        wprintf("< err=%d\n", err);
> +        wprintf("< etherip_tunnel_send err=%d\n", err);
>          kfree_skb(skb);
>      }
>      return err;
> @@ -347,7 +347,7 @@
>      err = vnet_skb_recv(skb, vinfo);
>    exit:
>      if(vinfo) Vnet_decref(vinfo);
> -    dprintf("< skb=%p err=%d\n", skb, err);
> +    dprintf("< etherip_protocol_recv skb=%p err=%d\n", skb,
err);
>      return err;
>  }
>
> diff -r 18eecf71f690 tools/vnet/vnet-module/sa.c
> --- a/tools/vnet/vnet-module/sa.c	Fri Mar 31 13:39:42 2006
> +++ b/tools/vnet/vnet-module/sa.c	Fri Mar 31 15:42:56 2006
> @@ -365,7 +365,7 @@
>      if(err && entries){
>          sa_table_delete(state);
>      }
> -    dprintf("< err=%d\n", err);
> +    dprintf("< sa_table_add err=%d\n", err);
>      return err;
>  }
>
> @@ -441,7 +441,7 @@
>      if(err) goto exit;
>      sa_table_delete(existing);
>    exit:
> -    dprintf("< err=%d\n", err);
> +    dprintf("< sa_table_replace err=%d\n", err);
>      return err;
>  }
>
> @@ -524,7 +524,7 @@
>          state = NULL;
>      }
>      *statep = state;
> -    dprintf("< err=%d\n", err);
> +    dprintf("< SAState_create err=%d\n", err);
>      return err;
>  }
>
> @@ -587,7 +587,7 @@
>      }
>
>      err = sa_set(&info, 0, sa);
> -    dprintf("< err=%d\n", err);
> +    dprintf("< sa_create err=%d\n", err);
>      return err;
>  }
>
> @@ -625,7 +625,7 @@
>      } else {
>          SAState_decref(state);
>      }
> -    dprintf("< err=%d\n", err);
> +    dprintf("< sa_set err=%d\n", err);
>      return err;
>  }
>
> @@ -691,7 +691,7 @@
>  static int sa_tunnel_open(Tunnel *tunnel){
>      int err = 0;
>      //dprintf(">\n");
> -    //dprintf("< err=%d\n", err);
> +    //dprintf("< sa_tunnel_open err=%d\n", err);
>      return err;
>  }
>
> diff -r 18eecf71f690 tools/vnet/vnet-module/skb_context.c
> --- a/tools/vnet/vnet-module/skb_context.c	Fri Mar 31 13:39:42 2006
> +++ b/tools/vnet/vnet-module/skb_context.c	Fri Mar 31 15:42:56 2006
> @@ -73,7 +73,7 @@
>      context->next = *val;
>      *val = context;
>    exit:
> -    dprintf("< err=%d\n", err);
> +    dprintf("< SkbContext_push err=%d\n", err);
>      return err;
>  }
>
> @@ -85,7 +85,7 @@
>
>      //err = SkbContext_push(&ctxt, vnet, addr, protocol, data,
free_fn); //todo fixme
>      //SKB_CONTEXT(skb) = ctxt;//todo fixme
> -    dprintf("< err=%d\n", err);
> +    dprintf("< skb_push_context err=%d\n", err);
>      return err;
>  }
>
> diff -r 18eecf71f690 tools/vnet/vnet-module/skb_util.c
> --- a/tools/vnet/vnet-module/skb_util.c	Fri Mar 31 13:39:42 2006
> +++ b/tools/vnet/vnet-module/skb_util.c	Fri Mar 31 15:42:56 2006
> @@ -133,7 +133,7 @@
>              skb_headroom(*pskb), head_n,
>              skb_tailroom(*pskb), tail_n);
>    exit:
> -    dprintf("< err=%d\n", err);
> +    dprintf("< skb_make_room err=%d\n", err);
>      return err;
>  }
>
> @@ -374,7 +374,7 @@
>      }
>    exit:
>      if(!err) *sg_n = sg_i;
> -    if(len) wprintf("> len=%d\n", len);
> +    if(len) wprintf("> sbk_scatterlist len=%d\n", len);
>      if(len) BUG();
>      if(err) dprintf("< err=%d sg_n=%d\n", err, *sg_n);
>      return err;
> diff -r 18eecf71f690 tools/vnet/vnet-module/tunnel.c
> --- a/tools/vnet/vnet-module/tunnel.c	Fri Mar 31 13:39:42 2006
> +++ b/tools/vnet/vnet-module/tunnel.c	Fri Mar 31 15:42:56 2006
> @@ -95,12 +95,12 @@
>          tunnel = NULL;
>      }
>      *val = tunnel;
> -    dprintf("< err=%d\n", err);
> +    dprintf("< tunnel_create err=%d\n", err);
>      return err;
>  }
>
>  void TunnelStats_update(TunnelStats *stats, int len, int err){
> -    dprintf(">len=%d  err=%d\n", len, err);
> +    dprintf("> TunnelStats_update len=%d  err=%d\n", len,
err);
>      if(err){
>          stats->dropped_bytes += len;
>          stats->dropped_packets++;
> @@ -139,7 +139,7 @@
>      tunnel_table->key_hash_fn = tunnel_table_key_hash_fn;
>      tunnel_table->key_equal_fn = tunnel_table_key_equal_fn;
>    exit:
> -    dprintf("< err=%d\n", err);
> +    dprintf("< Tunnel_init(): err=%d\n", err);
>      return err;
>  }
>
> @@ -213,7 +213,7 @@
>          err = -ENOMEM;
>      }
>      tunnel_write_unlock(flags);
> -    dprintf("< err=%d\n", err);
> +    dprintf("< Tunnel_add err=%d\n", err);
>      return err;
>  }
>
> @@ -244,7 +244,7 @@
>      } else {
>          err = skb_xmit(skb);
>      }
> -    dprintf("< err=%d\n", err);
> +    dprintf("< Tunnel_send err=%d\n", err);
>      return err;
>  }
>
> diff -r 18eecf71f690 tools/vnet/vnet-module/varp.c
> --- a/tools/vnet/vnet-module/varp.c	Fri Mar 31 13:39:42 2006
> +++ b/tools/vnet/vnet-module/varp.c	Fri Mar 31 15:42:56 2006
> @@ -512,7 +512,7 @@
>
>    exit:
>      if(err && skbout) kfree_skb(skbout);
> -    dprintf("< err=%d\n", err);
> +    dprintf("< varp_send err=%d\n", err);
>      return err;
>  }
>
> @@ -1002,7 +1002,7 @@
>      VarpEntry_unlock(ventry, flags);
>      err = vnet_tunnel_send(&vnet, &addr, skb);
>      VarpEntry_lock(ventry, flags);
> -    dprintf("< err=%d\n", err);
> +    dprintf("< VarpEntry_send err=%d\n", err);
>      return err;
>  }
>
> @@ -1050,7 +1050,7 @@
>      } else {
>          err = VarpEntry_send(ventry, skb);
>      }
> -    dprintf("< err=%d\n", err);
> +    dprintf("< VarpEntry_resolve err=%d\n", err);
>      return err;
>  }
>
> @@ -1143,7 +1143,7 @@
>      //}
>    exit:
>      VarpEntry_unlock(ventry, flags);
> -    dprintf("< err=%d\n", err);
> +    dprintf("< VarpEntry_update err=%d\n", err);
>      return err;
>  }
>
> @@ -1180,7 +1180,7 @@
>      err = VarpEntry_update(ventry, addr, state, flags);
>      VarpEntry_decref(ventry);
>    exit:
> -    dprintf("< err=%d\n", err);
> +    dprintf("< VarpTable_update err=%d\n", err);
>      return err;
>  }
>
> @@ -1297,7 +1297,7 @@
>      varp_send(VARP_OP_ANNOUNCE, skb->dev, skb, vnet, vmac);
>      vif_decref(vif);
>    exit:
> -    dprintf("< err=%d\n", err);
> +    dprintf("< varp_handle_request err=%d\n", err);
>      return err;
>  }
>
> @@ -1316,7 +1316,7 @@
>      }
>      err = varp_send(VARP_OP_ANNOUNCE, dev, NULL, &vif->vnet,
&vif->vmac);
>    exit:
> -    dprintf("< err=%d\n", err);
> +    dprintf("< varp_announce_vif err=%d\n", err);
>      return err;
>  }
>
> @@ -1335,7 +1335,7 @@
>                             &varph->vnet, &varph->vmac,
&varph->addr,
>                             VARP_STATE_REACHABLE,
>                             (VARP_UPDATE_CREATE | VARP_UPDATE_QUEUE));
> -    dprintf("< err=%d\n", err);
> +    dprintf("< varp_handle_announce err=%d\n", err);
>      return err;
>  }
>
> @@ -1419,7 +1419,7 @@
>          break;
>      }
>    exit:
> -    dprintf("< err=%d\n", err);
> +    dprintf("< varp_handle_message err=%d\n", err);
>      return err;
>  }
>
> @@ -1462,7 +1462,7 @@
>          }
>      }
>    exit:
> -    dprintf("< err=%d\n", err);
> +    dprintf("< varp_output err=%d\n", err);
>      return err;
>  }
>
> diff -r 18eecf71f690 tools/vnet/vnet-module/varp_socket.c
> --- a/tools/vnet/vnet-module/varp_socket.c	Fri Mar 31 13:39:42 2006
> +++ b/tools/vnet/vnet-module/varp_socket.c	Fri Mar 31 15:42:56 2006
> @@ -507,7 +507,7 @@
>      }
>    exit:
>      *val = (err ? -1 : sock);
> -    if(err) eprintf("> err=%d errno=%d\n", err, errno);
> +    if(err) eprintf("> create_socket err=%d errno=%d\n", err,
errno);
>      return err;
>  }
>
> @@ -538,7 +538,7 @@
>          shutdown(sock, 2);
>      }
>      *val = (err ? -1 : sock);
> -    dprintf("< err=%d val=%d\n", err, *val);
> +    dprintf("< varp_mcast_open err=%d val=%d\n", err, *val);
>      return err;
>  }
>
> @@ -554,7 +554,7 @@
>      int flags = (VSOCK_BIND | VSOCK_REUSE);
>      dprintf(">\n");
>      err = create_socket(SOCK_DGRAM, addr, port, flags, val);
> -    dprintf("< err=%d val=%d\n", err, *val);
> +    dprintf("< varp_ucast_open err=%d val=%d\n", err, *val);
>      return err;
>  }
>
> @@ -733,7 +733,7 @@
>      sock_set_callback(varp_mcast_sock);
>    exit:
>      set_fs(oldfs);
> -    dprintf("< err=%d\n", err);
> +    dprintf("< varp_socket_open err=%d\n", err);
>      return err;
>  }
>
> @@ -792,7 +792,7 @@
>      sock_remove_wait_queue(varp_mcast_sock, &mcast_wait);
>      varp_sockets_close();
>      if(err){
> -        eprintf("%s< err=%d\n", __FUNCTION__, err);
> +        eprintf("%s< varp_main err=%d\n", __FUNCTION__, err);
>      }
>      varp_thread_err = err;
>      atomic_set(&varp_state, VARP_STATE_EXITED);
> @@ -842,7 +842,7 @@
>  #endif
>    exit:
>      if(err){
> -        wprintf("> err=%d\n", err);
> -    }
> -    return err;
> -}
> +        wprintf("> varp_open err=%d\n", err);
> +    }
> +    return err;
> +}
> diff -r 18eecf71f690 tools/vnet/vnet-module/vnet.c
> --- a/tools/vnet/vnet-module/vnet.c	Fri Mar 31 13:39:42 2006
> +++ b/tools/vnet/vnet-module/vnet.c	Fri Mar 31 15:42:56 2006
> @@ -448,7 +448,7 @@
>      }
>  #endif
>    exit:
> -    dprintf("< err=%d\n", err);
> +    dprintf("< _skb_xmit err=%d\n", err);
>      return err;
>  }
>
> @@ -486,7 +486,7 @@
>          vif_update(vnet, (Vmac*)eth_hdr(skb)->h_source);
>          err = varp_output(skb, vnet);
>      }
> -    //dprintf("< err=%d\n", err);
> +    //dprintf("< vnet_skb_send err=%d\n", err);
>      return err;
>  }
>
> diff -r 18eecf71f690 tools/vnet/vnet-module/vnet_eval.c
> --- a/tools/vnet/vnet-module/vnet_eval.c	Fri Mar 31 13:39:42 2006
> +++ b/tools/vnet/vnet-module/vnet_eval.c	Fri Mar 31 15:42:56 2006
> @@ -354,7 +354,7 @@
>              break;
>          }
>      }
> -    iprintf("< err=%d\n", err);
> +    iprintf("< vnet_eval_defs err=%d\n", err);
>      return err;
>  }
>
> diff -r 18eecf71f690 tools/vnet/vnet-module/vnet_ioctl.c
> --- a/tools/vnet/vnet-module/vnet_ioctl.c	Fri Mar 31 13:39:42 2006
> +++ b/tools/vnet/vnet-module/vnet_ioctl.c	Fri Mar 31 15:42:56 2006
> @@ -247,7 +247,7 @@
>    exit:
>      Parser_free(parser);
>      file->private_data = NULL;
> -    dprintf("< err=%d\n", err);
> +    dprintf("< proc_policy_release err=%d\n", err);
>      return err;
>  }
>
> @@ -301,7 +301,7 @@
>      int err = 0;
>      IOStream *io = file->private_data;
>      if(io) IOStream_close(io);
> -    dprintf("< err=%d\n", err);
> +    dprintf("< proc_io_release_fn err=%d\n", err);
>      return err;
>  }
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel