--- a/usr/src/cmd/quagga/patches/quagga-isisd-trill.patch Sat Jul 10 13:38:50 2010 -0700
+++ b/usr/src/cmd/quagga/patches/quagga-isisd-trill.patch Tue Jul 27 06:14:53 2010 -0700
@@ -3108,11 +3108,11 @@
index 0000000..3a38660
--- /dev/null
+++ isisd/isis_trill.c
-@@ -0,0 +1,2353 @@
+@@ -0,0 +1,2346 @@
+/*
+ * IS-IS Rout(e)ing protocol - isis_trill.c
+ *
-+ * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
++ * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public Licenseas published by the Free
@@ -5234,7 +5234,6 @@
+{
+ struct isis_area *area = arg;
+ dladm_status_t status;
-+ dladm_conf_t conf;
+ char bridge[MAXLINKNAMELEN], linkname[MAXLINKNAMELEN];
+ char pointless[DLADM_STRSIZE];
+ datalink_class_t class;
@@ -5246,14 +5245,6 @@
+ if (status != DLADM_STATUS_OK || strcmp (bridge, area->trill->name) != 0)
+ return DLADM_WALK_CONTINUE;
+
-+ status = dladm_read_conf (handle, linkid, &conf);
-+ if (status != DLADM_STATUS_OK)
-+ {
-+ zlog_debug ("can't get status on link ID %u: %s", linkid,
-+ dladm_status2str (status, pointless));
-+ return DLADM_WALK_CONTINUE;
-+ }
-+
+ status = dladm_datalink_id2info (handle, linkid, NULL, &class, NULL,
+ linkname, sizeof (linkname));
+ if (status == DLADM_STATUS_OK)
@@ -5296,7 +5287,6 @@
+ zlog_err ("unable to get link info for ID %u: %s", linkid,
+ dladm_status2str (status, pointless));
+ }
-+ dladm_destroy_conf (handle, conf);
+ return DLADM_WALK_CONTINUE;
+}
+
@@ -5332,10 +5322,13 @@
+ struct interface *ifp;
+ struct listnode *node, *nnode;
+ struct isis_circuit *circ;
-+
-+ if (dladm_open (&dlhandle) != DLADM_STATUS_OK)
-+ {
-+ zlog_err ("%s: unable to open datalink control", area->trill->name);
++ dladm_status_t status;
++ char errmsg[DLADM_STRSIZE];
++
++ if ((status = dladm_open (&dlhandle)) != DLADM_STATUS_OK)
++ {
++ zlog_err ("%s: unable to open datalink control: %s",
++ area->trill->name, dladm_status2str(status, errmsg));
+ return FALSE;
+ }
+