MST PVSTP interoperation

Hello,
I've read the "understanding MSTP article" from cisco's website and I have several uncertainties.
These have deepened even more after performing several experiments.
I've setup a test scenario with the following configuration:
C1 Cisco PVST ---- C2 MST ---- C3 MST non-cisco switch (doesn't know PVSTP)
C1 has vlans 1-10 for which it must necessarily be root bridge
C2 must be root bridge for all other vlans
C3 will transport 1-10 + the other vlans
C1 can not be migrated to MST while C2 if possible should interoperate with the non-cisco MST enabled switch.
What I have done:
Setup 1:
C2 mst root bridge for all vlans
C3 learnt of C2 being the root bridge
C1 the PVST also learnt this (as far as I've read all communication with the PVST is done via the IST-CST instance)
Although this worked just fine, unfortunately it wasn't what I was searching for.
Setup 2:
C1 -- C2
C1 lower priority for vlans 1-10 (disabled spanning tree on the other vlans / or removed them from the trunk to C2 if not required to be present there)
C2 reported:
SPANTREE-2-ROOTGUARD_UNBLOCK: Root guard blocking port ...
And the port was shown as blocked in both the IST0 and the other MSTIs.
I've also tried the alternate configuration (not recommended) from:
http://www.cisco.com/warp/public/473/147.html#alternate_configuration
without any luck.
Disabling PVSTP on the C1 interface to C2 of course made the C2 port to be removed from blocking as expected.
I have several questions in regard to this:
a) Why are both IST0 and the boundary ports for the MSTIs placed in Blocking ?
b) According to that article shouldn't there be a way to have the PVST be root bridge for all the instances present on it ?
c) What alternate setup could there be possible to achieve the redundancy desired while maintaining C1 root bridge for vlans 1-10
C2 root bridge for the others
C3 interoperability with C2 (C3 only knows MST and RSTP)
Any advice would be greatly appreciated.
Thanks,
Mihai

Hi Mihai,
The code was designed especially to prevent what you are trying to do:-( The problem is that C2 is only running one instance at the boundary to C1, the CIST. So for each of its ports leading to C1 it can only block all vlans or forward all the vlans.
If C1 is root for certain vlans, C2 will have to block one of its port to C1 for those vlans. This means that C2 can only block ALL its vlans to C1, considering the rule stated above.
On the other hand, if C2 is the root for the CIST, it will need to put both its ports to C1 in forwarding, which means put ALL the vlans to forwarding on both ports.
You clearly see the contradiction, and that's what the inconsistency you are getting is trying to show.
Why do you need C1 to be root for some vlans? Is that for some load balancing issues? Because you can achieve load balancing without having C1 being the root.
The only solution to your problem seems to have C2 run PVST considering your constraints. It would be much better if you could move C1 to MST and have it participate in the same region as C2 of course...
Regards,
Francois

Similar Messages

  • Migrating from Rapid-PVST+ to MST

    We wish to migrate our Rapid-PVST+ network of around 25 switches to MST but for reasons that we believe are valid we do not want to start with the core switches. We want to convert one part of our network first that is connected to the core with a single trunk link.
    We are refering to this document: Understanding Multiple Spanning Tree Protocol (802.1s) and in particular the section headed 'Alternate Configuration (Not Recommended)'. We can accomodate the drawbacks of this scenario, and in any case it will only be a temporary setup unitl we complete the migration.
    Under 'Invalid Configuration' it states that "If the PVST+ bridge is the root, this bridge must  be the root for all VLANs (including the CST, which always runs on VLAN  1, regardless of the native VLAN, when the CST runs PVST+)". My question is if this is strictly correct (the border bridge MUST be the root for all the VLANs) or if the PVST+ sub-section as a whole must contain the root (e.g. the next PVST+ bridge in the topology would also be valid if its priority were high enough)?
    Daniel

    Hi Daniel,
    Let me start by explaining what is the problem with MSTP/PVST+ interoperation. Things to watch out for are direct consequences of the interoperation limitations so it is vital to understand what is going on.
    When MSTP region is connected to an (R)PVST+ region, it tries to speak (R)PVST+ and process received (R)PVST+ BPDUs. This process is called PVST Simulation. However, there are major difficulties in this process: the (R)PVST+ uses per-VLAN semantics while MSTP runs instances with VLANs simply mapped onto them. The role and state of an MSTP boundary port is always determined by the IST ( = MSTI0) instance talking to the outside world, and is simply inherited by all instances running in the MSTP region. That means that if the port is discarding in IST, it is discarding in all instances (and hence all VLANs). If the port is forwarding in IST, it is forwarding in all instances (and hence all VLANs). The same goes for every role/state combination. This fact makes it impossible to do any per-VLAN semantics on an MSTP boundary port. Even if you tried to map incoming (R)PVST+ BPDUs into appropriate instances, you could arrive to an unsolvable situation where the port should be discarding for one VLAN and forwarding for another, although they are both mapped to the same MSTP instance.
    These limitations are the guidelines according to which the PVST Simulation works. Because the MSTP boundary port should use only IST data when speaking to the outside world (that is how MSTP boundary port should operate according to IEEE specifications), PVST Simulation makes use of it: it takes the IST data and replicates it into PVST+ BPDUs sent out for all VLANs defined on the switch. In other words, an MSTP boundary port speaking to PVST+ region sends one PVST+ BPDU for each VLAN that is defined on the switch, using IST data as the contents of this BPDU. Essentially, this makes the entire MSTP region look like a single huge switch identically configured for each and every VLAN, with the configuration simply taken from the IST.
    Doing this is easy. However, the opposite process is much more constraining: an MSTP boundary port tries to process every received PVST+ BPDU using the IST instance. This is where the troubles begin. If all received PVST+ BPDUs are supposed to allow stable and unambiguous determination of the MSTP boundary port role and state, they must be identical, i.e. the same Root Bridge ID, the same Sending Bridge ID, same Root Path Cost, same Sending Port ID, perhaps even the same timers in each received PVST+ BPDU (sorry for the "perhaps" word here - the PVST Simulation is practically undocumented and these are only my experiences - some areas are still white). Failure to meet this requirement, i.e. receiving two or more differing PVST+ BPDUs on an MSTP boundary port, results in PVST Simulation inconsistency and into permanent blocking of that port until the conflicting PVST+ BPDUs cease to be received.
    Note that this requirement of receiving identical PVST+ BPDUs is impossible to achieve with current Catalyst switches: every recent Catalyst switch is using Extended System ID, i.e. it inserts the VLAN ID into the Bridge ID when creating a BPDU for a particular VLAN. Even if you configured the PVST+ region so that a single switch was the root bridge for all VLANs, its PVST+ BPDUs would still differ because each of them would carry a different Extended System ID in the RBID/SBID field.
    The only way to prevent these problems is to make sure that the MSTP region is considered as the root switch for all VLANs. Because it is the IST whose data is visible outside the MSTP region, this can be accomplished by configuring the bridge priority on the IST root bridge so low that it beats all switches in the PVST+ region and thereby becomes the root bridge for all VLANs.
    Now to your questions:
    We are refering to this document: Understanding Multiple Spanning Tree Protocol (802.1s) and in particular the section headed 'Alternate Configuration (Not  Recommended)'. We can accomodate the drawbacks of this scenario, and in  any case it will only be a temporary setup unitl we complete the  migration.
    That document is a perfect reference. However, it does not describe the troubles related to the PVST Simulation because it does not take the Extended System ID into account. In fact, the scenario with the PVST+ region containing the root bridge for all VLANs is not possible to accomplish with current Catalyst switches. It is ironical that by striving for compatibility between MSTP and Cisco (R)PVST+, Cisco has actually created a situation where it is very easy to be incompatible. So in my opinion, you cannot accomodate for such a setup - you can not afford having a root switch in the PVST+ region because that would most probably lead to MSTP boundary ports being blocked due to PVST Simulation inconsistency.
    I shall stress that these problems are created in particular by the PVST Simulation. Switches running pure IEEE STP/RSTP do not cause these problems because they run a single (R)STP instance for all VLANs. An MSTP boundary port can talk to a single external (R)STP always without problems - a single (R)STP can never produce two conflicting BPDUs. It is as easy as that. It is the overdone striving for compatibility with PVST+ BPDUs that is causing these troubles.
    Under 'Invalid Configuration' it states that "If the PVST+ bridge is the  root, this bridge must  be the root for all VLANs (including the CST,  which always runs on VLAN  1, regardless of the native VLAN, when the  CST runs PVST+)". My question is if this is strictly correct (the border  bridge MUST be the root for all the VLANs) or if the PVST+ sub-section  as a whole must contain the root (e.g. the next PVST+ bridge in the  topology would also be valid if its priority were high enough)?
    It is not the border bridge exactly that must be the root bridge for all VLANs. As I explained earlier, the MSTP region talks to the outside world using IST data. If the MSTP region is to become a root bridge for all VLANs, then the IST root bridge priority must be the lowest among all PVST+ bridges. The IST root bridge itself can perfectly be an internal switch somewhere deep inside the MSTP region.
    The same would be valid if the PVST+ region was to become the region containing the root bridge for all VLANs. This root bridge can be any switch inside the PVST+ region, not just a boundary switch. However, this would require, among other things, deactivating the Extended System ID which is not possible.
    Please feel welcome to ask further!
    Best regards,
    Peter

  • Stp interoperability problem

    can u tell me how about interoperability among cst,pvst,cst,mst

    Hello,
    This document was helpful to me in understanding the concepts: "Configuration example to migrate Spanning Tree from PVST+ to MST"
    http://www.cisco.com/en/US/products/hw/switches/ps708/products_configuration_example09186a00807b075f.shtml
    Hope it helps you too!
    Regards, Martin

  • Is there a way to open a .mst file created in the student edition with MULTISIM 9

    When a student builds a file with MultiSIM 9, the circuit is created as a .msm file.  When the student goes home to work, they can open a .msm file with a student version, 2001 for example, but any change to the file can only be saved as a .mst file.  As soon as the file is saved as a .mst file, we have not found a way to open the file with the educational version of MultiSIM 9.  Is there any way to convert these files?  This makes it very difficult for a student to work at home for a project between or prior to labs.
    Thanks

    JKR,
    Unfortunately, the ".mst" extension is supposed to be open only by Textbook editions of Multisim. Not even a Power Pro version would be able to open it.
    I'm not sure the specifics of your case, but I guess that you open/saved the circuit on your textbook edition and that converted the file extension, is that right?...
    Well, as far as I know the textbook editions are meant to be 'demo' type of releases, so is limited in many features. You should be OK with a Student edition though -- which is not the one commonly found in textbooks.
    Nestor
    National Instruments

  • Oracle 8.1.5 (6?) interoperability with Java/C++ clients and various ORBs

    Hi
    Machine/OS: SGI VWS 540, 256MB RAM, Win2000
    Oracle: Oracle 8i (8.1.6)/Enterprise Edition Release 2
    Problem:
    I want to bind to a CORBA object (pureCORBA bank example) from c++.
    I found in the FAQ an article about the interoperability with c++. I downloaded an archieve with all the necessary code. But....
    I won't compile. It has been tested on Visibroker 3.2, but now i get compilation errors... (GIOP::ObjectKey CORBA::OctetSequence convertion).
    Is there an update of this article that uses 8i 8.1.6 and Visibroker 3.4 (that ships with 8.1.6). I compile it using MS VC++ 6.0 SP 4.
    I can make the current files compile, but then get a link error (login.lib uses stuff already defined in msvcrt.lib ....)
    Thank you
    Bart De Lathouwer

    Hi
    Machine/OS: SGI VWS 540, 256MB RAM, Win2000
    Oracle: Oracle 8i (8.1.6)/Enterprise Edition Release 2
    Problem:
    I want to bind to a CORBA object (pureCORBA bank example) from c++.
    I found in the FAQ an article about the interoperability with c++. I downloaded an archieve with all the necessary code. But....
    I won't compile. It has been tested on Visibroker 3.2, but now i get compilation errors... (GIOP::ObjectKey CORBA::OctetSequence convertion).
    Is there an update of this article that uses 8i 8.1.6 and Visibroker 3.4 (that ships with 8.1.6). I compile it using MS VC++ 6.0 SP 4.
    I can make the current files compile, but then get a link error (login.lib uses stuff already defined in msvcrt.lib ....)
    Thank you
    Bart De Lathouwer

  • Working on ETL tools interoperability using Common Warehouse Model (CWM)

    Hi All,
    Its just a piece of information and not a question.
    I have been working on proving the ETL tools interoperability using Common Warehouse Metamodel(CWM), an OMG standard. The whole concept is to take out the metadata from an ETL tool say OWB and put it into CWM Metadata Repository and this metadata can be used for building the same project in any other tool say Informatica or may be in the same ETL tool.
    The main thing in this process is to map each ETL tool with the CWM concepts and then using Model to Model Tranformations(Technologies like Xtend) one can set up a communication between different ETL tools.
    Till now I have worked with OWB only. I, with my team, have extracted all information from an OWB project (which has medium level of complexity like two oracle modules(schemas) and few tables, views and mappings with various operators) and put it in CWM repository and extracted it back from CWM MDR to OWB itself. We haven't worked with any other ETL tool because of the unavailablity of any other ETL tool with us. We will be working with Pentaho kettle in near future and try to prove the whole process as two way communication.
    The whole process can be described in steps as below :
    1. Creation of a manual OWB Ecore model(model representaion in Eclipse Modelling Framework) which gives all dependencies and reletionships in OWB objects like Project,OracleModule etc.
    2. Creation of CWM ecore model from Rational Rose mdl which has been provided by OMG on their site.
    3. Generation of Java code(Gen Model) from the above mentioned ecore model(It is needed to create an object from OWB).
    4. Extraction of project from OWB using public views which has been exposed by OWB itself. You can refer to [http://download.oracle.com/docs/cd/B31080_01/doc/owb.102/b28225/toc.htm|http://download.oracle.com/docs/cd/B31080_01/doc/owb.102/b28225/toc.htm] link for OWB public views and other APIs.
    5. (Actually Step 4 is a part of this step only )Writing a Java code which has JDBC connection for accessing OWB public views and Ecore model as imported java files(Step 3 has been done for this part only). This java code will return an OWB project object(instance of the Ecore model) which will be used in further steps.
    6. Writing an Xtend code to do a model to model tranformation from OWB to CWM.
    7. Writing an Open Architecture Workflow to combine all the steps in one step which will take the output of java code(step 5) and put it into Xtend Code(step 6) and then will take the output of Xtend code and give it to the XMIWriter(an OAW component) to write an XMI which is actually a CWM Ecore Model instance.
    8. Saving above XMI(CWM model instance) to the CWM MDR using Hibernate and Teneo.
    In the same way we can extract metadata from CWM MDR and put it into OWB. But the only problem with OWB is that we cannot persist OWB object in OWB repositories as OWB tables are very cryptic and tough to understand. So for that we have used TCL scripts(OMB Plus scripts) to create a project in OWB using OWB ecore instance. You can refer to the above oracle documentation link for TCL scripts.
    Let me know if I can assist you if you are working on the same.
    You can mail me for any queries. My email id is [email protected].
    Thanks,
    Deepak

    Hi
    1. Why do we need to install another standalone HTTP server in a separate home? Where do we use that server?
    DA: The separate HTTP server is for the Workflow Monitor, which is not necessary (it has some use cases mind you).
    2. To make the OWB work correctly while using ETL features, do we always need to run Workflow Configuration Assistant, because I wasn't able to generate code from OWB editor after building a mapping while Workflow Configuration Assistant wasn't running.
    DA: Not necessary, what error did you get? Mappings can be designed, deployed and executed without Workflow. Workflow can be used for orchestrating the the mappings (ie .running a bunch of them in a specific order with others tasks).
    3. Whenever I try to save my work in OWB, I get an error , message : Preference.properties (Access is denied). Though it saves my work but I don't understand why I am getting this error. It looks like OWB is trying to access some Property from the Preferences (Tools menu) but can't access.
    DA: It sounds like the directory where you have installed OWB does not have permissions for the OS user you are executing it. Is the install user different from the execution user? Either run using the installed user, or change the permissions of the directories (grant the executing user write permissions under all directories under owb).
    4. I also get error while closing the Mapping Editor :-
    DA. same issue as 3.
    Cheers
    David

  • MST Support for MacBook Pro Retina Late 2013 - DisplayPort 1.2 - Will it ever happen? (with sources)

    So back in October, I purchased a brand new Macbook Pro Retina (MBPr), fully loaded with top of the line specs.  I was soooo excited to have Thunderbolt 2 tech which Intel AND Apple describes as having DisplayPort 1.2a compatibility - which up to this point is unfortunately NOT the case.  The point of the information/questions and requests in this article is to engage a conversation about the issues of not having MST support after Apple falsely mislead their consumers to think otherwise - especially when it is clear the MBPr is capable.  Please read on...
    Apple advertises that the Thunderbolt 2 ports on BOTH the MBPr and the new Mac Pro (NMP) will have 4K Display support with the famed 20gb/sec Ports (DisplayPort 1.2 only requires a little above 17gb/sec).  Now that the 10.9.1 update has been released, we have failed to see MST or Multi-Stream Transport enabled on the MBPr Late 2013.  Now, as for the New Mac Pro- it DOES have MST enabled in 10.9.1 with the AMD GPUs.  For all of you out there that's questioning what this means, short answer is basically the Mac Pro will be able to power a 4K Monitor at 60Hz through the Thunderbolt 2 Port but the New MBPr is stuck with only HDMI 1.4 support which tops out at 4K 30Hz. 30Hz is unacceptable for anything but movies or a photo slideshow.  At 30Hz the cursor will jump across the screen, eliminating any of the benefits of 4K.
    BUT it gets worse...
    Apple can be seen advertising that the new MBPr 15" model can power a 4K monitor THROUGH the Thunderbolt 2 Port here: http://www.apple.com/thunderbolt - This article quotes the following:
    "Now with Thunderbolt 2 built into the new Mac Pro and MacBook Pro with Retina display, you can connect the latest 4K desktop displays and get double the bandwidth for your peripherals. And the two generations of Thunderbolt technology are compatible with each other."
    Does this not let the consumer assume that the newest MBPr will be able to drive a 4K display through the Thunderbolt 2 Port?  I would say yes it does, but at the time I wrote this, the TB2 Ports can't power a 4K display because, as previously stated, MST is disabled in Mavericks for the 15" MBPr Late 2013.
    NOW, later on Apple posted the following article on 4K support here: http://support.apple.com/kb/HT6008
    4K support on the MacBook Pro (Retina, Late 2013)
    MacBook Pro supports 4K displays and Ultra HD TVs at the following resolutions and refresh rates with the built-in HDMI port:
    3840 x 2160 at 30 Hz refresh rate
    4096 x 2160 at 24 Hz refresh rate (mirroring is not supported at this resolution)
    In the article above the New Mac Pro is listed as having support for a 4K Display with the Thunderbolt 2 Port (or MST DisplayPort 1.2a Technology) at 60Hz with no problem.  This leads myself and many others to believe that MST will NEVER be enabled on the newest MacBook Pro Retina with Nvidia GPUs. Yes, 4K IS supported but ONLY through the HDMI 1.4 port, which has the limitation of only 30hz.  This two-faced advertising is extremely upsetting to a LOT of people, including myself.
    Interestingly enough, THIS IS NOT a hardware issue.  If one ventures into Windows 8.1 via Bootcamp and connects a 4K Display via the Thunderbolt 2 (or through DP1.2) Port, the Display registers at 60Hz, thus proving that the Thundberbolt 2 Hub Controller is completely capable of MST DisplayPort functionality.  Clearly this a driver issue with Apple, Nvidia or Intel or any combination.  What Apple has done here is forcing any professional that desires stable and clear 4K technology through their MacBook Pro Retina to do so only using Windows 8.1 on their own machines!  Definitely an oxymoron if you ask me...
    Later on when the Mac Pro was ready for ordering, Apple placed the Sharp PN-K321 as a compatible option for a 4K Display.  On the Store page featuring the (over three thousand dollar) Sharp 4K display, located here http://store.apple.com/us/product/HD971LL/A/sharp-32-pn-k321-4k-ultra-hd-led-mon itor?fnode=53 Apple states the following:
    "Note that 4K DisplayPort operation is only compatible with the new Mac Pro (Late 2013)."
    All of that being said, and I'm terribly sorry for my wordy ranting...
    This brings me to a final two requests to ANYONE reading this post:
    a) Has anyone working with the new 10.9.2 Beta Update seen evidence that DisplayPort 1.2 capabilities will be enabled for the new MacBook Pro Retina (Nvidia 750M) with the promised "Graphics Driver Updates" within the next Mavericks update?
    and
    b) To others that purchased or were/are thinking of purchasing a new MacBook Pro Retina with TB2 Ports: If you are just as upset as me about this crushing blow to consumers that just purchased a $3,000 laptop that were promised something that wasn't delivered - I urge you please, write to Apple and let them know they are making a mistake.  You can do this though the support page or through http://www.apple.com/feedback
    Thank you for your precious time, and if anyone has anything to contribute to this issue, please jump in....

    GOOD NEWS!
    The Mavericks 10.9.3 update adds official support for Thunderbolt 2, 4K!
    I'm not sure if you will be able to daisy chain anything to the 4K display.  I've read that the design of Thunderbolt 2 includes support for DisplayPort 1.2 multi-stream (MST), which allows this type of daisy chaining with 4K, but we don't know if Apple has this supported on it's machines.  Apparently it's been buggy in development because the graphics driver needs to work correctly with the Thunderbolt 2 host controller.  I'm sure they will work it out if they haven't already.
    The above is all via found information on this topic, but you can follow some more discussion here:
    http://forums.macrumors.com/showthread.php?t=1713876
    One more note on Thunderbolt worth sharing: always keep your fastest peripherals closer to the computer in the chain. If you have a TB1 device directly connected to the computer, anything further down the chain will be limited to TB1 speed/capability regardless of it's native speed.  Always connect TB2 devices first, and save anything TB1 for the end of the chain.

  • Berkeley DB Java Edition (JE) and JRuby Interoperability

    I finally got around to doing a quick test of calling Berkeley DB Java Edition (JE) from JRuby (JRuby is a 100% pure-Java implementation of Ruby).
    Before we get to JE and JRuby you probably want to know the answer to this question: "Why you would want to run Ruby on a JVM?" The answer is threefold:
    1. Ruby Performance. A large amount of effort has been put into tuning contemporary JVMs (e.g. Hotspot, Java 6, etc.) and Ruby programmers (through JRuby) can benefit from these tuning efforts. The JRuby guys have set a goal to make JRuby the fastest Ruby implementation available and Sun is certainly throwing their weight behind that effort.
    2. Portability. JRuby is a Ruby interpreter that runs anywhere a Java 5 JVM runs. You download it as a single tar.gz and it will run pretty much anywhere.
    3. Legacy Code. JRuby makes legacy Java apps and libraries available to Ruby programmers (did you ever think you'd see the word "legacy" next to the word "Java"?).
    JE interoperability with JRuby is important because it means that Ruby programmers now have a simple, embeddable, ACID storage engine (JE) available to them.
    To test this interoperability, I cobbled together a simple Ruby test program which does the following:
    * Opens an Environment, Database, and Transaction
    * Creates 10 records with keys 1..10 and marshaled Ruby Time instances as the corresponding data. This uses the Ruby Marshal package for the data binding and the JE Integer binding on the key side. There's no reason why you couldn't use different marshaling packages or methods for keys and data.
    * Commits the transaction,
    * Performs a Cursor scan to read those 10 records and prints out the Time instances, and
    * Searches for and reads the record with key 5 (an arbitrary key) and prints out the Time instance that is the corresponding data
    By the way, hats off to the JRuby developers: all of this code "just worked", out of the box, and most of my two hour investment was spent learning enough basic Ruby to make it all work. If you already know Ruby and JE, then demonstrating this interoperability would take you all of about 10 minutes.
    This was all done at the "base API" level of JE and no modifications to JE were required. I used Transactions in my code, but there's no reason that you need to. Mark and I have been talking about how to integrate JE's Direct Persistence Layer (DPL) with JRuby and we think it can be done with some remodularization of some of the DPL code. This is exciting because it would provide POJO ACID persistence to Ruby programmers.
    Linda and I have been talking about whether it makes sense to possibly use Ruby as a scripting platform for JE in the future. Given how easy it was to bring up JE and JRuby, this certainly warrants some further thought.
    The Ruby code and corresponding output is shown below. By the way, if you see something that I didn't do "The Ruby Way", feel free to let me know.
    I'd love to hear about your experiences with JE and JRuby. Feel free to email me a charles.lamb at <theobviousdomain dot com>.
    require 'java'
    module JESimple
      require 'date'
      # Include all the Java and JE classes that we need.
      include_class 'java.io.File'
      include_class 'com.sleepycat.je.Cursor'
      include_class 'com.sleepycat.je.Database'
      include_class 'com.sleepycat.je.DatabaseConfig'
      include_class 'com.sleepycat.je.DatabaseEntry'
      include_class 'com.sleepycat.je.Environment'
      include_class 'com.sleepycat.je.EnvironmentConfig'
      include_class 'com.sleepycat.je.OperationStatus'
      include_class 'com.sleepycat.je.Transaction'
      include_class 'com.sleepycat.bind.tuple.IntegerBinding'
      include_class 'com.sleepycat.bind.tuple.StringBinding'
      # Create a JE Environment and Database.  Make them transactional.
      envConf = EnvironmentConfig.new()
      envConf.setAllowCreate(true)
      envConf.setTransactional(true)
      f = File.new('/export/home/cwl/work-jruby/JE')
      env = Environment.new(f, envConf);
      dbConf = DatabaseConfig.new()
      dbConf.setAllowCreate(true)
      dbConf.setSortedDuplicates(true)
      dbConf.setTransactional(true)
      db = env.openDatabase(nil, "fooDB", dbConf)
      # Create JE DatabaseEntry's for the key and data.
      key = DatabaseEntry.new()
      data = DatabaseEntry.new()
      # Begin a transaction
      txn = env.beginTransaction(nil, nil)
      # Write some simple marshaled strings to the database.  Use Ruby
      # Time just to demonstrate marshaling a random instance into JE.
      for i in (1..10)
        # For demonstration purposes, use JE's Binding for the key and
        # Ruby's Marshal package for the data.  There's no reason you
        # couldn't use JE's bindings for key and data or visa versa or
        # some other completely different binding.
        IntegerBinding.intToEntry(i, key)
        StringBinding.stringToEntry(Marshal.dump(Time.at(i * 3600 * 24)),
                                    data)
        status = db.put(txn, key, data)
        if (status != OperationStatus::SUCCESS)
          puts "Funky status on put #{status}"
        end
      end
      txn.commit()
      # Read back all of the records with a cursor scan.
      puts "Cursor Scan"
      c = db.openCursor(nil, nil)
      while (true) do
        status = c.getNext(key, data, nil)
        if (status != OperationStatus::SUCCESS)
          break
        end
        retKey = IntegerBinding.entryToInt(key)
        retData = Marshal.load(StringBinding.entryToString(data))
        dow =
        puts "#{retKey} => #{retData.strftime('%a %b %d')}"
      end
      c.close()
      # Read back the record with key 5.
      puts "\nSingle Record Retrieval"
      IntegerBinding.intToEntry(5, key)
      status = db.get(nil, key, data, nil)
      if (status != OperationStatus::SUCCESS)
        puts "Funky status on get #{status}"
      end
      retData = Marshal.load(StringBinding.entryToString(data))
      puts "5 => #{retData.strftime('%a %b %d')}"
      db.close
      env.close
    end
    Cursor Scan
    1 => Fri Jan 02
    2 => Sat Jan 03
    3 => Sun Jan 04
    4 => Mon Jan 05
    5 => Tue Jan 06
    6 => Wed Jan 07
    7 => Thu Jan 08
    8 => Fri Jan 09
    9 => Sat Jan 10
    10 => Sun Jan 11
    Single Record Retrieval
    5 => Tue Jan 06

    In my previous post (Berkeley DB Java Edition in JRuby), I showed an example of calling JE's base API layer and mentioned that Mark and I had been thinking about how to use the DPL from JRuby. Our ideal is to be able to define classes in Ruby, annotate those class definitions with DPL-like annotations, and have the JE DPL store them. There are a number of technical hurdles to overcome before we can do this. For instance, Ruby classes defined in JRuby do not map directly to underlying Java classes; instead they all appear as generic RubyObjects to a Java method. Granted, it would be possible for the DPL to fish out all of the fields from these classes using reflection, but presently it's just not set up to do that (hence the modification to the DPL that I spoke about in my previous blog entry). Furthermore, unlike Java, Ruby allows classes to change on the fly (add/remote new fields and methods) causing more heartburn for the DPL unless we required that only frozen Ruby classes could be stored persistently.
    On thinking about this some more, we realized that there may be a way to use the DPL from JRuby, albeit with some compromises. The key to this is that in JRuby, if a Java instance is passed back to the "Ruby side" (e.g. through a return value or by calling the constructor for a Java class), it remains a Java instance, even when passed around in JRuby (and eventually passed back into the "Java side"). So what if we require all persistent classes to be defined (i.e. annotated) on the Java side? That buys us the standard DPL annotations (effectively the DDL), freezes the classes that the DPL sees, and still lets us benefit from the POJO persistence of the DPL. All of this can be done without modification to JE or the DPL using the currently available release. I cooked up a quick example that builds on the standard "Person" example in the DPL doc and included the code below.
    require 'java'
    module DPL
      require 'date'
      # Include all the Java and JE classes that we need.
      include_class 'java.io.File'
      include_class 'com.sleepycat.je.Environment'
      include_class 'com.sleepycat.je.EnvironmentConfig'
      include_class 'com.sleepycat.persist.EntityCursor'
      include_class 'com.sleepycat.persist.EntityIndex'
      include_class 'com.sleepycat.persist.EntityStore'
      include_class 'com.sleepycat.persist.PrimaryIndex'
      include_class 'com.sleepycat.persist.SecondaryIndex'
      include_class 'com.sleepycat.persist.StoreConfig'
      include_class 'com.sleepycat.persist.model.Entity'
      include_class 'com.sleepycat.persist.model.Persistent'
      include_class 'com.sleepycat.persist.model.PrimaryKey'
      include_class 'com.sleepycat.persist.model.SecondaryKey'
      include_class 'com.sleepycat.persist.model.DeleteAction'
      include_class 'persist.Person'
      include_class 'persist.PersonExample'
      # Create a JE Environment and Database.  Make them transactional.
      envConf = EnvironmentConfig.new()
      envConf.setAllowCreate(true)
      envConf.setTransactional(true)
      f = File.new('/export/home/cwl/work-jruby/JE')
      env = Environment.new(f, envConf);
      # Open a transactional entity store.
      storeConfig = StoreConfig.new();
      storeConfig.setAllowCreate(true);
      storeConfig.setTransactional(true);
      store = EntityStore.new(env, "PersonStore", storeConfig);
      class PersonAccessor
        attr_accessor :personBySsn, :personByParentSsn
        def init(store)
          stringClass = java.lang.Class.forName('java.lang.String')
          personClass = java.lang.Class.forName('persist.Person')
          @personBySsn = store.getPrimaryIndex(stringClass, personClass)
          @personByParentSsn =
            store.getSecondaryIndex(@personBySsn, stringClass, "parentSsn");
        end
      end
      dao = PersonAccessor.new(store)
      dao.init(store)
      personBySsn = dao.personBySsn
      person = Person.new('Bob Smith', '111-11-1111', nil)
      personBySsn.put(person);
      person = Person.new('Mary Smith', '333-33-3333', '111-11-1111')
      personBySsn.put(person);
      person = Person.new('Jack Smith', '222-22-2222', '111-11-1111')
      personBySsn.put(person);
      # Get Bob by primary key using the primary index.
      bob = personBySsn.get("111-11-1111")
      puts "Lookup of Bob => #{bob.name}, #{bob.ssn}"
      children = dao.personByParentSsn.subIndex(bob.ssn).entities()
      puts "\nRetrieving children of Bob"
      while (true) do
        child = children.next()
        break if child == nil
        puts "#{child.name}, #{child.ssn}"
      end
      children.close()
      store.close
      env.close
    end

  • How to get handle to a MST bean for a particular row in an advanced table

    Hi
    Requirement:
    My advanced table has 2 columns, the 1st one has a LOV and the 2nd one is a switcher which toggles from LOV to MST depending on the value in the 1st column.
    Implementation Steps:
    1) Trap LOV event in 1st column and pass row index to the AM
    2) Get the VO row from the row index (EVENT_SOURCE_ROW_REFERENCE), set the switcher attribute to MST/LOV depending on Business Logic
    3) Get the view attribute value of the 2nd column (to which LOV/MST is mapped).
    My LOV/MST gets rendered correctly on the page. However, when the LOV renders in the 2nd column, the view attribute is correctly populated in the LOV. But the MST renders with no value.
    I understand that the MST loses value on form submission and that this value needs to be set in the PR of the CO. For that how do I get a handle to the MST bean of the particular row?
    This is urgent!!
    Thanks
    Ritu

    Pointers?
    Anyway I can make the MST in the row return the correct view attribute?

  • Mac/Windows interoperability

    Dear nice people
    I am attempting to optimise a small business environment (see specifications below) containing a mix of Macs and PCs currently using a Windows Server 2012 on a GBit ethernet (1000BASE-T) infrastructure. The Macs are not being backed up. I am considering locating a Firewire 800 supported RAID based mass storage device, such as the G-Technology 4TB G-RAID Professional High-Performance Dual-Drive Hard Drive, centrally to the three Macs and in addition to the Windows Server, because:
    TimeMachine would backup Applications, folders, files and settings on each Mac allowing simple full restoration from a clean OS install
    The storage device is a plug-and-play device for these Macs and the staff are not IT literate
    TimeMachine can be configured easily on their Macs to such a device by the staff
    These Macs do not have Thunderbolt
    Connectivity is easy via Firewire 800
    If the staff just use the device for TimeMachine backups only, that is a good result. They may find that FW800 is faster that GBit ethernet on what appears to me to be a slow Windows server anyway, so staff may use the storage device to store Mac critical business files instead of on the Windows server: their choice
    If I assume that the above is reasonable, I have some questions arising. If you are able to answer one but not all questions, please clearly state which question you are addressing
    Do I need to be concerned if the staff create an FW800 ring instead of a daisy chain when connecting to each other and/or the storage device?
    Is an FW800 ring actually desirable - i.e. faster?
    How can I address the backup needs of the two isolated Macs (see specifications below) which would be more than 5m from the storage device? (My understanding is that FW800 cables are generally 2m and that the specification supports 3m max).
    (in 3 above) I realise I could specify an FW800 hub. Can you recommend such a hub for this scenario?
    Each Mac would have a GBit ethernet connection to Windows and a FW800 connection to the storage device. Is multiple network connections such as this supported on OS X (specifically 10.8.4)?
    Do I have any hardware interoperability issues given the age of some of the Macs? Specifically, is the FW800 specification the same on the 2008 and 2012 Macs?
    Thank you in advance
    Grytr
    Specifications
    Hardware & OS
    8 x PC
    1 x Mac Pro 5,1 (mid 2012) 16GB 10.8.4
    1 x Mac Pro 3,1 (early 2008) 10GB 10.8.4
    1 x iMac 8,1 (20 inch early 2008) 2GB 10.8.4
    The above three Macs are within 3m of each other and all Macs and PCs connected to Windows Server using 1000BASE-T
    2 x iMac 8,1 (24 inch early 2008) 2GB 10.8.4 approx 5m or more from the above Macs connected to Windows Server using 1000BASE-T.
    Applications
    A mix of native Mac applications such as MS Office, Sketchup Pro 2013, Adobe CS6 and VectorWorks 2013 (with very large models) plus Windows 7 Professional 64-bit applications running under Parrallels Desktop 9 for Mac such as SAGE 50 Accounts Professional and Rental Desk NX. At the moment, business critical PC & Mac files are stored on the Windows Server but the Macs are not backed up.

    All options are easy to remove, so don't worry about that. Also, just in case you are worried about viruses, spyware, etc. they will not spread to OS X if you get infected.
    You really have 3 options:
    Boot Camp
    The installer does all the work for you, installs the drivers when Windows is finished installing, and it's generally very easy. The nice thing about this option is you have a real version of Windows. When you reboot into Windows, you ARE running Windows, just like any other laptop running Windows. The downside is that you have to reboot every time you need a Windows app.
    VMware Fusion
    This is a great option as well. Also easy to install. If you just use Fusion, it creates an entire "Windows machine" as a single file within OS X. If it gets infected or there is an issue, you can just delete the file. You can also make a backup of the "machine" and restore it if there are problems. Also, you can use Fusion WITH Boot camp, and get the best of both worlds. This is what I do. That way, if you need to boot into Windows, you restart and do it. If you just need to run a few programs, you can use Fusion and run them from inside of OSX, all on the same installation of Windows. Fusion just uses your Boot camp partition as its machine.
    Parallels
    Pretty much the same as Fusion, and you can use the Boot camp partition for this one as well.
    I would really recommend using Boot camp and Fusion together, but if you don't see any need to actually boot into Windows, and you only need a few programs now and then, Fusion will work fine.
    Updates are still necessary, by the way. The windows install is just as vulnerable as any other Windows machine, unfortunately, but again, it won't spread to OSX.
    All three options are very easy to remove. Boot camp has an uninstall routine that will wipe out Windows and repartition the hard drive back to full size in about 2 or 3 minutes!!
    And yes, you need a full version of Windows.

  • Issue with Java - PHP interoperability

    Hi,
    There are some converts written in PHP that can take raw wikipedia data and output a good HTML. I wanted to make use of these in my Java code.
    So in my Java Web App, I wanted to run the PHP parser, get hold of the InputStream and push it to my ServletOutputStream.
    Code Snippet:
       String command="php testparser.php Anarchism.wikimarkup";
       proc = Runtime.getRuntime().exec(command);
       InputStream in = proc.getInputStream();
       InputStreamReader isr = new InputStreamReader(in);
       BufferedReader br = new BufferedReader(isr);
       String line = null;
       while ((line = br.readLine()) != null) {
         System.out.println(line);
       }But the problem here is that the PHP Process never stops and hence the Buffer never ends. THe program is waiting in infinite loop in readLine().
    Please let me know if anyone has tried this and whats a better way to handle interoperability between PHP and Java.
    Thanks,
    Phani

    Phanikumar_Bhamidipati wrote:
    Yeah, I had a look at the document. But as per my understanding, the way the PHP engine runs is different from normal execs. I don't see how it can 'run different' and in my experience it doesn't. PHP sends output to stdout and stderr and reads from stdin. When PHP terminates it will close stdout and stderr and, if you have followed the recommendations in the reference, your readLine() will return 'null'.
    Because the same code ran fine when I automated unzipping a set of files using "bunzip2" command.If you read the article it explains a possible reason for this BUT until you implement the recommendations you will not know what is wrong.
    >
    I tried using Process.waitFor() method as well, but the result is same (Infinite Loop).This almost certainly is nothing to do with Process.waitFor() and probably everything to do with buffers filling (probably stderr).
    Until you post the code with the recommendations implemented that exhibits the same blocking problem it is a waste of time anyone responding further.

  • Error: "There is a problem With Adobe Acrobat/Reader..." What is .MST file??

    I get the following error message and I looked it up in the knowledge base, and there was a solution for fixing the error message. However, I have no idea what they are talking about. I have downloaded the Customization Wizard, but I have no clue what the following means:
    A) Create a new transform
    B) Open your previously created .mst file
    I went into the C Drive and opened Program Files. I found the Adobe folder, but I couldn't find an .mst file anywhere. Am I completely lost??? Below is the knowledge base solution:
    Error: "There is a problem With Adobe Acrobat/Reader..." when you view a PDF in a browser (Acrobat and Adobe Reader 8 on Windows)
    Issue
    When you try to view a PDF in Internet Explorer, you see the error message, "There is a problem With Adobe Acrobat/Reader. Please exit Adobe Acrobat/Reader and try again." When you click OK to the error, the PDF opens outside of the browser.
    Reason
    When you use the Adobe Customization Wizard to create a transform for Adobe Acrobat 8 or Adobe Reader 8, and you choose the option to "Make Acrobat the default viewer if both Acrobat and Reader are installed", or "Make Reader the default viewer if both Acrobat and Reader are installed", an error occurs if the computer does not have Acrobat or Reader already installed.
    Solution
    Create a new transform and re-deploy Acrobat or Adobe Reader.
    Start the Adobe Customization Wizard 8.
    Open your previously created .mst file.
    Under Installation Options, select "Installer will decide which product will be the default".
    Save the transform.
    Re-deploy Acrobat or Adobe Reader.
    Additional Information
    When you create a transform in Adobe Customization Wizard 8, the installation options allow you to set the default viewer for PDF files. "Installer will decide which product will be the default" is the default setting and should be used when you are uncertain if the target machine has a version of Acrobat or Adobe Reader that won't be removed as part of the installation process. When installed silently using this option, Acrobat will always be configured as the default viewer.

    I think you are headed down the wrong path. The Customization Wizard is what you use to push out Reader to several hundred computers. An MST is a package or transform file that is used to accomplish this task. Unless you are an IT person and are trying a deployment of Reader this solution does not fit your situation.

  • Nexus 4001i and MST tons of log errors

    Went looking through my Nexus 4001i logs today, and started noticing a bunch of STP role and port change messages:
    2013 Jul  5 14:40:31 N4k-SLOT7-SW1 %STP-6-PORT_ROLE: Port Ethernet1/1 instance MST0000 role changed to designated
    2013 Jul  5 14:40:31 N4k-SLOT7-SW1 %STP-6-PORT_ROLE: Port port-channel2 instance MST0000 role changed to alternate
    2013 Jul  5 14:40:32 N4k-SLOT7-SW1 %STP-6-PORT_ROLE: Port port-channel1 instance MST0000 role changed to root
    2013 Jul  5 14:40:32 N4k-SLOT7-SW1 %STP-6-MST_PORT_BOUNDARY: Port Ethernet1/14 removed as MST Boundary port
    2013 Jul  5 14:40:32 N4k-SLOT7-SW1 %STP-6-PORT_ROLE: Port Ethernet1/14 instance MST0000 role changed to designated
    2013 Jul  5 14:40:32 N4k-SLOT7-SW1 %STP-6-MST_PORT_BOUNDARY: Port Ethernet1/13 removed as MST Boundary port
    2013 Jul  5 14:40:32 N4k-SLOT7-SW1 %STP-6-PORT_ROLE: Port Ethernet1/13 instance MST0000 role changed to designated
    2013 Jul  5 14:40:32 N4k-SLOT7-SW1 %STP-6-MST_PORT_BOUNDARY: Port Ethernet1/12 removed as MST Boundary port
    2013 Jul  5 14:40:32 N4k-SLOT7-SW1 %STP-6-PORT_ROLE: Port Ethernet1/12 instance MST0000 role changed to designated
    2013 Jul  5 14:40:32 N4k-SLOT7-SW1 %STP-6-MST_PORT_BOUNDARY: Port Ethernet1/11 removed as MST Boundary port
    2013 Jul  5 14:40:32 N4k-SLOT7-SW1 %STP-6-PORT_ROLE: Port Ethernet1/11 instance MST0000 role changed to designated
    2013 Jul  5 14:40:32 N4k-SLOT7-SW1 %STP-6-MST_PORT_BOUNDARY: Port Ethernet1/10 removed as MST Boundary port
    2013 Jul  5 14:40:32 N4k-SLOT7-SW1 %STP-6-PORT_ROLE: Port Ethernet1/10 instance MST0000 role changed to designated
    2013 Jul  5 14:40:32 N4k-SLOT7-SW1 %STP-6-MST_PORT_BOUNDARY: Port Ethernet1/9 removed as MST Boundary port
    2013 Jul  5 14:40:32 N4k-SLOT7-SW1 %STP-6-PORT_ROLE: Port Ethernet1/9 instance MST0000 role changed to designated
    2013 Jul  5 14:40:32 N4k-SLOT7-SW1 %STP-6-MST_PORT_BOUNDARY: Port Ethernet1/8 removed as MST Boundary port
    2013 Jul  5 14:40:32 N4k-SLOT7-SW1 %STP-6-PORT_ROLE: Port Ethernet1/8 instance MST0000 role changed to designated
    2013 Jul  5 14:40:32 N4k-SLOT7-SW1 %STP-6-MST_PORT_BOUNDARY: Port Ethernet1/7 removed as MST Boundary port
    2013 Jul  5 14:40:32 N4k-SLOT7-SW1 %STP-6-PORT_ROLE: Port Ethernet1/7 instance MST0000 role changed to designated
    2013 Jul  5 14:40:32 N4k-SLOT7-SW1 %STP-6-MST_PORT_BOUNDARY: Port Ethernet1/6 removed as MST Boundary port
    2013 Jul  5 14:40:32 N4k-SLOT7-SW1 %STP-6-PORT_ROLE: Port Ethernet1/6 instance MST0000 role changed to designated
    2013 Jul  5 14:40:32 N4k-SLOT7-SW1 %STP-6-MST_PORT_BOUNDARY: Port Ethernet1/5 removed as MST Boundary port
    2013 Jul  5 14:40:32 N4k-SLOT7-SW1 %STP-6-PORT_ROLE: Port Ethernet1/5 instance MST0000 role changed to designated
    2013 Jul  5 14:40:32 N4k-SLOT7-SW1 %STP-6-MST_PORT_BOUNDARY: Port Ethernet1/4 removed as MST Boundary port
    2013 Jul  5 14:40:32 N4k-SLOT7-SW1 %STP-6-PORT_ROLE: Port Ethernet1/4 instance MST0000 role changed to designated
    2013 Jul  5 14:40:32 N4k-SLOT7-SW1 %STP-6-MST_PORT_BOUNDARY: Port Ethernet1/3 removed as MST Boundary port
    2013 Jul  5 14:40:32 N4k-SLOT7-SW1 %STP-6-PORT_ROLE: Port Ethernet1/3 instance MST0000 role changed to designated
    2013 Jul  5 14:40:32 N4k-SLOT7-SW1 %STP-6-MST_PORT_BOUNDARY: Port Ethernet1/2 removed as MST Boundary port
    2013 Jul  5 14:40:32 N4k-SLOT7-SW1 %STP-6-PORT_ROLE: Port Ethernet1/2 instance MST0000 role changed to designated
    2013 Jul  5 14:40:32 N4k-SLOT7-SW1 %STP-6-MST_PORT_BOUNDARY: Port Ethernet1/1 removed as MST Boundary port
    After going through a variety of configuration validations, spanning-tree root and priority validations as well as making sure the instances and revisions between the various MST speaking switches (all of the Nexus gear including Nexus 5596 which are vPC peers, 4001i's which connect via vPC's to the 5596's, and Catalyst 3110X's which also use MST, but only have one uplink at this time to the 5596's not in a vPC setup).
    None of the other devices appear to be experiencing this problem.
    I am quite confused as to what is going on, and cannot figure out why the 4001i is wigging out like this.
    A quick output of MST::
    N4k-SLOT7-SW1# show spanning-tree mst
    ##### MST0    vlans mapped:   801-3109,3111-4094
    Bridge        address 6073.5c8d.7e82  priority      24576 (24576 sysid 0)
    Root          address 0023.04ee.be03  priority      16384 (16384 sysid 0)
                  port    Po1             path cost     0       
    Regional Root address 0023.04ee.be03  priority      16384 (16384 sysid 0)
                                          internal cost 500       rem hops 19
    Operational   hello time 2 , forward delay 15, max age 20, txholdcount 6
    Configured    hello time 2 , forward delay 15, max age 20, max hops    20
    Interface        Role Sts Cost      Prio.Nbr Type
    Po1              Root FWD 500        32.4096 P2p
    Po2              Altn BLK 1000       64.4097 P2p
    Eth1/1           Desg FWD 2000      128.129  Edge P2p
    Eth1/2           Desg FWD 2000      128.130  Edge P2p
    Eth1/3           Desg FWD 2000      128.131  Edge P2p
    Eth1/4           Desg FWD 2000      128.132  Edge P2p
    Eth1/5           Desg FWD 2000      128.133  Edge P2p
    Eth1/6           Desg FWD 2000      128.134  Edge P2p
    Eth1/7           Desg FWD 2000      128.135  Edge P2p
    Eth1/8           Desg FWD 2000      128.136  Edge P2p
    Eth1/9           Desg FWD 2000      128.137  Edge P2p
    Eth1/10          Desg FWD 2000      128.138  Edge P2p
    Eth1/11          Desg FWD 2000      128.139  Edge P2p
    Eth1/12          Desg FWD 2000      128.140  Edge P2p
    Eth1/13          Desg FWD 2000      128.141  Edge P2p
    Eth1/14          Desg FWD 2000      128.142  Edge P2p
    ##### MST1    vlans mapped:   2-499,600-800,3110
    Bridge        address 6073.5c8d.7e82  priority      24577 (24576 sysid 1)
    Root          address 0023.04ee.be03  priority      16385 (16384 sysid 1)
                  port    Po1             cost          500       rem hops 19
    Interface        Role Sts Cost      Prio.Nbr Type
    Po1              Root FWD 500       128.4096 P2p
    Eth1/1           Desg FWD 2000      128.129  Edge P2p
    Eth1/2           Desg FWD 2000      128.130  Edge P2p
    Eth1/3           Desg FWD 2000      128.131  Edge P2p
    Eth1/4           Desg FWD 2000      128.132  Edge P2p
    Eth1/5           Desg FWD 2000      128.133  Edge P2p
    Eth1/6           Desg FWD 2000      128.134  Edge P2p
    Eth1/7           Desg FWD 2000      128.135  Edge P2p
    Eth1/8           Desg FWD 2000      128.136  Edge P2p
    Eth1/9           Desg FWD 2000      128.137  Edge P2p
    Eth1/10          Desg FWD 2000      128.138  Edge P2p
    Eth1/11          Desg FWD 2000      128.139  Edge P2p
    Eth1/12          Desg FWD 2000      128.140  Edge P2p
    Eth1/13          Desg FWD 2000      128.141  Edge P2p
    Eth1/14          Desg FWD 2000      128.142  Edge P2p
    ##### MST2    vlans mapped:   1,500-599
    Bridge        address 6073.5c8d.7e82  priority      24578 (24576 sysid 2)
    Root          address 0023.04ee.be03  priority      16386 (16384 sysid 2)
                  port    Po2             cost          1000      rem hops 19
    Interface        Role Sts Cost      Prio.Nbr Type
    Po2              Root FWD 1000      128.4097 P2p
    Eth1/1           Desg FWD 2000      128.129  Edge P2p
    Eth1/2           Desg FWD 2000      128.130  Edge P2p
    Eth1/3           Desg FWD 2000      128.131  Edge P2p
    Eth1/4           Desg FWD 2000      128.132  Edge P2p
    Eth1/5           Desg FWD 2000      128.133  Edge P2p
    Eth1/6           Desg FWD 2000      128.134  Edge P2p
    Eth1/7           Desg FWD 2000      128.135  Edge P2p
    Eth1/8           Desg FWD 2000      128.136  Edge P2p
    Eth1/9           Desg FWD 2000      128.137  Edge P2p
    Eth1/10          Desg FWD 2000      128.138  Edge P2p
    Eth1/11          Desg FWD 2000      128.139  Edge P2p
    Eth1/12          Desg FWD 2000      128.140  Edge P2p
    Eth1/13          Desg FWD 2000      128.141  Edge P2p
    Eth1/14          Desg FWD 2000      128.142  Edge P2p
    N4k-SLOT7-SW1# show spanning-tree detail | i occur|from|exec
    MST0000 is executing the mstp compatible Spanning Tree protocol
      Number of topology changes 1 last change occurred 3:48:09 ago
              from port-channel1
    MST0001 is executing the mstp compatible Spanning Tree protocol
      Number of topology changes 1 last change occurred 3:48:07 ago
              from port-channel1
    MST0002 is executing the mstp compatible Spanning Tree protocol
      Number of topology changes 1 last change occurred 3:48:07 ago
              from port-channel2
    (topology change was due to testing rapid-PVST for this switch, and then putting it back, the previous change occured 555 hours ago).
    N4k-SLOT9-SW2# show spanning-tree
    MST0000
      Spanning tree enabled protocol mstp
      Root ID    Priority    16384
                 Address     0023.04ee.be03
                 Cost        0
                 Port        4096 (port-channel1)
                 Hello Time  2  sec  Max Age 20 sec  Forward Delay 15 sec
      Bridge ID  Priority    24576  (priority 24576 sys-id-ext 0)
                 Address     2c54.2ded.b704
                 Hello Time  2  sec  Max Age 20 sec  Forward Delay 15 sec
    Interface        Role Sts Cost      Prio.Nbr Type
    Po1              Root FWD 500       128.4096 P2p
    Po2              Altn BLK 1000      128.4097 P2p
    Eth1/1           Desg FWD 2000      128.129  Edge P2p
    Eth1/2           Desg FWD 2000      128.130  Edge P2p
    Eth1/3           Desg FWD 2000      128.131  Edge P2p
    Eth1/4           Desg FWD 2000      128.132  Edge P2p
    Eth1/5           Desg FWD 2000      128.133  Edge P2p
    Eth1/6           Desg FWD 2000      128.134  Edge P2p
    Eth1/7           Desg FWD 2000      128.135  Edge P2p
    Eth1/8           Desg FWD 2000      128.136  Edge P2p
    Eth1/9           Desg FWD 2000      128.137  Edge P2p
    Eth1/10          Desg FWD 2000      128.138  Edge P2p
    Eth1/11          Desg FWD 2000      128.139  Edge P2p
    Eth1/12          Desg FWD 2000      128.140  Edge P2p
    Eth1/13          Desg FWD 2000      128.141  Edge P2p
    Eth1/14          Desg FWD 2000      128.142  Edge P2p
    MST0001
      Spanning tree enabled protocol mstp
      Root ID    Priority    16385
                 Address     0023.04ee.be03
                 Cost        500
                 Port        4096 (port-channel1)
                 Hello Time  2  sec  Max Age 20 sec  Forward Delay 15 sec
      Bridge ID  Priority    24577  (priority 24576 sys-id-ext 1)
                 Address     2c54.2ded.b704
                 Hello Time  2  sec  Max Age 20 sec  Forward Delay 15 sec
    Interface        Role Sts Cost      Prio.Nbr Type
    Po1              Root FWD 500       128.4096 P2p
    Eth1/1           Desg FWD 2000      128.129  Edge P2p
    Eth1/2           Desg FWD 2000      128.130  Edge P2p
    Eth1/3           Desg FWD 2000      128.131  Edge P2p
    Eth1/4           Desg FWD 2000      128.132  Edge P2p
    Eth1/5           Desg FWD 2000      128.133  Edge P2p
    Eth1/6           Desg FWD 2000      128.134  Edge P2p
    Eth1/7           Desg FWD 2000      128.135  Edge P2p
    Eth1/8           Desg FWD 2000      128.136  Edge P2p
    Eth1/9           Desg FWD 2000      128.137  Edge P2p
    Eth1/10          Desg FWD 2000      128.138  Edge P2p
    Eth1/11          Desg FWD 2000      128.139  Edge P2p
    Eth1/12          Desg FWD 2000      128.140  Edge P2p
    Eth1/13          Desg FWD 2000      128.141  Edge P2p
    Eth1/14          Desg FWD 2000      128.142  Edge P2p
    MST0002
      Spanning tree enabled protocol mstp
      Root ID    Priority    16386
                 Address     0023.04ee.be03
                 Cost        1000
                 Port        4097 (port-channel2)
                 Hello Time  2  sec  Max Age 20 sec  Forward Delay 15 sec
      Bridge ID  Priority    24578  (priority 24576 sys-id-ext 2)
                 Address     2c54.2ded.b704
                 Hello Time  2  sec  Max Age 20 sec  Forward Delay 15 sec
    Interface        Role Sts Cost      Prio.Nbr Type
    Po2              Root FWD 1000      128.4097 P2p
    Eth1/1           Desg FWD 2000      128.129  Edge P2p
    Eth1/2           Desg FWD 2000      128.130  Edge P2p
    Eth1/3           Desg FWD 2000      128.131  Edge P2p
    Eth1/4           Desg FWD 2000      128.132  Edge P2p
    Eth1/5           Desg FWD 2000      128.133  Edge P2p
    Eth1/6           Desg FWD 2000      128.134  Edge P2p
    Eth1/7           Desg FWD 2000      128.135  Edge P2p
    Eth1/8           Desg FWD 2000      128.136  Edge P2p
    Eth1/9           Desg FWD 2000      128.137  Edge P2p
    Eth1/10          Desg FWD 2000      128.138  Edge P2p
    Eth1/11          Desg FWD 2000      128.139  Edge P2p
    Eth1/12          Desg FWD 2000      128.140  Edge P2p
    Eth1/13          Desg FWD 2000      128.141  Edge P2p
    Eth1/14          Desg FWD 2000      128.142  Edge P2p
    N4k-SLOT9-SW2#  show spanning-tree detail | i occur|from|exec
    MST0000 is executing the mstp compatible Spanning Tree protocol
      Number of topology changes 18758 last change occurred 4:01:03 ago
              from port-channel1
    MST0001 is executing the mstp compatible Spanning Tree protocol
      Number of topology changes 45742 last change occurred 4:01:02 ago
              from port-channel1
    MST0002 is executing the mstp compatible Spanning Tree protocol
      Number of topology changes 21007 last change occurred 599:47:47 ago
              from port-channel2
    N4k-SLOT9-SW2#
    N5596-DC-SW1# show spanning-tree
    MST0000
      Spanning tree enabled protocol mstp
      Root ID    Priority    16384
                 Address     0023.04ee.be03
                 This bridge is the root
                 Hello Time  2  sec  Max Age 20 sec  Forward Delay 15 sec
      Bridge ID  Priority    16384  (priority 16384 sys-id-ext 0)
                 Address     0023.04ee.be03
                 Hello Time  2  sec  Max Age 20 sec  Forward Delay 15 sec
    Interface        Role Sts Cost      Prio.Nbr Type
    Po1              Desg FWD 1000      128.4096 P2p
    Po2              Desg FWD 200       128.4097 (vPC) P2p
    Po3              Desg FWD 200       128.4098 (vPC) P2p
    Po57             Desg FWD 200       128.4152 (vPC) P2p
    Po100            Desg FWD 1000      128.4195 (vPC peer-link) Network P2p
    Eth1/15          Desg FWD 2000      128.143  Edge P2p
    Eth1/16          Desg FWD 2000      128.144  Edge P2p
    MST0001
      Spanning tree enabled protocol mstp
      Root ID    Priority    16385
                 Address     0023.04ee.be03
                 This bridge is the root
                 Hello Time  2  sec  Max Age 20 sec  Forward Delay 15 sec
      Bridge ID  Priority    16385  (priority 16384 sys-id-ext 1)
                 Address     0023.04ee.be03
                 Hello Time  2  sec  Max Age 20 sec  Forward Delay 15 sec
    Interface        Role Sts Cost      Prio.Nbr Type
    Po2              Desg FWD 200       128.4097 (vPC) P2p
    Po3              Desg FWD 200       128.4098 (vPC) P2p
    Po57             Desg FWD 200       128.4152 (vPC) P2p
    Po100            Desg FWD 1000      128.4195 (vPC peer-link) Network P2p
    MST0002
      Spanning tree enabled protocol mstp
      Root ID    Priority    16386
                 Address     0023.04ee.be03
                 This bridge is the root
                 Hello Time  2  sec  Max Age 20 sec  Forward Delay 15 sec
      Bridge ID  Priority    16386  (priority 16384 sys-id-ext 2)
                 Address     0023.04ee.be03
                 Hello Time  2  sec  Max Age 20 sec  Forward Delay 15 sec
    Interface        Role Sts Cost      Prio.Nbr Type
    Po1              Desg FWD 1000      128.4096 P2p
    Eth1/15          Desg FWD 2000      128.143  Edge P2p
    Eth1/16          Desg FWD 2000      128.144  Edge P2p
    N5596-DC-SW1# show spanning-tree detail | i occur|from|exec
    MST0000 is executing the mstp compatible Spanning Tree protocol
      Number of topology changes 44578 last change occurred 4:11:57 ago
              from port-channel2
    MST0001 is executing the mstp compatible Spanning Tree protocol
      Number of topology changes 98707 last change occurred 4:11:55 ago
              from port-channel2
    MST0002 is executing the mstp compatible Spanning Tree protocol
      Number of topology changes 4 last change occurred 4:11:55 ago
              from port-channel1
    N5596-DC-SW2# show spanning-tree
    MST0000
      Spanning tree enabled protocol mstp
      Root ID    Priority    16384
                 Address     0023.04ee.be03
                 This bridge is the root
                 Hello Time  2  sec  Max Age 20 sec  Forward Delay 15 sec
      Bridge ID  Priority    16384  (priority 16384 sys-id-ext 0)
                 Address     0023.04ee.be03
                 Hello Time  2  sec  Max Age 20 sec  Forward Delay 15 sec
    Interface        Role Sts Cost      Prio.Nbr Type
    Po1              Desg FWD 1000      128.4096 P2p
    Po2              Desg FWD 200       128.4097 (vPC) P2p
    Po3              Desg FWD 200       128.4098 (vPC) P2p
    Po57             Desg FWD 200       128.4152 (vPC) P2p
    Po100            Root FWD 1000      128.4195 (vPC peer-link) Network P2p
    Eth1/9           Desg FWD 20000     128.137  P2p
    Eth1/15          Desg FWD 2000      128.143  Edge P2p
    Eth1/16          Desg FWD 2000      128.144  Edge P2p
    MST0001
      Spanning tree enabled protocol mstp
      Root ID    Priority    16385
                 Address     0023.04ee.be03
                 This bridge is the root
                 Hello Time  2  sec  Max Age 20 sec  Forward Delay 15 sec
      Bridge ID  Priority    16385  (priority 16384 sys-id-ext 1)
                 Address     0023.04ee.be03
                 Hello Time  2  sec  Max Age 20 sec  Forward Delay 15 sec
    Interface        Role Sts Cost      Prio.Nbr Type
    Po2              Desg FWD 200       128.4097 (vPC) P2p
    Po3              Desg FWD 200       128.4098 (vPC) P2p
    Po57             Desg FWD 200       128.4152 (vPC) P2p
    Po100            Root FWD 1000      128.4195 (vPC peer-link) Network P2p
    Eth1/9           Desg FWD 20000     128.137  P2p
    MST0002
      Spanning tree enabled protocol mstp
      Root ID    Priority    16386
                 Address     0023.04ee.be03
                 This bridge is the root
                 Hello Time  2  sec  Max Age 20 sec  Forward Delay 15 sec
      Bridge ID  Priority    16386  (priority 16384 sys-id-ext 2)
                 Address     0023.04ee.be03
                 Hello Time  2  sec  Max Age 20 sec  Forward Delay 15 sec
    Interface        Role Sts Cost      Prio.Nbr Type
    Po1              Desg FWD 1000      128.4096 P2p
    Eth1/9           Desg FWD 20000     128.137  P2p
    Eth1/15          Desg FWD 2000      128.143  Edge P2p
    Eth1/16          Desg FWD 2000      128.144  Edge P2p
    N5596-DC-SW2# show spanning-tree | i occur|from|exec
    N5596-DC-SW2# show spanning-tree detail | i occur|from|exec
    MST0000 is executing the mstp compatible Spanning Tree protocol
      Number of topology changes 44234 last change occurred 4:12:45 ago
              from port-channel100
    MST0001 is executing the mstp compatible Spanning Tree protocol
      Number of topology changes 97804 last change occurred 4:12:43 ago
              from port-channel100
    MST0002 is executing the mstp compatible Spanning Tree protocol
      Number of topology changes 49801 last change occurred 599:58:06 ago
              from Ethernet1/9
    Except from MST configs:
    Nexus 4001i switches:
    vlan 1,301-499
    vlan 500
      fip-snooping enable
    vlan 600-800
    spanning-tree mode mst
    spanning-tree pathcost method long
    spanning-tree mst 0-2 priority 24576
    spanning-tree mst configuration
      revision 1
      instance 1 vlan 2-499,600-800,3110
      instance 2 vlan 1,500-599
    Nexus 5596 switches:
    N5596-DC-SW1
    spanning-tree mode mst
    spanning-tree pathcost method long
    spanning-tree mst 0-2 priority 16384
    spanning-tree pseudo-information
      mst 0-2 root priority 16384
      mst 0-2 designated priority 16384
    spanning-tree mst configuration
      revision 1
      instance 1 vlan 2-499,600-800,3110
      instance 2 vlan 1,500-599
    N5596-DC-SW2
    spanning-tree mode mst
    spanning-tree pathcost method long
    spanning-tree mst 0-2 priority 16384
    spanning-tree vlan 3110 priority 24576
    spanning-tree pseudo-information
      mst 0-1 designated priority 20480
      mst 2 designated priority 16384
      vlan 1-499,501,600-800 designated priority 20480
    spanning-tree mst configuration
      revision 1
      instance 1 vlan 2-499,600-800,3110
      instance 2 vlan 1,500-599
    5596's vPC configs
    N5596-DC-SW1
    vpc domain 3
      peer-switch
      role priority 100
      peer-keepalive destination 192.168.92.223 source 192.168.92.222
      auto-recovery
    N5596-DC-SW2
    vpc domain 3
      peer-switch
      role priority 200
      peer-keepalive destination 192.168.92.222 source 192.168.92.223
      auto-recovery
    Quick rundown of connections between devices:
    Nexus 4001's connect to Nexus 5596's for ethernet data via twinax cables in a four port vPC between both Nexus 5596's.
    Nexus 4001's connect to one Nexus 5596 a piece for FCoE two port LACP port channel. (hence the two instances, and vlan 1,500-599 in the same instance)
    Catalyst 3110X connects via one Fiber-Optic connection to the N5596-DC-SW2, eventually will have two in a port-channel
    Also keep in mind I corrected a priority conflict between the 3110X and Nexus 5596's earlier last month, which would explain all of the topology changes.
    I can provide any other information if it is useful. I am just confused!

    I identified the problem.
    Refer to
    http://www.cisco.com/en/US/docs/switches/datacenter/sw/4_2/nx-os/interfaces/configuration/guide/if_vPC.html
    for more information.
    The problem I encountered was self-inflicted.
    Using the spanning-tree pseudo-information command creates a psuedo priority setup that if implemented after the global spanning-tree commands sits alongside the spanning-tree priority and vlan definitions. This is intended to allow for non-vPC VLANs to have their own spanning-tree definitions separate of the spanning-tree environment for the vPC vlans. I am not sure the best way to describe it, but if you are not running a hybrid vPC setup (where you have vPC member VLANs and non-vPC VLANS with a separate link between the 5596's for the non-vPC VLANs) this setup would help you ensure you have a stable spanning-tree and prevent unnecessary blocking.
    When I enabled this command, I applied it to the vPC VLAN's as well, and that caused the Nexus 4001i's vPC links to constantly change port role, and update all of the edge ports subsequently. While I didn't see a performance impact to end hosts (not much traffic is on the Nexus DataCenter environment yet), I did get a torrent of logs as shown above.
    Once I removed the spanning-tree pseudo-information, the switches quieted down and spanning-tree stabilized on the Nexus 4001i's.
    I will revisit the configuration though for trunks not using vPC if it is needed.

  • Adobe.mst file works in XP, but not in Windows 7

    I have a little problem with customizing adobe in windows 7.
    I have created a MST file in adobe costomization wizard 9, using XP, and when deploying it on a windows 7 client, it just deploy the msi file.
    this is what i run:
    msiexec.exe /qn ALLUSERS=2 /m MSIJDGEJ /norestart /i "AdbeRdr930_nb_NO.msi" TRANSFORMS="AdbeRdr930_nb_NO.mst"
    Do i have to create the MST file from a windows 7 client?
    Best

    Nevermind, turns out that FF just didn't close properly when I was editing that file, after forcing it to close using taskmanager and starting again that userchrome.css worked just fine. Bug in closing the FF in this case.

  • Shared Calendar Interoperability (2013 / 2007)

    Hello,
    We have two Exchange servers in our Organization, a 2007 where most mailboxes reside, and a 2013 where we are slowly doing a one off user migration here and there to test the waters so to speak.
    We have users that constantly have/had problems with Outlook freezing on send, or other connectivity issues.  These are our first target people to move to the new server.  I have one user who I moved yesterday who is trying to share a calendar
    she calls "Managers Schedules" to other managers.  She created this calendar and keep in mind she is on the 2013 server now.  She shared it with reviewer permissions to 4 other employees but those 4 others are still on the 2007 server.
     The other people are getting an email with links to view the calendar but they say that they cannot open it.  The person sending this is also getting a message that they should publish the calendar.  When they click yes to that, IE opens up
    to Outlook Web Access????  I said lets just see what happens if you log into OWA.  She did and it gave her some options to make the calendar public or private and it gave her two links to copy.   Now I was able to open the one link... it downloaded
    an ical file, however I am on the 2013 server.  No one else can open the links.
    So long story short, is there any kind of interoperability between shared calendars on Exchange 2007 and 2013 (vice versa)?  Or am I going to have to move these 4 other users to the new server, which in turn will likely cause a chain reaction since
    they are managers and have access to their employees email inboxes as additional mailboxes in Outlook.

    Hi,
    We can’t directly share the calendar which is not the default calendar for a user. Generally, we would share a custom calendar by the following steps:
    Right-click the custom Calendar, click Share > E-mail Calendar. Then the calendar would be added as an attachment in a message.
    When the recipients receive the message, click Open this Calendar, a window would be prompted out to ask if add this Internet Calendar to Outlook. You should only open Calendars from sources you know and trust.
    Please e-mail calendar in Outlook Online mode by the steps above. Then check whether the issue persists.
    Regards,
    Winnie Liang
    TechNet Community Support

Maybe you are looking for

  • To set reason for rejection for 3rd party order materials

    Hello, I have created the sales order with normal and 3 party materials, with reference to this order i have created the purchase order and delivered normal materials. after some period i am trying to put the reason for rejection code for 3 rd party

  • Help! My .psd files do not have photoshop icons, but generic icons from windows.

    Now that I've installed my new windows CS6, all my .psd files have the 'generic icons' windows give to files they don't recognize.  Everything else has normal icons (i.e. Illustrator files) but the Photoshop files are blank.  This is true whether I'm

  • Edited mesh object--now can't redo clipping mask!!!

    I edited the color properties of a mesh object that had a shaped clipping mask. Now I'd like to reapply the mask, but Illustrator, in its uniquely enigmatic fashion, will not allow that option in the layers palette. Any ideas on what could possibly b

  • Dynamic slideshow with pictures and Flash Video

    I want to make a dynamic slideshow that shall include both pictures and Flash Video. The user shall only have to put the files (images/video) into a folder (for example with FTP or an admin-utility) and then the Flash slideshow should present theese

  • Dynamically find ClientID in javascript

    Hello, I have a requirement to find the ADF's component( Output Text ) Client ID dynamically in my Javascript code . The Javascript is called during initial loading , I cannot have an event associated with output text that can get me clientID by "get