Permalink
Browse files

PSARC/2006/357 Crossbow - Network Virtualization and Resource Management

6498311 Crossbow - Network Virtualization and Resource Management
6402493 DLPI provider loopback behavior should be improved
6453165 move mac capabs definitions outside mac.h
6338667 Need ability to use NAT for non-global zones
6692884 several threads hung due to deadlock scenario between aggr and mac
6768302 dls: soft_ring_bind/unbind race can panic in thread_affinity_set with cpu_id == -1
6635849 race between lacp_xmit_sm() and aggr_m_stop() ends in panic
6742712 potential message double free in the aggr driver
6754299 a potential race between aggr_m_tx() and aggr_port_delete()
6485324 mi_data_lock recursively held when enabling promiscuous mode on an aggregation
6442559 Forwarding perf bottleneck due to mac_rx() calls
6505462 assertion failure after removing a port from a snooped aggregation
6716664 need to add src/dst IP address to soft ring fanout

--HG--
rename : usr/src/uts/common/io/dls/dls_soft_ring.c => usr/src/uts/common/io/mac/mac_soft_ring.c
rename : usr/src/uts/common/inet/ip/ip_cksum.c => usr/src/uts/common/os/ip_cksum.c
rename : usr/src/uts/common/inet/sctp_crc32.c => usr/src/uts/common/os/sctp_crc32.c
rename : usr/src/uts/common/sys/dls_soft_ring.h => usr/src/uts/common/sys/mac_soft_ring.h
  • Loading branch information...
Eric Cheng
Eric Cheng committed Dec 5, 2008
1 parent 0336168 commit da14cebe459d3275048785f25bd869cb09b5307f
Showing 326 changed files with 55,725 additions and 23,539 deletions.
@@ -161,6 +161,7 @@ COMMON_SUBDIRS= \
file \
filebench \
find \
flowadm \
fm \
fmli \
fmt \
@@ -582,6 +583,7 @@ MSGSUBDIRS= \
file \
filesync \
find \
flowadm \
fm \
fold \
fs.d \
@@ -66,6 +66,7 @@ ROOTETCTSOL= $(ROOTETCSECURITY)/tsol
ROOTETCSECLIB= $(ROOTETCSECURITY)/lib
ROOTETCZONES= $(ROOTETC)/zones
ROOTETCINET= $(ROOT)/etc/inet
ROOTCCSBIN= $(ROOT)/usr/ccs/bin
ROOTCCSBIN64= $(ROOTCCSBIN)/$(MACH64)
ROOTCCSBINLINKDIR= $(ROOT)/../../bin
@@ -316,6 +317,9 @@ $(ROOTUSRSBIN64)/%: %
$(ROOTETC)/%: %
$(INS.file)
$(ROOTETCINET)/%: %
$(INS.file)
$(ROOTETCDEFAULT)/%: %.dfl
$(INS.rename)
@@ -19,8 +19,6 @@
# CDDL HEADER END
#
#
#ident "%Z%%M% %I% %E% SMI"
#
# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
@@ -37,7 +35,7 @@ include ../Makefile.cmd
ROOTMANIFESTDIR = $(ROOTSVCSYSTEM)
CFLAGS += $(CCVERBOSE)
LDLIBS += -lexacct -lscf -lsecdb
LDLIBS += -lexacct -lscf -lsecdb -ldladm
POFILE = acctadm.po
XGETFLAGS = -a -x acctadm.xcl
FILEMODE = 0555
@@ -2,9 +2,8 @@
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License, Version 1.0 only
# (the "License"). You may not use this file except in compliance
# with the License.
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
@@ -19,13 +18,19 @@
#
# CDDL HEADER END
#
#
# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
msgid "ruxf:e:d:"
msgid "/etc/acctadm.conf"
msgid ""
msgid "process"
msgid "proc"
msgid "task"
msgid "flow"
msgid "net"
msgid "no"
msgid "none"
msgid "yes"
@@ -41,6 +46,10 @@ msgid "ACCTADM_FLOW_ENABLE"
msgid "ACCTADM_FLOW_FILE"
msgid "ACCTADM_FLOW_TRACKED"
msgid "ACCTADM_FLOW_UNTRACKED"
msgid "ACCTADM_NET_ENABLE"
msgid "ACCTADM_NET_FILE"
msgid "ACCTADM_NET_TRACKED"
msgid "ACCTADM_NET_UNTRACKED"
msgid "r+"
msgid "r"
msgid " %[^=]=%s \n%n"
@@ -23,15 +23,14 @@
* Use is subject to license terms.
*/
#pragma ident "%Z%%M% %I% %E% SMI"
#include <sys/types.h>
#include <sys/acctctl.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
#include <errno.h>
#include <limits.h>
#include <libdllink.h>
#include <libscf.h>
#include <pwd.h>
#include <auth_attr.h>
@@ -47,6 +46,7 @@
#define FMRI_FLOW_ACCT "svc:/system/extended-accounting:flow"
#define FMRI_PROC_ACCT "svc:/system/extended-accounting:process"
#define FMRI_TASK_ACCT "svc:/system/extended-accounting:task"
#define FMRI_NET_ACCT "svc:/system/extended-accounting:net"
#define NELEM(x) (sizeof (x)) / (sizeof (x[0]))
@@ -134,13 +134,14 @@ aconf_setup(const char *fmri)
}
/*
* Flow accounting is not available in non-global zones and
* Net/Flow accounting is not available in non-global zones and
* the service instance should therefore never be 'enabled' in
* non-global zones. This is enforced by acctadm(1M), but there is
* nothing that prevents someone from calling svcadm enable directly,
* so we handle that case here by disabling the instance.
*/
if (type == AC_FLOW && getzoneid() != GLOBAL_ZONEID) {
if ((type == AC_FLOW || type == AC_NET) &&
getzoneid() != GLOBAL_ZONEID) {
(void) smf_disable_instance(fmri, 0);
warn(gettext("%s accounting cannot be configured in "
"non-global zones\n"), ac_type_name(type));
@@ -210,6 +211,19 @@ aconf_setup(const char *fmri)
ret = SMF_EXIT_ERR_FATAL;
}
(void) priv_set(PRIV_OFF, PRIV_EFFECTIVE, PRIV_SYS_ACCT, NULL);
if (state == AC_ON && type == AC_NET) {
/*
* Start logging.
*/
(void) priv_set(PRIV_ON, PRIV_EFFECTIVE, PRIV_SYS_DL_CONFIG,
NULL);
(void) dladm_start_usagelog(strncmp(tracked, "basic",
strlen("basic")) == 0 ? DLADM_LOGTYPE_LINK :
DLADM_LOGTYPE_FLOW, 20);
(void) priv_set(PRIV_OFF, PRIV_EFFECTIVE, PRIV_SYS_DL_CONFIG,
NULL);
}
out:
aconf_scf_fini();
return (ret);
@@ -219,7 +233,7 @@ void
aconf_print(FILE *fp, int types)
{
acctconf_t ac;
int print_order[] = { AC_TASK, AC_PROC, AC_FLOW };
int print_order[] = { AC_TASK, AC_PROC, AC_FLOW, AC_NET };
int i;
for (i = 0; i < NELEM(print_order); i++) {
@@ -279,6 +293,21 @@ aconf_print_type(acctconf_t *acp, FILE *fp, int type)
gettext(" Untracked flow resources: %s\n"),
acp->untracked);
break;
case AC_NET:
(void) fprintf(fp,
gettext(" Net accounting: %s\n"),
acp->state == AC_ON ?
gettext("active") : gettext("inactive"));
(void) fprintf(fp,
gettext(" Net accounting file: %s\n"),
acp->file);
(void) fprintf(fp,
gettext(" Tracked net resources: %s\n"),
acp->tracked);
(void) fprintf(fp,
gettext(" Untracked net resources: %s\n"),
acp->untracked);
break;
}
}
@@ -369,6 +398,8 @@ aconf_type2fmri(int type)
return (FMRI_TASK_ACCT);
case AC_FLOW:
return (FMRI_FLOW_ACCT);
case AC_NET:
return (FMRI_NET_ACCT);
default:
die(gettext("invalid type %d\n"), type);
}
@@ -385,6 +416,8 @@ aconf_fmri2type(const char *fmri)
return (AC_TASK);
else if (strcmp(fmri, FMRI_FLOW_ACCT) == 0)
return (AC_FLOW);
else if (strcmp(fmri, FMRI_NET_ACCT) == 0)
return (AC_NET);
else
return (-1);
}
@@ -23,8 +23,6 @@
CDDL HEADER END
ident "%Z%%M% %I% %E% SMI"
NOTE: This service manifest is not editable; its contents will
be overwritten by package or patch operations, including
operating system upgrade. Make customizations in a different
@@ -175,6 +173,43 @@
</documentation>
</template>
</instance>
<instance name='net' enabled='false'>
<property_group name='general' type='framework'>
<propval name='action_authorization' type='astring'
value='solaris.smf.manage.extended-accounting.net' />
<propval name='value_authorization' type='astring'
value='solaris.smf.manage.extended-accounting.net' />
</property_group>
<property_group name='config' type='application'>
<propval name='value_authorization' type='astring'
value='solaris.smf.value.extended-accounting.net' />
<propval name='enabled' type='boolean'
value='false' />
<propval name='file' type='astring'
value='none' />
<propval name='tracked' type='astring'
value='none' />
<propval name='untracked' type='astring'
value='extended' />
</property_group>
<template>
<common_name>
<loctext xml:lang='C'>
configure net extended accounting
</loctext>
</common_name>
<documentation>
<manpage
title='acctadm' section='1M'
manpath='/usr/share/man' />
</documentation>
</template>
</instance>
<stability value='Unstable' />
</service>
Oops, something went wrong.

0 comments on commit da14ceb

Please sign in to comment.