PERFORCE change 150148 for review
Bjoern A. Zeeb
bz at FreeBSD.org
Sat Sep 20 09:19:49 UTC 2008
On Fri, 19 Sep 2008, Marko Zec wrote:
> http://perforce.freebsd.org/chv.cgi?CH=150148
>
> Change 150148 by zec at zec_tpx32 on 2008/09/19 23:05:27
>
> Phase 1.5 commit is supposed to bring no functional changes,
> so omit all non-null-macros and other stuff for now. Also
> do more whitespace cleanups.
I haven't looked too closely at the change but if that was stuff that
was under #ifdef VIMAGE it would be a NOP for now and make future
diffs smaller.
We should probably do another one or two minimalistic intermediate
steps belonging to step 2 to bring those over from p4 to SVN then
in the future, that is breaking down the big step into smaller junks
as long as all this is still hidden under #ifdef VIMAGE.
For now, get in what we have as I see the mail coming in from you.
> Affected files ...
>
> .. //depot/projects/vimage-commit2/src/sys/netgraph/netgraph.h#6 edit
> .. //depot/projects/vimage-commit2/src/sys/sys/vimage.h#18 edit
> .. //depot/projects/vimage/src/sys/netinet6/vinet6.h#19 edit
> .. //depot/projects/vimage/src/sys/netipsec/vipsec.h#12 edit
>
> Differences ...
>
> ==== //depot/projects/vimage-commit2/src/sys/netgraph/netgraph.h#6 (text+ko) ====
>
> @@ -1183,27 +1183,13 @@
> #define NGI_GET_META(i,m)
> #define ng_copy_meta(meta) NULL
>
> +/* Virtualization macros */
> #define INIT_VNET_NETGRAPH(vnet) \
> INIT_FROM_VNET(vnet, VNET_MOD_NETGRAPH, \
> struct vnet_netgraph, vnet_netgraph)
>
> #define VNET_NETGRAPH(sym) VSYM(vnet_netgraph, sym)
>
> -#define NG_ID_HASH_SIZE 32 /* most systems wont need even this many */
> -#define NG_NAME_HASH_SIZE 128 /* most systems wont need even this many */
> -
> -#ifdef VIMAGE
> -struct vnet_netgraph {
> - LIST_HEAD(, ng_node) _ng_ID_hash[NG_ID_HASH_SIZE];
> - LIST_HEAD(, ng_node) _ng_name_hash[NG_ID_HASH_SIZE];
> - LIST_HEAD(, ng_node) _ng_nodelist;
> - ng_ID_t _nextID;
> - struct unrhdr *_ng_iface_unit;
> - struct unrhdr *_ng_eiface_unit;
> - struct unrhdr *_ng_wormhole_unit;
> -};
> -#endif
> -
> /* Symbol translation macros */
> #define V_ng_ID_hash VNET_NETGRAPH(ng_ID_hash)
> #define V_ng_name_hash VNET_NETGRAPH(ng_name_hash)
>
> ==== //depot/projects/vimage-commit2/src/sys/sys/vimage.h#18 (text+ko) ====
>
> @@ -33,235 +33,7 @@
> #ifndef _SYS_VIMAGE_H_
> #define _SYS_VIMAGE_H_
>
> -#include <sys/lock.h>
> -#include <sys/proc.h>
> -#include <sys/condvar.h>
> -#include <sys/mutex.h>
> -
> -#ifdef INVARIANTS
> -#define VNET_DEBUG
> -#endif
> -
> -struct vimage;
> -struct vprocg;
> -struct vnet;
> -struct vi_req;
> -struct kld_sym_lookup;
> -
> -struct ifnet; /* XXX must go away */
> -
> -#define curvnet curthread->td_vnet
> -
> -#define basevnet thread0.td_ucred->cr_vimage->v_net
> -#define basevprocg thread0.td_ucred->cr_vimage->v_procg
> -#define basevcpu thread0.td_ucred->cr_vimage->v_cpu
> -
> -typedef int vnet_attach_fn(const void *);
> -typedef int vnet_detach_fn(const void *);
> -
> -
> -#ifdef VIMAGE
> -
> -#define V_GLOBAL 0
> -#define V_NET 1
> -#define V_PROCG 2
> -#define V_CPU 3
> -
> -#define VNET_MOD_NONE -1
> -/*statefull modules */
> -#define VNET_MOD_NET 0
> -#define VNET_MOD_NETGRAPH 1
> -#define VNET_MOD_INET 2
> -#define VNET_MOD_INET6 3
> -#define VNET_MOD_IPSEC 4
> -#define VNET_MOD_IPFW 5
> -#define VNET_MOD_DUMMYNET 6
> -#define VNET_MOD_PF 7
> -#define VNET_MOD_ALTQ 8
> -#define VNET_MOD_IPX 9
> -#define VNET_MOD_ATALK 10
> -/* stateless modules */
> -#define VNET_MOD_NG_WORMHOLE 19
> -#define VNET_MOD_NG_ETHER 20
> -#define VNET_MOD_NG_IFACE 21
> -#define VNET_MOD_NG_EIFACE 22
> -#define VNET_MOD_ESP 23
> -#define VNET_MOD_IPIP 24
> -#define VNET_MOD_AH 25
> -#define VNET_MOD_IPCOMP 26
> -#define VNET_MOD_GIF 27
> -#define VNET_MOD_ARP 28
> -#define VNET_MOD_RTABLE 29
> -#define VNET_MOD_LOIF 30
> -#define VNET_MOD_DOMAIN 31
> -#define VNET_MOD_DYNAMIC_START 32
> -#define VNET_MOD_MAX 64
> -
> -/* Needed for ugly sysctl virtualization macros for vnet minor modules */
> -#define V_MOD_vnet_net VNET_MOD_NET
> -#define V_MOD_vnet_netgraph VNET_MOD_NETGRAPH
> -#define V_MOD_vnet_inet VNET_MOD_INET
> -#define V_MOD_vnet_inet6 VNET_MOD_INET6
> -#define V_MOD_vnet_ipfw VNET_MOD_IPFW
> -#define V_MOD_vnet_pf VNET_MOD_PF
> -#define V_MOD_vnet_gif VNET_MOD_GIF
> -#define V_MOD_vnet_ipsec VNET_MOD_IPSEC
> -
> -/* vprocg and vcpu major modules do not have minor modules like vnet does */
> -#define V_MOD_vprocg 0
> -#define V_MOD_vcpu 0
> -
> -struct vnet {
> - void *mod_data[VNET_MOD_MAX];
> -
> - u_int vnet_ref; /* reference count */
> - LIST_ENTRY(vnet) vnet_le; /* all vnets list */
> - u_int vnet_id; /* ID num */
> -
> - u_int ifccnt;
> - u_int sockcnt;
> -
> - u_int vnet_magic_n;
> -};
> -
> -struct vnet_symmap {
> - char *name;
> - size_t offset;
> - size_t size;
> -};
> -
> -struct vnet_modinfo {
> - u_int vmi_id;
> - u_int vmi_dependson;
> - char *vmi_name;
> - vnet_attach_fn *vmi_iattach;
> - vnet_detach_fn *vmi_idetach;
> - size_t vmi_struct_size;
> - struct vnet_symmap *vmi_symmap;
> -};
> -
> -struct vnet_modlink {
> - TAILQ_ENTRY(vnet_modlink) vml_mod_le;
> - const struct vnet_modinfo *vml_modinfo;
> - const void *vml_iarg;
> - const char *vml_iname;
> -};
> -
> -#define VNET_MOD_DECLARE(m_name_uc, m_name_lc, m_iattach, m_idetach, \
> - m_dependson, m_symmap) \
> - static const struct vnet_modinfo vnet_##m_name_lc##_modinfo = { \
> - .vmi_id = VNET_MOD_##m_name_uc, \
> - .vmi_dependson = VNET_MOD_##m_dependson, \
> - .vmi_name = #m_name_lc, \
> - .vmi_iattach = m_iattach, \
> - .vmi_idetach = m_idetach, \
> - .vmi_struct_size = \
> - sizeof(struct vnet_##m_name_lc), \
> - .vmi_symmap = m_symmap \
> -};
> -
> -#define VNET_MOD_DECLARE_STATELESS(m_name_uc, m_name_lc, m_iattach, m_idetach, \
> - m_dependson) \
> - static const struct vnet_modinfo vnet_##m_name_lc##_modinfo = { \
> - .vmi_id = VNET_MOD_##m_name_uc, \
> - .vmi_dependson = VNET_MOD_##m_dependson, \
> - .vmi_name = #m_name_lc, \
> - .vmi_iattach = m_iattach, \
> - .vmi_idetach = m_idetach \
> -};
> -
> -#define VSYM(base, sym) ((base)->_##sym)
> -
> -#define VNET_SYMMAP(mod, name) \
> - { #name, offsetof(struct vnet_##mod, _##name), \
> - sizeof(((struct vnet_##mod *) curthread)->_##name) }
> -
> -#define VNET_SYMMAP_END \
> - { NULL, 0 }
> -
> -#define VNET_MAGIC_N 0x3e0d8f29
> -
> -
> -#ifdef VNET_DEBUG
> -
> -#define VNET_ASSERT(condition) \
> - if (!(condition)) { \
> - printf("VNET_ASSERT @ %s:%d %s():\n", \
> - __FILE__, __LINE__, __FUNCTION__); \
> - panic(#condition); \
> - }
> -
> -#define CURVNET_SET_QUIET(arg) \
> - VNET_ASSERT((arg)->vnet_magic_n == VNET_MAGIC_N); \
> - struct vnet *saved_vnet = curvnet; \
> - const char *saved_vnet_lpush = curthread->td_vnet_lpush; \
> - curvnet = arg; \
> - curthread->td_vnet_lpush = __FUNCTION__;
> -
> -#define CURVNET_SET_VERBOSE(arg) \
> - CURVNET_SET_QUIET(arg) \
> - if (saved_vnet) \
> - printf("curvnet_set(%p) in %s() on cpu %d, prev %p in %s()\n", \
> - curvnet, curthread->td_vnet_lpush, curcpu, \
> - saved_vnet, saved_vnet_lpush);
> -
> -#define CURVNET_SET(arg) CURVNET_SET_VERBOSE(arg)
> -
> -#define CURVNET_RESTORE() \
> - VNET_ASSERT(saved_vnet == NULL || \
> - saved_vnet->vnet_magic_n == VNET_MAGIC_N); \
> - curvnet = saved_vnet; \
> - curthread->td_vnet_lpush = saved_vnet_lpush;
> -
> -#define INIT_FROM_VNET(vnet, modindex, modtype, sym) \
> - if (vnet != curvnet) \
> - panic("in %s:%d %s()\n vnet=%p curvnet=%p", \
> - __FILE__, __LINE__, __FUNCTION__, \
> - vnet, curvnet); \
> - modtype *sym = (vnet)->mod_data[modindex];
> -
> -#else /* !VNET_DEBUG */
> -
> -#define VNET_ASSERT(condition)
> -
> -#define CURVNET_SET(arg) \
> - struct vnet *saved_vnet = curvnet; \
> - curvnet = arg;
> -
> -#define CURVNET_SET_VERBOSE(arg) CURVNET_SET(arg)
> -#define CURVNET_SET_QUIET(arg) CURVNET_SET(arg)
> -
> -#define CURVNET_RESTORE() \
> - curvnet = saved_vnet;
> -
> -#define INIT_FROM_VNET(vnet, modindex, modtype, sym) \
> - modtype *sym = (vnet)->mod_data[modindex];
> -
> -#endif /* !VNET_DEBUG */
> -
> -#define VNET_ITERATOR_DECL(arg) struct vnet *arg;
> -#define VNET_FOREACH(arg) LIST_FOREACH(arg, &vnet_head, vnet_le)
> -
> -#define INIT_VPROCG(arg) struct vprocg *vprocg = (arg);
> -
> -#define INIT_VCPU(arg) struct vcpu *vcpu = (arg);
> -
> -#define TD_TO_VIMAGE(td) (td)->td_ucred->cr_vimage
> -#define TD_TO_VNET(td) (td)->td_ucred->cr_vimage->v_net
> -#define TD_TO_VPROCG(td) (td)->td_ucred->cr_vimage->v_procg
> -#define TD_TO_VCPU(td) (td)->td_ucred->cr_vimage->v_cpu
> -#define P_TO_VIMAGE(p) (p)->p_ucred->cr_vimage
> -#define P_TO_VNET(p) (p)->p_ucred->cr_vimage->v_net
> -#define P_TO_VPROCG(p) (p)->p_ucred->cr_vimage->v_procg
> -#define P_TO_VCPU(p) (p)->p_ucred->cr_vimage->v_cpu
> -
> -#else /* !VIMAGE */
> -
> /* Non-VIMAGE null-macros */
> -#define VNET_MOD_DECLARE(m_name_uc, m_name_lc, m_iattach, m_idetach, \
> - m_dependson, m_symmap)
> -#define VNET_MOD_DECLARE_STATELESS(m_name_uc, m_name_lc, m_iattach, m_idetach, \
> - m_dependson)
> #define CURVNET_SET(arg)
> #define CURVNET_SET_QUIET(arg)
> #define CURVNET_RESTORE()
> @@ -283,8 +55,6 @@
> #define P_TO_VPROCG(p)
> #define P_TO_VCPU(p)
>
> -#endif /* !VIMAGE */
> -
> /* XXX those defines bellow should probably go into vprocg.h and vcpu.h */
> #define VPROCG(sym) VSYM(vprocg, sym)
> #define VCPU(sym) VSYM(vcpu, sym)
> @@ -292,98 +62,5 @@
> #define V_hostname VPROCG(hostname)
> #define G_hostname VSYM(basevprocg, hostname) /* global hostname */
> #define V_domainname VPROCG(domainname)
> -#define V_morphing_symlinks VPROCG(morphing_symlinks)
> -
> -#define V_acc_statcalls VCPU(acc_statcalls)
> -#define V_avg1_fixp VCPU(avg1_fixp)
> -#define V_avg2_fixp VCPU(avg2_fixp)
> -
> -#ifdef VIMAGE
> -void vnet_mod_register(const struct vnet_modinfo *);
> -void vnet_mod_deregister(const struct vnet_modinfo *);
> -void vnet_mod_register_multi(const struct vnet_modinfo *, void *, char *);
> -void vnet_mod_deregister_multi(const struct vnet_modinfo *, void *, char *);
> -
> -void printcpuinfo(struct vprocg *);
> -void vi_cpu_acct(void *);
> -int vi_td_ioctl(u_long, struct vi_req *, struct thread *);
> -int vi_if_move(struct vi_req *, struct ifnet *, struct vimage *);
> -void if_reassign_common(struct ifnet *, struct vnet *, const char *);
> -
> -int vi_symlookup(struct kld_sym_lookup *, char *);
> -struct vimage *vnet2vimage(struct vnet *);
> -struct vimage *vimage_by_name(struct vimage *, char *);
> -char *vnet_name(struct vnet *);
> -int vi_child_of(struct vimage *, struct vimage *);
> -
> -LIST_HEAD(vimage_list_head, vimage);
> -extern struct vimage_list_head vimage_head;
> -
> -LIST_HEAD(vprocg_list_head, vprocg);
> -extern struct vprocg_list_head vprocg_head;
> -
> -LIST_HEAD(vcpu_list_head, vcpu);
> -extern struct vcpu_list_head vcpu_head;
> -
> -LIST_HEAD(vnet_list_head, vnet);
> -extern struct vnet_list_head vnet_head;
> -extern int vnet_list_refc;
> -extern struct mtx vnet_list_refc_mtx;
> -extern struct cv vnet_list_condvar;
> -extern struct mtx vcpu_list_mtx;
> -
> -#define VNET_LIST_RLOCK() do { \
> - mtx_lock(&vnet_list_refc_mtx); \
> - vnet_list_refc++; \
> - mtx_unlock(&vnet_list_refc_mtx); \
> -} while (0)
> -
> -#define VNET_LIST_RUNLOCK() do { \
> - mtx_lock(&vnet_list_refc_mtx); \
> - vnet_list_refc--; \
> - mtx_unlock(&vnet_list_refc_mtx); \
> - cv_signal(&vnet_list_condvar); \
> -} while (0)
> -
> -#define IS_DEFAULT_VIMAGE(arg) ((arg)->vi_id == 0)
> -#define IS_DEFAULT_VNET(arg) ((arg)->vnet_id == 0)
> -
> -struct vimage {
> - LIST_ENTRY(vimage) vi_le; /* all vimage list */
> - LIST_ENTRY(vimage) vi_sibling; /* vimages with same parent */
> - LIST_HEAD(, vimage) vi_child_head; /* direct offspring list */
> - struct vimage *vi_parent; /* ptr to parent vimage */
> - u_int vi_id; /* ID num */
> - u_int vi_ucredrefc; /* refc of ucreds pointing to us */
> -
> - char vi_name[MAXHOSTNAMELEN]; /* assigned by parent */
> -
> - struct vprocg *v_procg;
> - struct vcpu *v_cpu;
> - struct vnet *v_net;
> -};
> -
> -struct vprocg {
> - LIST_ENTRY(vprocg) vprocg_le;
> - u_int vprocg_ref; /* reference count */
> - u_int vprocg_id; /* ID num */
> -
> - u_int nprocs;
> -
> - char _hostname[MAXHOSTNAMELEN];
> - char _domainname[MAXHOSTNAMELEN];
> -};
> -
> -struct vcpu {
> - LIST_ENTRY(vcpu) vcpu_le;
> - u_int vcpu_ref; /* reference count */
> - u_int vcpu_id; /* ID num */
> -
> - u_int _acc_statcalls; /* statclocks since last avg update*/
> - u_int _avg1_fixp; /* "fast" avg in 16:16 bit fixedpoint */
> - u_int _avg2_fixp; /* "slow" avg in 16:16 bit fixedpoint */
> -};
> -
> -#endif /* VIMAGE */
>
> #endif /* !_SYS_VIMAGE_H_ */
>
> ==== //depot/projects/vimage/src/sys/netinet6/vinet6.h#19 (text+ko) ====
>
> @@ -48,17 +48,13 @@
>
> #define VNET_INET6(sym) VSYM(vnet_inet6, sym)
>
> -
> #ifdef VIMAGE
> struct vnet_inet6 {
> struct in6_ifaddr * _in6_ifaddr;
> -
> u_int _frag6_nfragpackets;
> u_int _frag6_nfrags;
> struct ip6q _ip6q;
> -
> struct route_in6 _ip6_forward_rt;
> -
> struct in6_addrpolicy _defaultaddrpolicy;
> TAILQ_HEAD(, addrsel_policyent) _addrsel_policytab;
> u_int _in6_maxmtu;
> @@ -66,18 +62,15 @@
> int _rtq_minreallyold6;
> int _rtq_reallyold6;
> int _rtq_toomany6;
> -
> struct ip6stat _ip6stat;
> struct rip6stat _rip6stat;
> struct icmp6stat _icmp6stat;
> -
> int _rtq_timeout6;
> struct callout _rtq_timer6;
> struct callout _rtq_mtutimer;
> struct callout _nd6_slowtimo_ch;
> struct callout _nd6_timer_ch;
> struct callout _in6_tmpaddrtimer_ch;
> -
> int _nd6_inuse;
> int _nd6_allocated;
> struct llinfo_nd6 _llinfo_nd6;
> @@ -85,15 +78,11 @@
> struct nd_prhead _nd_prefix;
> struct ifnet * _nd6_defifp;
> int _nd6_defifindex;
> -
> struct scope6_id _sid_default;
> -
> TAILQ_HEAD(, dadq) _dadq;
> int _dad_init;
> -
> int _icmp6errpps_count;
> int _icmp6errppslim_last;
> -
> int _ip6_forwarding;
> int _ip6_sendredirects;
> int _ip6_defhlim;
> @@ -112,7 +101,6 @@
> int _ip6_keepfaith;
> int _ip6stealth;
> time_t _ip6_log_time;
> -
> int _pmtu_expire;
> int _pmtu_probe;
> u_long _rip6_sendspace;
> @@ -129,7 +117,6 @@
> int _ip6_sourcecheck;
> int _ip6_sourcecheck_interval;
> int _ip6_ours_check_algorithm;
> -
> int _nd6_prune;
> int _nd6_delay;
> int _nd6_umaxtries;
> @@ -147,22 +134,16 @@
> int _ip6_desync_factor;
> u_int32_t _ip6_temp_preferred_lifetime;
> u_int32_t _ip6_temp_valid_lifetime;
> -
> int _ip6_mrouter_ver;
> int _pim6;
> u_int _mrt6debug;
> -
> int _ip6_temp_regen_advance;
> int _ip6_use_defzone;
> -
> struct ip6_pktopts _ip6_opts;
> };
> #endif
>
> -
> -/*
> - * Symbol translation macros
> - */
> +/* Symbol translation macros */
> #define V_in6_ifaddr VNET_INET6(in6_ifaddr)
> #define V_frag6_nfragpackets VNET_INET6(frag6_nfragpackets)
> #define V_frag6_nfrags VNET_INET6(frag6_nfrags)
> @@ -175,7 +156,6 @@
> #define V_rtq_minreallyold6 VNET_INET6(rtq_minreallyold6)
> #define V_rtq_reallyold6 VNET_INET6(rtq_reallyold6)
> #define V_rtq_toomany6 VNET_INET6(rtq_toomany6)
> -
> #define V_ip6stat VNET_INET6(ip6stat)
> #define V_rip6stat VNET_INET6(rip6stat)
> #define V_icmp6stat VNET_INET6(icmp6stat)
> @@ -195,9 +175,7 @@
> #define V_sid_default VNET_INET6(sid_default)
> #define V_dadq VNET_INET6(dadq)
> #define V_dad_init VNET_INET6(dad_init)
> -//#define V_icmp6errppslim VNET_INET6(icmp6errppslim)
> #define V_icmp6errpps_count VNET_INET6(icmp6errpps_count)
> -//#define V_icmp6_nodeinfo VNET_INET6(icmp6_nodeinfo)
> #define V_ip6_forwarding VNET_INET6(ip6_forwarding)
> #define V_ip6_sendredirects VNET_INET6(ip6_sendredirects)
> #define V_ip6_defhlim VNET_INET6(ip6_defhlim)
>
> ==== //depot/projects/vimage/src/sys/netipsec/vipsec.h#12 (text+ko) ====
>
> @@ -54,7 +54,6 @@
> int _ipsec_debug;
> struct ipsecstat _ipsec4stat;
> struct secpolicy _ip4_def_policy;
> -
> int _ip4_esp_trans_deflev;
> int _ip4_esp_net_deflev;
> int _ip4_ah_trans_deflev;
> @@ -63,23 +62,20 @@
> int _ip4_ipsec_dfbit;
> int _ip4_ipsec_ecn;
> int _ip4_esp_randpad;
> -
> int _ipsec_replay;
> int _ipsec_integrity;
> int _crypto_support;
> -
> u_int32_t _key_debug_level;
> u_int _key_spi_trycnt;
> u_int32_t _key_spi_minval;
> - u_int32_t _key_spi_maxval;
> + u_int32_t _key_spi_maxval;
> u_int32_t _policy_id;
> - u_int _key_int_random;
> + u_int _key_int_random;
> u_int _key_larval_lifetime;
> int _key_blockacq_count;
> int _key_blockacq_lifetime;
> int _key_preferred_oldsa;
> u_int32_t _acq_seq;
> -
> u_int _saorder_state_alive[3];
> u_int _saorder_state_any[4];
> int _esp_enable;
> @@ -90,7 +86,6 @@
> int _ipsec_ah_keymin;
> int _ipip_allow;
> struct ipipstat _ipipstat;
> -
> struct ipsecstat _ipsec6stat;
> int _ip6_esp_trans_deflev;
> int _ip6_esp_net_deflev;
> @@ -98,18 +93,14 @@
> int _ip6_ah_net_deflev;
> int _ip6_ipsec_ecn;
> int _ip6_esp_randpad;
> -
> int _ah_enable;
> int _ah_cleartos;
> struct ahstat _ahstat;
> -
> int _ipcomp_enable;
> struct ipcompstat _ipcompstat;
> -
> struct pfkeystat _pfkeystat;
> struct key_cb _key_cb;
> struct sockaddr _key_src;
> -
> LIST_HEAD(, secpolicy) _sptree[IPSEC_DIR_MAX];
> LIST_HEAD(, secashead) _sahtree;
> LIST_HEAD(, secreg) _regtree[SADB_SATYPE_MAX + 1];
> @@ -118,9 +109,7 @@
> };
> #endif
>
> -/*
> - * Symbol translation macros
> - */
> +/* Symbol translation macros */
> #define INIT_VNET_IPSEC(vnet) \
> INIT_FROM_VNET(vnet, VNET_MOD_IPSEC, struct vnet_ipsec, vnet_ipsec)
>
> @@ -165,7 +154,7 @@
> #define V_ip6_esp_trans_deflev VNET_IPSEC(ip6_esp_trans_deflev)
> #define V_ip6_esp_net_deflev VNET_IPSEC(ip6_esp_net_deflev)
> #define V_ip6_ah_trans_deflev VNET_IPSEC(ip6_ah_trans_deflev)
> -#define V_ip6_ah_net_deflev VNET_IPSEC(ip6_ah_net_deflev)
> +#define V_ip6_ah_net_deflev VNET_IPSEC(ip6_ah_net_deflev)
> #define V_ip6_ipsec_ecn VNET_IPSEC(ip6_ipsec_ecn)
> #define V_ip6_esp_randpad VNET_IPSEC(ip6_esp_randpad)
> #define V_ah_enable VNET_IPSEC(ah_enable)
>
--
Bjoern A. Zeeb Stop bit received. Insert coin for new game.
More information about the p4-projects
mailing list