#define NB_IPV4ROOT 16
-/* context flags */
+/* network flags */
#define NXF_STATE_SETUP (1ULL<<32)
#define NXF_STATE_HELPER (1ULL<<36)
+#define NXF_ONE_TIME (0x0001ULL<<32)
+
#define NXF_INIT_SET (0)
+/* address types */
+
+#define NXA_TYPE_IPV4 1
+#define NXA_TYPE_IPV6 2
+
+#define NXA_MOD_BCAST (1<<8)
+
+#define NXA_TYPE_ANY (~0)
+
+
#ifdef __KERNEL__
#include <linux/list.h>
#define VCMD_net_add VC_CMD(NETALT, 1, 0)
#define VCMD_net_remove VC_CMD(NETALT, 2, 0)
-struct vcmd_net_nx_v0 {
+struct vcmd_net_addr_v0 {
uint16_t type;
uint16_t count;
uint32_t ip[4];
extern int vc_net_create(uint32_t, void __user *);
extern int vc_net_migrate(uint32_t, void __user *);
+extern int vc_net_add(uint32_t, void __user *);
+extern int vc_net_remove(uint32_t, void __user *);
+
#endif /* __KERNEL__ */
+
+/* flag commands */
+
#define VCMD_get_nflags VC_CMD(FLAGS, 5, 0)
#define VCMD_set_nflags VC_CMD(FLAGS, 6, 0)
#endif /* __KERNEL__ */
-#define IPF_STATE_SETUP (1ULL<<32)
-#define IPF_ONE_TIME (0x0001ULL<<32)
+/* network caps commands */
#define VCMD_get_ncaps VC_CMD(FLAGS, 7, 0)
#define VCMD_set_ncaps VC_CMD(FLAGS, 8, 0)
#warning config options missing
#endif
+#define XID_TAG_SB(sb) (sb->s_flags & MS_TAGXID)
+
#define XID_TAG(in) (!(in) || \
(((struct inode *)in)->i_sb && \
- (((struct inode *)in)->i_sb->s_flags & MS_TAGXID)))
+ XID_TAG_SB(((struct inode *)in)->i_sb)))
+
#ifdef CONFIG_XID_TAG_NFSD
#define XID_TAG_NFSD 1
#endif
+#ifdef CONFIG_INOXID_NONE
+#define vx_current_fsxid(sb) (0)
+#else
+#define vx_current_fsxid(sb) \
+ (XID_TAG_SB(sb) ? current->xid : 0)
+#endif
+
#define INOXID_UID(tag, uid, gid) \
((tag) ? ((uid) & MAX_UID) : (uid))
#define INOXID_GID(tag, uid, gid) \