| Current File : //usr/include/libdlvlan.h |
/*
* Copyright (c) 2008, 2014, Oracle and/or its affiliates. All rights reserved.
*/
#ifndef _LIBDLVLAN_H
#define _LIBDLVLAN_H
/*
* This file includes structures, macros and routines used by VLAN link
* administration.
*/
#include <libdladm.h>
#include <sys/vnic_mgmt.h>
#ifdef __cplusplus
extern "C" {
#endif
/*
* Be aware of source/binary compatibility issues when modifying this
* structure. Userland gate components like Quagga use this structure.
*/
typedef struct dladm_vlan_attr {
uint16_t dv_vid;
datalink_id_t dv_linkid;
boolean_t dv_force;
zoneid_t dv_owner_zoneid;
zoneid_t dv_zoneid;
boolean_t dv_onloan;
char dv_vf_assigned[MAXLINKNAMELEN];
uint16_t dv_pvlan_svid;
mac_pvlantype_t dv_pvlan_type;
} dladm_vlan_attr_t;
extern dladm_status_t dladm_vlan_info(dladm_handle_t, datalink_id_t,
dladm_vlan_attr_t *, uint32_t);
extern dladm_status_t dladm_vlan_create(dladm_handle_t, const char *,
datalink_id_t, zoneid_t, uint16_t, uint16_t,
mac_pvlantype_t, dladm_arg_list_t *, uint32_t,
datalink_id_t *);
extern dladm_status_t dladm_vlan_modify(dladm_handle_t, datalink_id_t,
datalink_id_t, uint16_t, uint16_t,
mac_pvlantype_t, dladm_arg_list_t *, uint32_t);
extern dladm_status_t dladm_vlan_delete(dladm_handle_t, datalink_id_t,
uint32_t);
extern dladm_status_t dladm_vlan_up(dladm_handle_t, datalink_id_t);
extern dladm_status_t dladm_vlan_down(dladm_handle_t, datalink_id_t);
#ifdef __cplusplus
}
#endif
#endif /* _LIBDLVLAN_H */