Print this page
OS-4335 ipadm_door_call should work in a branded zone without chroot
OS-4336 ipmgmtd should work in a branded zone without chroot
Reviewed by: Robert Mustacchi <rm@joyent.com>
        
*** 19,28 ****
--- 19,29 ----
   * CDDL HEADER END
   */
  
  /*
   * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+  * Copyright 2015 Joyent, Inc.
   */
  
  #ifndef _IPMGMT_IMPL_H
  #define _IPMGMT_IMPL_H
  
*** 132,167 ****
  #define ADDROBJ_ADD             0x00000001
  #define ADDROBJ_DELETE          0x00000002
  #define ADDROBJ_LOOKUPADD       0x00000004
  #define ADDROBJ_SETLIFNUM       0x00000008
  
- /* Permanent data store for ipadm */
- #define IPADM_DB_FILE           "/etc/ipadm/ipadm.conf"
  #define IPADM_FILE_MODE         (S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)
  
  /*
   * With the initial integration of the daemon (PSARC 2010/080), the version
   * of the ipadm data-store (/etc/ipadm/ipadm.conf) was 0. A subsequent fix
   * needed an upgrade to the data-store and we bumped the version to 1.
   */
  #define IPADM_DB_VERSION        1
  
! /*
!  * A temporary file created in SMF volatile filesystem. This file captures the
!  * in-memory copy of list `aobjmap' on disk. This is done to recover from
!  * daemon reboot (using svcadm) or crashes.
!  */
! #define IPADM_TMPFS_DIR         "/etc/svc/volatile/ipadm"
! #define ADDROBJ_MAPPING_DB_FILE IPADM_TMPFS_DIR"/aobjmap.conf"
  
- /*
-  * A temporary copy of the ipadm configuration file might need
-  * to be created if write requests are encountered during boottime
-  * and the root filesystem is mounted read-only.
-  */
- #define IPADM_VOL_DB_FILE       IPADM_TMPFS_DIR"/ipadm.conf"
- 
  /* SCF resources required to interact with svc.configd */
  typedef struct scf_resources {
          scf_handle_t            *sr_handle;
          scf_instance_t          *sr_inst;
          scf_propertygroup_t     *sr_pg;
--- 133,158 ----
  #define ADDROBJ_ADD             0x00000001
  #define ADDROBJ_DELETE          0x00000002
  #define ADDROBJ_LOOKUPADD       0x00000004
  #define ADDROBJ_SETLIFNUM       0x00000008
  
  #define IPADM_FILE_MODE         (S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)
  
  /*
   * With the initial integration of the daemon (PSARC 2010/080), the version
   * of the ipadm data-store (/etc/ipadm/ipadm.conf) was 0. A subsequent fix
   * needed an upgrade to the data-store and we bumped the version to 1.
   */
  #define IPADM_DB_VERSION        1
  
! typedef enum ipadm_path {
!         IPADM_PATH_TMPFS_DIR = 1,
!         IPADM_PATH_ADDROBJ_MAP_DB,
!         IPADM_PATH_DB,
!         IPADM_PATH_VOL_DB
! } ipadm_path_t;
  
  /* SCF resources required to interact with svc.configd */
  typedef struct scf_resources {
          scf_handle_t            *sr_handle;
          scf_instance_t          *sr_inst;
          scf_propertygroup_t     *sr_pg;
*** 186,195 ****
--- 177,188 ----
                              scf_resources_t *);
  extern void             ipmgmt_release_scf_resources(scf_resources_t *);
  extern boolean_t        ipmgmt_needs_upgrade(scf_resources_t *);
  extern void             ipmgmt_update_dbver(scf_resources_t *);
  
+ extern void             ipmgmt_path(ipadm_path_t, char *, size_t);
+ 
  #ifdef  __cplusplus
  }
  #endif
  
  #endif  /* _IPMGMT_IMPL_H */