This chapter includes tasks for starting your interface configuration for the ASA 5510 and higher, including configuring Ethernet settings, redundant interfaces, and EtherChannels.
For multiple context mode, complete all tasks in this section in the system execution space. To change from the context to the system execution space, enter the changeto system command.
For RJ-45 interfaces on the ASA 5500 series, the default auto-negotiation setting also includes the Auto-MDI/MDIX feature. Auto-MDI/MDIX eliminates the need for crossover cabling by performing an internal crossover when a straight cable is detected during the auto-negotiation phase. Either the speed or duplex must be set to auto-negotiate to enable Auto-MDI/MDIX for the interface. If you explicitly set both the speed and duplex to a fixed value, thus disabling auto-negotiation for both settings, then Auto-MDI/MDIX is also disabled. For Gigabit Ethernet, when the speed and duplex are set to 1000 and full, then the interface always auto-negotiates; therefore Auto-MDI/MDIX is always enabled and you cannot disable it.
Interfaces in transparent mode belong to a "bridge group," one bridge group for each network. You can have up to eight bridge groups of four interfaces each per context or in single mode. For more information about bridge groups, see the "Bridge Groups in Transparent Mode" section.
1.By default, the Management 0/0 interface is configured for management-only traffic (the management-only command). For supported models in routed mode, you can remove the limitation and pass through traffic. If your model includes additional Management interfaces, you can use them for through traffic as well. The Management interfaces might not be optimized for through-traffic, however.
2.The Management 0/0 interface is configured for ASDM access as part of the default factory configuration. See the "Factory Default Configurations" section for more information.
3.If you installed an SSP in slot 1, then Management 1/0 and 1/1 provide management access to the SSP in slot 1 only.
Note If you installed an IPS module, then the IPS module management interface(s) provides management access for the IPS module only. For the ASA 5512-X through ASA 5555-X, the IPS SSP software module uses the same physical Management 0/0 interface as the ASA.
You can use any interface as a dedicated management-only interface by configuring it for management traffic, including an EtherChannel interface (see the management-only command).
In transparent firewall mode, in addition to the maximum allowed through-traffic interfaces, you can also use the Management interface (either the physical interface, a subinterface (if supported for your model), or an EtherChannel interface comprised of Management interfaces (if you have multiple Management interfaces)) as a separate management interface. You cannot use any other interface types as management interfaces.
If your model does not include a Management interface, you must manage the transparent firewall from a data interface.
In multiple context mode, you cannot share any interfaces, including the Management interface, across contexts. To provide management per context, you can create subinterfaces of the Management interface and allocate a Management subinterface to each context. Note that the ASA 5512-X through ASA 5555-X do not allow subinterfaces on the Management interface, so for per-context management, you must connect to a data interface.
For 8.4(1) and later, the management interface is not part of a normal bridge group. Note that for operational purposes, it is part of a non-configurable bridge group.
Note In transparent firewall mode, the management interface updates the MAC address table in the same manner as a data interface; therefore you should not connect both a management and a data interface to the same switch unless you configure one of the switch ports as a routed port (by default Cisco Catalyst switches share a MAC address for all VLAN switch ports). Otherwise, if traffic arrives on the management interface from the physically-connected switch, then the ASA updates the MAC address table to use the management interface to access the switch, instead of the data interface. This action causes a temporary traffic interruption; the ASA will not re-update the MAC address table for packets from the switch to the data interface for at least 30 seconds for security reasons.
Redundant interfaces do not support Management slot / port interfaces as members. You also cannot set a redundant interface comprised of non-Management interfaces as management-only.
The IPS SSP software module shares the Management 0/0 interface. Separate MAC addresses and IP addresses are supported for the ASA and IPS module. You must perform configuration of the IPS IP address within the IPS operating system. However, physical characteristics (such as enabling the interface) are configured on the ASA.
A logical redundant interface consists of a pair of physical interfaces: an active and a standby interface. When the active interface fails, the standby interface becomes active and starts passing traffic. You can configure a redundant interface to increase the ASA reliability. This feature is separate from device-level failover, but you can configure redundant interfaces as well as device-level failover if desired.
The redundant interface uses the MAC address of the first physical interface that you add. If you change the order of the member interfaces in the configuration, then the MAC address changes to match the MAC address of the interface that is now listed first. Alternatively, you can assign a MAC address to the redundant interface, which is used regardless of the member interface MAC addresses (see the "Configuring the MAC Address and MTU" section or the "Configuring Multiple Contexts" section). When the active interface fails over to the standby, the same MAC address is maintained so that traffic is not disrupted.
An 802.3ad EtherChannel is a logical interface (called a port-channel interface) consisting of a bundle of individual Ethernet links (a channel group) so that you increase the bandwidth for a single network. A port channel interface is used in the same way as a physical interface when you configure interface-related features.
You can configure up to 48 EtherChannels.
Each channel group can have eight active interfaces. Note that you can assign up to 16 interfaces to a channel group. While only eight interfaces can be active, the remaining interfaces can act as standby links in case of interface failure.
All interfaces in the channel group must be the same type and speed. The first interface added to the channel group determines the correct type and speed.
The EtherChannel aggregates the traffic across all the available active interfaces in the channel. The port is selected using a proprietary hash algorithm, based on source or destination MAC addresses, IP addresses, TCP and UDP port numbers and vlan numbers.
The device to which you connect the ASA EtherChannel must also support 802.3ad EtherChannels; for example, you can connect to the Catalyst 6500 switch.
When the switch is part of a Virtual Switching System (VSS), then you can connect ASA interfaces within the same EtherChannel to separate switches in the VSS. The switch interfaces are members of the same EtherChannel port-channel interface, because the separate switches act like a single switch (see Figure 12-1).
If you use the ASA in an Active/Standby failover deployment, then you need to create separate EtherChannels on the switches in the VSS, one for each ASA (see Figure 12-1). On each ASA, a single EtherChannel connects to both switches. Even if you could group all switch interfaces into a single EtherChannel connecting to both ASAs (in this case, the EtherChannel will not be established because of the separate ASA system IDs), a single EtherChannel would not be desirable because you do not want traffic sent to the standby ASA.
The Link Aggregation Control Protocol (LACP) aggregates interfaces by exchanging the Link Aggregation Control Protocol Data Units (LACPDUs) between two network devices.
Active—Sends and receives LACP updates. An active EtherChannel can establish connectivity with either an active or a passive EtherChannel. You should use the active mode unless you need to minimize the amount of LACP traffic.
Passive—Receives LACP updates. A passive EtherChannel can only establish connectivity with an active EtherChannel.
On—The EtherChannel is always on, and LACP is not used. An "on" EtherChannel can only establish a connection with another "on" EtherChannel.
LACP coordinates the automatic addition and deletion of links to the EtherChannel without user intervention. It also handles misconfigurations and checks that both ends of member interfaces are connected to the correct channel group. "On" mode cannot use standby interfaces in the channel group when an interface goes down, and the connectivity and configurations are not checked.
The ASA distributes packets to the interfaces in the EtherChannel by hashing the source and destination IP address of the packet (this criteria is configurable; see the "Customizing the EtherChannel" section). The hash result is a 3-bit value (0 to 7).
The eight hash result values are distributed in a round robin fashion between the channel group interfaces, starting with the interface with the lowest ID (slot/port). For example, all packets with a hash result of 0 go to GigabitEthernet 0/0, packets with a hash result of 1 go to GigabitEthernet 0/1, packets with a hash result of 2 go to GigabitEthernet 0/2, and so on.
Because there are eight hash result values regardless of how many active interfaces are in the EtherChannel, packets might not be distributed evenly depending on the number of active interfaces.
Table 12-2 shows the load balancing amounts per interface for each number of active interfaces. The active interfaces in bold have even distribution.
If an active interface goes down and is not replaced by a standby interface, then traffic is rebalanced between the remaining links. The failure is masked from both Spanning Tree at Layer 2 and the routing table at Layer 3, so the switchover is transparent to other network devices.
All interfaces that are part of the channel group share the same MAC address. This feature makes the EtherChannel transparent to network applications and users, because they only see the one logical connection; they have no knowledge of the individual links.
The port-channel interface uses the lowest numbered channel group interface MAC address as the port-channel MAC address. Alternatively you can manually configure a MAC address for the port-channel interface. In multiple context mode, you can automatically assign unique MAC addresses to interfaces, including an EtherChannel port interface. We recommend manually, or in multiple context mode, automatically configuring a unique MAC address in case the group channel interface membership changes. If you remove the interface that was providing the port-channel MAC address, then the port-channel MAC address changes to the next lowest numbered interface, thus causing traffic disruption.
Base License—All interfaces Fast Ethernet.
Security Plus License—Ethernet 0/0 and 0/1: Gigabit Ethernet; all others Fast Ethernet.
For transparent mode, you can configure up to eight bridge groups per context or for a single mode device.
Each bridge group can include up to four interfaces.
For multiple context, transparent mode, each context must use different interfaces; you cannot share an interface across contexts.
When you use a redundant or EtherChannel interface as a failover link, it must be pre-configured on both units in the failover pair; you cannot configure it on the primary unit and expect it to replicate to the secondary unit because the failover link itself is required for replication.
If you use a redundant or EtherChannel interface for the state link, no special configuration is required; the configuration can replicate from the primary unit as normal.
You can monitor redundant or EtherChannel interfaces for failover using the monitor-interface command; be sure to reference the logical redundant interface name. When an active member interface fails over to a standby interface, this activity does not cause the redundant or EtherChannel interface to appear to be failed when being monitored for device-level failover. Only when all physical interfaces fail does the redundant or EtherChannel interface appear to be failed (for an EtherChannel interface, the number of member interfaces allowed to fail is configurable).
If you use an EtherChannel interface for a failover or state link, then to prevent out-of-order packets, only one interface in the EtherChannel is used. If that interface fails, then the next interface in the EtherChannel is used. You cannot alter the EtherChannel configuration while it is in use as a failover link. To alter the configuration, you need to either shut down the EtherChannel while you make changes, or temporarily disable failover; either action prevents failover from occurring for the duration.
Although you can configure failover and failover state links on a port channel link, this port channel cannot be shared with other firewall traffic.
You can configure up to 8 redundant interface pairs.
All ASA configuration refers to the logical redundant interface instead of the member physical interfaces.
You cannot use a redundant interface as part of an EtherChannel, nor can you use an EtherChannel as part of a redundant interface. You cannot use the same physical interfaces in a redundant interface and an EtherChannel interface. You can, however, configure both types on the ASA if they do not use the same physical interfaces.
If you shut down the active interface, then the standby interface becomes active.
For failover guidelines, see the "Failover Guidelines" section.
The ASA does not support LACPDUs that are VLAN-tagged. If you enable native VLAN tagging on the neighboring switch using the Cisco IOS vlan dot1Q tag native command, then the ASA will drop the tagged LACPDUs. Be sure to disable native VLAN tagging on the neighboring switch. In multiple context mode, these messages are not included in a packet capture, so you cannot diagnose the issue effectively.
The ASA does not support connecting an EtherChannel to a switch stack. If the ASA EtherChannel is connected cross stack, and if the Master switch is powered down, then the EtherChannel connected to the remaining switch will not come up.
All ASA configuration refers to the logical EtherChannel interface instead of the member physical interfaces.
You cannot use interfaces on the 4GE SSM, including the integrated 4GE SSM in slot 1 on the ASA 5550, as part of an EtherChannel.
This section lists default settings for interfaces if you do not have a factory default configuration. For information about the factory default configurations, see the "Factory Default Configurations" section.
The default state of an interface depends on the type and the context mode.
In multiple context mode, all allocated interfaces are enabled by default, no matter what the state of the interface is in the system execution space. However, for traffic to pass through the interface, the interface also has to be enabled in the system execution space. If you shut down an interface in the system execution space, then that interface is down in all contexts that share it.
Redundant Interfaces—Enabled. However, for traffic to pass through the redundant interface, the member physical interfaces must also be enabled.
Subinterfaces—Enabled. However, for traffic to pass through the subinterface, the physical interface must also be enabled.
EtherChannel port-channel interfaces—Enabled. However, for traffic to pass through the EtherChannel, the channel group physical interfaces must also be enabled.
By default, the speed and duplex for copper (RJ-45) interfaces are set to auto-negotiate.
The fiber interface for the ASA 5550 (slot 1) and the 4GE SSM has a fixed speed and does not support duplex, but you can set the interface to negotiate link parameters (the default) or not to negotiate.
For fiber interfaces for the ASA 5580 and 5585-X, the speed is set for automatic link negotiation.
The ASA 5550 (slot 1) and the 4GE SSM for the ASA 5510 and higher ASA include two connector types: copper RJ-45 and fiber SFP. RJ-45 is the default. You can configure the ASA to use the fiber SFP connectors.
By default, the physical interface uses the burned-in MAC address, and all subinterfaces of a physical interface use the same burned-in MAC address.
Note If you have an existing configuration, and want to convert interfaces that are in use to a redundant or EtherChannel interface, perform your configuration offline to minimize disruption. See the "Converting In-Use Interfaces to a Redundant or EtherChannel Interface" section.
Step 1 (Multiple context mode) Complete all tasks in this section in the system execution space. To change from the context to the system execution space, enter the changeto system command.
Step 2 Enable the physical interface, and optionally change Ethernet parameters. See the "Enabling the Physical Interface and Configuring Ethernet Parameters" section.
Physical interfaces are disabled by default.
Step 3 (Optional) Configure redundant interface pairs. See the "Configuring a Redundant Interface" section.
A logical redundant interface pairs an active and a standby physical interface. When the active interface fails, the standby interface becomes active and starts passing traffic.
Step 4 (Optional) Configure an EtherChannel. See the "Configuring an EtherChannel" section.
An EtherChannel groups multiple Ethernet interfaces into a single logical interface.
Note You cannot use interfaces on the 4GE SSM, including the integrated 4GE SSM in slot 1 on the ASA 5550, as part of an EtherChannel.
Step 5 (Optional) Configure VLAN subinterfaces. See the "Configuring VLAN Subinterfaces and 802.1Q Trunking" section.
Step 6 (Optional) Enable jumbo frame support on the ASA 5580 and 5585-X according to the "Enabling Jumbo Frame Support (Supported Models)" section.
To assign interfaces to contexts, see the "Configuring a Security Context" section.
(Optional) To automatically assign unique MAC addresses to context interfaces, see the "Automatically Assigning MAC Addresses to Context Interfaces" section.
The MAC address is used to classify packets within a context. If you share an interface, but do not have unique MAC addresses for the interface in each context, then the destination IP address is used to classify packets. Alternatively, you can manually assign MAC addresses within the context according to the "Configuring the MAC Address and MTU" section.
If you have an existing configuration and want to take advantage of the redundant or EtherChannel interface feature for interfaces that are currently in use, you will have some amount of downtime when you convert to the logical interfaces.
This section provides an overview of how to convert your existing interfaces to a redundant or EtherChannel interface with minimal downtime. See the "Configuring a Redundant Interface" section and the "Configuring an EtherChannel" section fore more information.
Because you cannot add a named interface as a member of a redundant or EtherChannel interface, you must remove the name from the interface. When you remove the name from the interface, any command that referred to that name is deleted. Because commands that refer to interface names are widespread throughout the configuration and affect multiple features, removing a name from an in-use interface at the CLI or in ASDM would cause significant damage to your configuration, not to mention significant downtime while you reconfigure all your features around a new interface name.
Changing your configuration offline lets you use the same interface names for your new logical interfaces, so you do not need to touch the feature configurations that refer to interface names. You only need to change the interface configuration.
Clearing the running configuration and immediately applying a new configuration will minimize the downtime of your interfaces. You will not be waiting to configure the interfaces in real time.
Step 1 Connect to the ASA; if you are using failover, connect to the active ASA.
Step 2 If you are using failover, disable failover by entering the no failover command.
Step 3 Copy the running configuration by entering the more system:running-config command and copying the display output to a text editor.
Be sure to save an extra copy of the old configuration in case you make an error when you edit it.
Note You can only add physical interfaces to an EtherChannel or redundant interface; you cannot have VLANs configured for the physical interfaces.
Be sure to match the above values for all interfaces in a given EtherChannel or redundant interface. Note that the duplex setting for an EtherChannel interface must be Full or Auto.
For example, you have the following interface configuration. The bolded commands are the ones we want to use with three new EtherChannel interfaces, and that you should cut and paste to the end of the interface section.
Where the physical interfaces are any two interfaces of the same type (either formerly in use or unused). You cannot assign a Management interface to a redundant interface.
EtherChannel interface—Enter the following command under each interface you want to add to the EtherChannel (either formerly in use or unused). You can assign up to 16 interfaces per EtherChannel, although only eight can be active; the others are in a standby state in case of failure.
Step 7 Enable each formerly unused interface that is now part of a logical interface by adding no in front of the shutdown command.
Note Other optional EtherChannel parameters can be configured after you import the new configuration. See the "Configuring an EtherChannel" section.
Step 8 At the ASA CLI prompt, perform the following steps depending on your connection (console or remote).
a. Copy the entire new configuration to the clipboard, including the altered interface section.
Traffic through the ASA stops at this point.
c. Paste in the new configuration at the prompt.
Traffic through the ASA resumes.
a. Save the new configuration to a TFTP or FTP server, so you can copy it to the startup configuration on the ASA. For example, you can run a TFTP or FTP server on your PC.
d. Reload the ASA using the reload command. Do not save the running configuration.
Step 9 Reenable failover by entering the failover command.
Because you cannot add an allocated interface as a member of a redundant or EtherChannel interface, you must deallocate the interface from any contexts. When you deallocate the interface, any context command that referred to that interface is deleted. Because commands that refer to interfaces are widespread throughout the configuration and affect multiple features, removing an allocation from an in-use interface at the CLI or in ASDM would cause significant damage to your configuration, not to mention significant downtime while you reconfigure all your features around a new interface.
Clearing the running system configuration and immediately applying a new configuration will minimize the downtime of your interfaces. You will not be waiting to configure the interfaces in real time.
Step 1 Connect to the ASA, and change to the system; if you are using failover, connect to the active ASA.
Step 3 In the system, copy the running configuration by entering the more system:running-config command and copying the display output to a text editor.
For example, you have the following interface configuration and allocation in the system configuration, with shared interfaces between two contexts.
Step 4 Get copies of all context configurations that will use the new EtherChannel or redundant interface. See the "Backing Up a Context Configuration or Other File in Flash Memory" section.
Step 5 In the system configuration, create the new logical interfaces according to the "Configuring a Redundant Interface" section or the "Configuring an EtherChannel" section. Be sure to enter the no shutdown command on any additional physical interfaces you want to use as part of the logical interface.
Be sure to match physical interface parameters such as speed and duplex for all interfaces in a given EtherChannel or redundant interface. Note that the duplex setting for an EtherChannel interface must be Full or Auto.
Step 6 Change the interface allocation per context to use the new EtherChannel or redundant interfaces. See the "Configuring a Security Context" section.
Note You might want to take this opportunity to assign mapped names to interfaces if you have not done so already. For example, the configuration for customerA does not need to be altered at all; it just needs to be reapplied on the ASA. The customerB configuration, however, needs to have all of the interface IDs changed; if you assign mapped names for customerB, you still have to change the interface IDs in the context configuration, but mapped names might help future interface changes.
Step 8 Copy the new context configuration files over the old ones. For example, if your contexts are on an FTP server, copy over the existing files (making backups as desired) using FTP. If your contexts are in flash memory, you can use the copy command and run a TFTP or FTP server on your PC, or use secure copy. See the "Downloading a File to a Specific Location" section. This change only affects the startup configuration; the running configuration is still using the old context configuration.
Step 9 At the ASA system CLI prompt, perform the following steps depending on your connection (console or remote).
a. Copy the entire new system configuration to the clipboard, including the altered interface section.
c. Paste in the new system configuration at the prompt.
All of the new context configurations now reload. When they are finished reloading, traffic through the ASA resumes.
a. Save the new system configuration to a TFTP or FTP server, so you can copy it to the startup configuration on the ASA. For example, you can run a TFTP or FTP server on your PC.
Step 10 Reenable failover by entering the failover command.
For multiple context mode, complete this procedure in the system execution space. To change from the context to the system execution space, enter the changeto system command.
Specifies the interface you want to configure.
where the physical_interface ID includes the type, slot, and port number as type [ slot / ] port.
Enter the type followed by slot / port, for example, gigabitethernet0/1 or ethernet 0/1. A space is optional between the type and the slot/port.
Sets the media type to SFP, if available for your model. To restore the default RJ-45, enter the media-type rj45 command.
For copper interfaces, the default setting is auto.
For SFP interfaces, the default setting is no speed nonegotiate, which sets the speed to the maximum speed and enables link negotiation for flow-control parameters and remote fault information. The nonegotiate keyword is the only keyword available for SFP interfaces. The speed nonegotiate command disables link negotiation.
Sets the duplex for copper interfaces. The auto setting is the default.
Note The duplex setting for an EtherChannel interface must be Full or Auto.
Enables pause (XOFF) frames for flow control on 1-Gigabit and 10-Gigabit Ethernet interfaces.
If you have a traffic burst, dropped packets can occur if the burst exceeds the buffering capacity of the FIFO buffer on the NIC and the receive ring buffers. Enabling pause frames for flow control can alleviate this issue. Pause (XOFF) and XON frames are generated automatically by the NIC hardware based on the FIFO buffer usage. A pause frame is sent when the buffer usage exceeds the high-water mark. The default high_water value is 128 KB (10 GigabitEthernet) and 24 KB (1 GigabitEthernet); you can set it between 0 and 511 (10 GigabitEthernet) or 0 and 47 KB (1 GigabitEthernet). After a pause is sent, an XON frame can be sent when the buffer usage is reduced below the low-water mark. By default, the low_water value is 64 KB (10 GigabitEthernet) and 16 KB (1 GigabitEthernet); you can set it between 0 and 511 (10 GigabitEthernet) or 0 and 47 KB (1 GigabitEthernet). The link partner can resume traffic after receiving an XON, or after the XOFF expires, as controlled by the timer value in the pause frame. The default pause_time value is 26624; you can set it between 0 and 65535. If the buffer usage is consistently above the high-water mark, pause frames are sent repeatedly, controlled by the pause refresh threshold value.
Changing flow-control parameters will reset the interface. Packets may be lost during the reset.
To change the parameters without being prompted, use the noconfirm keyword.
Note Only flow control frames defined in 802.3x are supported. Priority-based flow control is not supported.
Enables the interface. To disable the interface, enter the shutdown command. If you enter the shutdown command, you also shut down all subinterfaces. If you shut down an interface in the system execution space, then that interface is shut down in all contexts that share it.
Configure redundant interface pairs. See the "Configuring a Redundant Interface" section.
Configure an EtherChannel. See the "Configuring an EtherChannel" section.
Configure VLAN subinterfaces. See the "Configuring VLAN Subinterfaces and 802.1Q Trunking" section.
For multiple context mode, assign interfaces to contexts and automatically assign unique MAC addresses to context interfaces. See the "Configuring Multiple Contexts" section.
A logical redundant interface consists of a pair of physical interfaces: an active and a standby interface. When the active interface fails, the standby interface becomes active and starts passing traffic. You can configure a redundant interface to increase the ASA reliability. This feature is separate from device-level failover, but you can configure redundant interfaces as well as failover if desired.
This section describes how to create a redundant interface. By default, redundant interfaces are enabled.
Redundant interface delay values are configurable, but by default the ASA inherits the default delay values based on the physical type of its member interfaces.
See also the "Redundant Interface Guidelines" section.
Both member interfaces must be of the same physical type. For example, both must be Ethernet.
You cannot add a physical interface to the redundant interface if you configured a name for it. You must first remove the name using the no nameif command.
Caution If you are using a physical interface already in your configuration, removing the name will clear any configuration that refers to the interface.
Adds the logical redundant interface, where the number argument is an integer between 1 and 8.
Note You need to add at least one member interface to the redundant interface before you can configure logical parameters for it such as a name.
Adds the first member interface to the redundant interface.
See the "Enabling the Physical Interface and Configuring Ethernet Parameters" section for a description of the physical interface ID.
Redundant interfaces do not support Management slot / port interfaces as members.
After you add the interface, any configuration for it (such as an IP address) is removed.
Adds the second member interface to the redundant interface.
Make sure the second interface is the same physical type as the first interface.
To remove a member interface, enter the no member-interface physical_interface command. You cannot remove both member interfaces from the redundant interface; the redundant interface requires at least one member interface.
where the redundant number argument is the redundant interface ID, such as redundant1.
The physical_interface is the member interface ID that you want to be active.
This section describes how to create an EtherChannel port-channel interface, assign interfaces to the EtherChannel, and customize the EtherChannel.
This section describes how to create an EtherChannel port-channel interface and assign interfaces to the EtherChannel. By default, port-channel interfaces are enabled.
See also the "EtherChannel Guidelines" section.
All interfaces in the channel group must be the same type, speed, and duplex. Half duplex is not supported.
You cannot add a physical interface to the channel group if you configured a name for it. You must first remove the name using the no nameif command.
Specifies the interface you want to add to the channel group, where the physical_interface ID includes the type, slot, and port number as type [ slot / ] port. This first interface in the channel group determines the type and speed for all other interfaces in the group.
In transparent mode, if you create a channel group with multiple Management interfaces, then you can use this EtherChannel as the management-only interface.
We recommend using active mode. For information about active, passive, and on modes, see the "Link Aggregation Control Protocol" section.
Sets the priority for a physical interface in the channel group between 1 and 65535. The default is 32768. The higher the number, the lower the priority. The ASA uses this setting to decide which interfaces are active and which are standby if you assign more interfaces than can be used. If the port priority setting is the same for all interfaces, then the priority is determined by the interface ID (slot/port). The lowest interface ID is the highest priority. For example, GigabitEthernet 0/0 is a higher priority than GigabitEthernet 0/1.
If you want to prioritize an interface to be active even though it has a higher interface ID, then set this command to have a lower value. For example, to make GigabitEthernet 1/3 active before GigabitEthernet 0/7, then make the lacp port-priority value be 12345 on the 1/3 interface vs. the default 32768 on the 0/7 interface.
If the device at the other end of the EtherChannel has conflicting port priorities, the system priority is used to determine which port priorities to use. See the lacp system-priority command in the "Customizing the EtherChannel" section.
Repeat steps 1 through 5 for each interface you want to add to the channel group.
Each interface in the channel group must be the same type and speed. Half duplex is not supported. If you add an interface that does not match, it will be placed in a suspended state.
Customize the EtherChannel interface. See the "Customizing the EtherChannel" section.
This section describes how to set the maximum number of interfaces in the EtherChannel, the minimum number of operating interfaces for the EtherChannel to be active, the load balancing algorithm, and other optional parameters.
Specifies the port-channel interface. This interface was created automatically when you added an interface to the channel group. If you have not yet added an interface, then this command creates the port-channel interface.
Note You need to add at least one member interface to the port-channel interface before you can configure logical parameters for it such as a name.
Specifies the maximum number of active interfaces allowed in the channel group, between 1 and 8. The default is 8.
Specifies the minimum number of active interfaces required for the port-channel interface to become active, between 1 and 8. The default is 1. If the active interfaces in the channel group falls below this value, then the port-channel interface goes down, and could trigger a device-level failover.
Configures the load-balancing algorithm. By default, the ASA balances the packet load on interfaces according to the source and destination IP address (src-dst-ip) of the packet. If you want to change the properties on which the packet is categorized, use this command. For example, if your traffic is biased heavily towards the same source and destination IP addresses, then the traffic assignment to interfaces in the EtherChannel will be unbalanced. Changing to a different algorithm can result in more evenly distributed traffic. For more information about load balancing, see the "Load Balancing" section.
Sets the LACP system priority, from 1 to 65535. The default is 32768. The higher the number, the lower the priority. This command is global for the ASA.
If the device at the other end of the EtherChannel has conflicting port priorities, the system priority is used to determine which port priorities to use. For interface priorities within an EtherChannel, see the lacp port-priority command in the "Adding Interfaces to the EtherChannel" section.
You can set the Ethernet properties for the port-channel interface to override the properties set on the individual interfaces.
This method provides a shortcut to set these parameters because these parameters must match for all interfaces in the channel group. See the "Enabling the Physical Interface and Configuring Ethernet Parameters" section for Ethernet commands.
Subinterfaces let you divide a physical, redundant, or EtherChannel interface into multiple logical interfaces that are tagged with different VLAN IDs. An interface with one or more VLAN subinterfaces is automatically configured as an 802.1Q trunk. Because VLANs allow you to keep traffic separate on a given physical interface, you can increase the number of interfaces available to your network without adding additional physical interfaces or ASAs. This feature is particularly useful in multiple context mode so that you can assign unique interfaces to each context.
Maximum subinterfaces—To determine how many VLAN subinterfaces are allowed for your platform, see the "Licensing Requirements for ASA 5510 and Higher Interfaces" section.
Preventing untagged packets on the physical interface—If you use subinterfaces, you typically do not also want the physical interface to pass traffic, because the physical interface passes untagged packets. This property is also true for the active physical interface in a redundant interface pair. Because the physical or redundant interface must be enabled for the subinterface to pass traffic, ensure that the physical or redundant interface does not pass traffic by leaving out the nameif command. If you want to let the physical or redundant interface pass untagged packets, you can configure the nameif command as usual. See "Completing Interface Configuration (Routed Mode)," or "Completing Interface Configuration (Transparent Mode)," for more information about completing the interface configuration.
(ASA 5512-X through ASA 5555-X) You cannot configure subinterfaces on the Management 0/0 interface.
Specifies the new subinterface. See the "Enabling the Physical Interface and Configuring Ethernet Parameters" section for a description of the physical interface ID.
The redundant number argument is the redundant interface ID, such as redundant 1.
The port-channel number argument is the EtherChannel interface ID, such as port-channel 1.
The subinterface ID is an integer between 1 and 4294967293.
Specifies the VLAN for the subinterface. The vlan_id is an integer between 1 and 4094. Some VLAN IDs might be reserved on connected switches, so check the switch documentation for more information.
You can only assign a single VLAN to a subinterface, and you cannot assign the same VLAN to multiple subinterfaces. You cannot assign a VLAN to the physical interface. Each subinterface must have a VLAN ID before it can pass traffic. To change a VLAN ID, you do not need to remove the old VLAN ID with the no option; you can enter the vlan command with a different VLAN ID, and the ASA changes the old ID.
(Optional) For the ASA 5580 and 5585-X, enable jumbo frame support according to the "Enabling Jumbo Frame Support (Supported Models)" section.
A jumbo frame is an Ethernet packet larger than the standard maximum of 1518 bytes (including Layer 2 header and FCS), up to 9216 bytes. You can enable support for jumbo frames for all interfaces by increasing the amount of memory to process Ethernet frames. Assigning more memory for jumbo frames might limit the maximum use of other features, such as access lists.
In multiple context mode, set this option in the system execution space.
Changes in this setting require you to reload the ASA.
Be sure to set the MTU for each interface that needs to transmit jumbo frames to a higher value than the default 1500; for example, set the value to 9000 using the mtu command. See the "Configuring the MAC Address and MTU" section. In multiple context mode, set the MTU within each context.
Enables jumbo frame support for the ASA 5580 and 5585-X. To disable jumbo frames, use the no form of this command.
Displays interface IP addresses and status.
For EtherChannel, displays LACP information such as traffic statistics, system identifier and neighbor details.
For EtherChannel, displays EtherChannel information in a detailed and one-line summary form. This command also displays the port and port-channel information.
For EtherChannel, displays port-channel load-balance information along with the hash result and member interface selected for a given set of parameters.
The following example configures three interfaces as part of an EtherChannel. It also sets the system priority to be a higher priority, and GigabitEthernet 0/2 to be a higher priority than the other interfaces in case more than eight interfaces are assigned to the EtherChannel.
Table 12-3 lists the release history for this feature.
ASA5510 Base license VLANs from 0 to 10.
ASA5510 Security Plus license VLANs from 10 to 25.
ASA5520 VLANs from 25 to 100.
ASA5540 VLANs from 100 to 200.
For the Base license on the ASA 5510, the maximum number of interfaces was increased from 3 plus a management interface to unlimited interfaces.
VLAN limits were increased for the ASA 5510 (from 10 to 50 for the Base license, and from 25 to 100 for the Security Plus license), the ASA 5520 (from 100 to 150), the ASA 5550 (from 200 to 250).
The ASA 5510 ASA now supports GE (Gigabit Ethernet) for port 0 and 1 with the Security Plus license. If you upgrade the license from Base to Security Plus, the capacity of the external Ethernet0/0 and Ethernet0/1 ports increases from the original FE (Fast Ethernet) (100 Mbps) to GE (1000 Mbps). The interface names will remain Ethernet 0/0 and Ethernet 0/1. Use the speed command to change the speed on the interface and use the show interface command to see what speed is currently configured for each interface.
The Cisco ASA 5580 supports jumbo frames. A jumbo frame is an Ethernet packet larger than the standard maximum of 1518 bytes (including Layer 2 header and FCS), up to 9216 bytes. You can enable support for jumbo frames for all interfaces by increasing the amount of memory to process Ethernet frames. Assigning more memory for jumbo frames might limit the maximum use of other features, such as access lists.
This feature is also supported on the ASA 5585-X.
We introduced the following command: jumbo-frame reservation.
The number of VLANs supported on the ASA 5580 are increased from 100 to 250.
We introduced the following command: flowcontrol.
You can now enable pause (XOFF) frames for flow control for 1-Gigabit interfaces on all models.
You can configure up to 48 802.3ad EtherChannels of eight active interfaces each.
We introduced the following commands: channel-group, lacp port-priority, interface port-channel, lacp max-bundle, port-channel min-bundle, port-channel load-balance, lacp system-priority, clear lacp counters, show lacp, show port-channel.
Note EtherChannel is not supported on the ASA 5505.


Ursula Löckenhoff is an expert in keeping several dogs. She explains what you must watch for when keeping two or more dogs so that a harmonious group is created in which animals and humans are comfortable. With her unique approach, she shows how you create structures that allow each dog to participate, and how you communicate as a dog owner in such a way that you can successfully lead the entire group. This creates a real dog team in which each dog finds its task, and which also works very well during free runs and when meeting strange dogs.


text:
Riau Airlines war eine indonesische Fluggesellschaft mit Sitz auf dem Flughafen Sultan Syarif Kasim II. Sie war Eigentum der Regionalregierung der Provinz Riau.

Flugziele
Riau Airlines betrieb regionale Dienste innerhalb Indonesiens und nach Malaysia, meist aus ihrem Hub in Pekanbaru aus.

Flotte
Mit Stand vom Mai 2011 bestand die Flotte der Riau Airlines aus vier Flugzeugen:
 1 Boeing 737-300
 2 Boeing 737-500
 1 Fokker 50

Siehe auch
 Liste ehemaliger Fluggesellschaften (Asien)

Weblinks

 Webpräsenz der Riau Airlines (nicht mehr erreichbar)

Einzelnachweise

Ehemalige Fluggesellschaft (Indonesien)
Organisation (Riau)
Gegründet 2002
Aufgelöst 2011
Fluggesellschaft mit ehemaligem Betriebsverbot in der Europäischen Union

redpajama_set_name: RedPajamaWikipedia


One Piece Flexible Plastic Flex Bollard A highly visible flexible polyurethane bollard that is virtually indestructible.
A heavy duty galvanised steel chain. Sold by the metre, galvanised chain is generally used in tough environments. A range of split link joiners, shackles and snap hooks are also available for making connections.
Kerb ramps allow vehicle, trailer and trolley access over roadside kerbs or changes in height.


Wow, the blog is famous, ever since news broke yesterday of Ron Moss's City of Buffalo violation ticket. Moss, in case you are just checking in, yelled obscenities at an officer. This breaking story is being covered on the much-read blog of Buffalo Pundit as well as other news outlets throughout the area.
I should not be writing a book about Leonard Pennario. I should be writing about Ron Moss. Except it is a lot more fun to look at pictures of Leonard Pennario, I will say that.
Goodness, how I veer from topic. Back to Moss. We bring you an update: At a news conference today, Moss expressed his determination to fight the charges against him. We will put the word out when the date of trial is determined. Seats will go fast.
Here are things Moss says that are immortal.
1.) "Like a caged animal." Applies to how he feels when his wife won't let him leave the apartment.
2.) "Where can a white man get a sandwich in this one-horse town?" Uttered to a local when we were on a family junket to Davenport, Iowa.
3.) "Byron Brown!" This loud reference to our mayor is yelled in Metro buses.
4.) "Better than the wife." Tossed in the direction of females.
5.) "You're not too bad." Ditto.
I was going to do 10 but we will save the other five for another day. We can't shock all the newcomers who are being hooked today through Pundit's blog. We have to start them off easy.
And I thought the big news yesterday was going to be my new Water-Pik. It is the Steinway of Water-Piks. I am in love with this thing. You fill up this huge reservoir with water and .... oh, forget it.
Next to Moss, nothing is that interesting.
Is Ron Moss starting a trend? I heard the same obscenity on the street yesterday while I was delivering mail in Lockport. It was yelled by a (you might say) "blood brother in fashion sense" to a woman who was half a block away. He also threw in the familiar Saxon term for a female body part for lagniappe.
Still, it's all in the ear of the listener. There is a story that in the days when Liszt gave his piano classes in Weimar, the local police were fining all the young pianists living in town who were practicing with their windows open.
"Peas and the corn, honey, peas and corn"


text:
South Carolina Highway 105 (SC 105) is a  state highway in the U.S. state of South Carolina. The highway connects rural areas of Union and Cherokee counties.

Route description
SC 105 begins at an intersection with SC 49 (Lockhart Highway) south of Robat, in rural parts of northeastern Union County. It travels to the north and almost immediately intersects SC 9 (Jonesville–Lockhart Highway). The highway gradually moves to a more westerly routing, while still traveling north. It crosses over the Pacolet River on an unnamed bridge, where it enters Cherokee County. In Saratt, it intersects SC 211 (Gowdeysville Road). The two highways travel concurrently to the east-northeast. They split in a rural area, with SC 105 traveling to the north-northwest. It goes through Wilkinsville and intersects SC 329 (Victory Trail Road). In the southern part of Gaffney, the highway begins a concurrency with SC 18 (Frederick Street) near Limestone College. The concurrency only lasts about . It turns left onto Union Street, and follows that road until it meets College Drive. Then, it turns right, before turning left onto East Rutledge Avenue. It then turns left onto SC 150 (South Limestone Street). The two highways split when SC 105 turns right onto Corry Street. It then intersects U.S. Route 29 (US 29; Old Georgia Highway/South Granard Street). After a temporary departure from the city limits, where the highway passes a Freightliner plant, it meets its northern terminus, an interchange with Interstate 85. Here, the roadway continues as Hyatt Street.

Two connector routes of SC 105 exist in Cherokee County: One in Saratt carries Skull Shoals Road for  and acts as the southern leg of the SC 105/SC 211 wye intersection; the other is located southeast of Draytonville near the intersection of SC 329, it is  long and is a former segment of SC 105 carrying the name Wilkinsville Highway. Both are not signed with these special route numbers though the connector near Draytonville is signed as mainline southbound SC 105.

History

South Carolina Highway 103

South Carolina Highway 103 (SC 103) was a state highway that was established in December 1937 from SC 11 (now SC 18) in Gaffney to what is now SC 329 southeast of the city. In 1939, its northern terminus was extended through Gaffney to the North Carolina state line north-northwest of the city. Its southern terminus was also extended to just west of the Broad River, at an intersection with the northern terminus of SC 114. The next year, its northern terminus was truncated to SC 18 in Gaffney. Its former path was redesignated as SC 150. In 1947, SC 103 was decommissioned; most of its path was redesignated as SC 105.

Major intersections

Special routes

Saratt connector route

South Carolina Highway 105 Connector (SC 105 Conn.) is a  connector route between SC 105 and SC 211 in Saratt, which is in the southern part of Cherokee County. SC 105, SC 105 Conn., and SC 211 come together in a triangle shape. It is an unsigned highway.

The connector begins at an intersection with SC 211. It travels to the east-northeast. It curves to the southeast and reaches its eastern terminus, an intersection with the SC 105 mainline.

Cherokee County connector route

South Carolina Highway 105 Connector (SC 105 Conn.) is a  connector route that bypasses the intersection between SC 105 and SC 329 to the southwest. It is located in a rural portion of Cherokee County, at a point south-southeast of Draytonville. It is an unsigned highway.

The connector begins at an intersection with the SC 105 mainline. It travels to the west-northwest and immediately curves to the northwest. It curves to the north-northeast just before reaching its northern terminus, a second intersection with SC 105.

See also

References

External links

SC 105 South Carolina Highway Annex

105
Transportation in Union County, South Carolina
Transportation in Cherokee County, South Carolina
Gaffney, South Carolina


text:
Darpan (The Mirror)
Short Story by: IamSarthak
Status: Finished | Genre: Other | House: Booksie Classic
Darpan came back home, it was 7 o'clock in the morning. Put his cycle on stand and shouted, "Ma, where are you?" It is his habit, whenever he comes back home, he calls his mother, whether there's anything important to say to her or not, that doesn't matter. "Don't waste time, go take your bath, your father is waiting for you at Sen Babu's (Babu means master and Sen is the sir name) house."
Actually Darpan's father is a mason, there was a time when his father used to be a very popular mason in their town, he had his own team, they used to get full contract of building houses for individuals. In fact, his father with the help of his team built their own house. It's a very small house consist of two small room, the bathroom and a small passage that they use as kitchen. But Darpan loves his house, there are two reasons for that, firstly, it's their own house not a rented one which is a very big deal for him and secondly, it reflects the dedication of his father towards his father's work. But things have changed now; people usually contact big construction company for making their houses or they direct purchase flats. All of his father's associates joined different construction companies, but his father doesn't like to do the work under someone else's supervision. They behave very rude and don't even pay the minimum wages. But others don't care about the behavior or wages; they joined those companies because they thought there they would get work on a regular basis. His father has done so many works in their locality earlier, now those clients provide him some small construction work according to their need. Sen Babu's house was also made by his father, so whenever they need some small construction work to do, they called his father. That day they called his father to reconstruct the pavement which is located in their garden, it was a lot of work for a single person and they wanted it to be done in a single. So, his father needed his help there.
Darpan usually does many odd jobs to support his family, because his father doesn't get work on a regular basis like earlier. In the morning he distributes paper, then collects clothes from different houses and gives them to her mother, her mother does the laundry work to provide some financial support. After that, Darpan goes to the restaurant where he works as a cashier; he attains the day shift, so usually he comes back home around 5 O'clock at the afternoon and then he delivers the clothes which were already cleaned by her mother. After that he gets some time for himself, in that time he is studying for his exams. He wants to become a teacher one day, for that he is pursuing his graduation as a non-collegiate student.
His family couldn't afford their expenses if he would join a regular college, so he chose to get admission in non-collegiate mode, in this way he didn't have to attain the college, he just had to give the exams, so he thought it was the best options.
"Ok, give me the Gamcha and the soap, I am going to the pond", Darpan said to his mother. Gamcha is a towel-like thing, made of cotton strings that usually used to clean the body after taking a bath. He took the bath and came back, ate one Roti (hand-made bread) with a cup of tea and went to help his dad.
He did many small works at Sen Babu's house before, Sen Babu's wife loves him as a son and helped him in his school days by providing accessories several times. But every time she warned them repeatedly, not to mention about the help to anyone, because Sen Babu doesn't like this kind of charity. Apart from husband and wife in Sen Family there were two other members, their son and the mother of Sen Babu.
He reached there; his father already removed the old stones of the pavement and was leveling the surface of the pavement area.
"You are late, Sen Aunty was asking for you, go quickly", His father ordered him.
He went inside the house; Sen Babu was sitting on the chair in front of the dining table and was eating his breakfast. He entered into that room, stood in a distance and asked, "Was Aunty looking for me?" Hearing his voice, wife of Sen Babu came there from kitchen and said, "Here you are, wait a minute, I have made some custard, before you start all the dusty work, eat that first." He felt a little shy to eat in front of them, he took the bowl and left the room and ate it outside sitting on the floor at the porch. When he went back to the room he saw the old mother of Sen Babu was saying some harsh words to her son-in-law. He understood it was about giving him the custard, he felt sad but nothing was in his hand. He placed the empty bowl at the corner of dining table and asked, "Aunty, may I have some water?"
"Of course son." Said the lady and was going to pour some water into the glass from the jug which was on the table but the old lady stopped her. "These people live in an unsanitary environment, you already made him eat in the bowl that my grandson eats, now you are giving him water in the same glass that we use, stop, I am bringing water for him." Old lady said and went to the kitchen.
"Don't mind son, her thoughts are little different." Sen Babu's wife tried to ease the awkwardness of the situation.
"Take this bottle and when you finish the water, please return the bottle, it's a new bottle, don't ran away with it."Old lady said.
"Ok, grandma", Darpan replied.
"I am not your grandma, don't make personal relations with me, and call me madam." She said with a loud voice.
"Yes madam." Said Darpan and left from there.
Darpan faced this kind of situation many times before, he didn't mind those words. Sen Babu's wife tried to say something but Darpan didn't wait; he quickly came outside the house and joined his dad in the work.
They measured the level of the base of the pavement, created proper slope and placed the concrete paver block one after another. It was a hot day and the work was making them thirsty. They finished the water, given by the old lady.
"Darpan, go inside and bring some water", ordered Darpan's father.
He went towards the house, before entering he heard some noise from inside, he looked through the window nearby. It was Sen Babu and his wife, they were quarreling over something, Darpan realized, it was about some personal matter of them, so he decided not to disturb them. He was going to went back to his father but suddenly he saw Sen Babu started slapping his wife. He was shocked and wanted to help her, so he decided to call her loudly.
"Aunty, we need some more water." He shouted from the door. After a few minutes Sen Babu's wife came outside with another bottle of water, she didn't make an eye contact with him; she was just hiding her tears. Darpan wanted to console her, wanted to know why Sen Babu was behaving in that way, he wanted to provide any help she was needed. But this is the reality of our society; there are invisible boundaries, if you belong to financially weaker section, no matter what injustice you notice, you just have to keep your mouth shut, as if you don't exist. The lady was like a goddess in the eyes of Darpan, she always helped them. But he couldn't even ask what the matter to her was. He felt a helpless condition but there was nothing to do.
The finished the rest of the work, then his father went inside the house. He didn't want to see Sen Babu's face anymore, he stayed outside. His father came outside and gave him two hundred rupees and said, "Don't waste the money on any fast food, and use it for your studies." He was saving for the exam fees, so he expressed his agreement to that statement by shaking his head.
"You have to do another job today, go and meet Paresh; he has some carpentry Job for you," his father also informed.
He sat on his cycle and went to meet that guy. When he reached Paresh's place, he told him about the work. It was a simple work; they fitted a window in a wrong manner. So, needed to go there and removed the screws and set the window properly. Paresh lent him the tools and said, "He will give you 100 rupees, 40 is mine for the tools and 60 is yours."
He arrived at the house and rang the bell; one young man opened the door. Darpan Said, "Hello sir, Paresh send me to solve the problem with the window."
Hearing that the man allowed him to go inside, but started complaining instantly about how badly the job was done by the other guys. Darpan put out Plane, Chisel and few of the other tools from his bag and started working. Phone started ringing of the house owner; he picked the call and started talking, while Darpan was doing his job. He was talking in English, Darpan was listening to him. Initially he was talking about the luxurious trip he had few days ago with his family. After some time he changed the topic.
"You know what? You can't trust anyone; people who are coming as carpenter, plumber and mason, you have to keep an eye on them, that's why I am sitting next to the boy who is fixing the window." He said on the phone to someone in English. Actually that man thought Darpan wouldn't understand because he was saying those words in English, but Darpan understood every word. These statements aren't anything new to him. He finished the job and asked for the payment. The man finished his talk on the phone, put the phone on the bed and brought the money bag.
Darpan was standing on door, the man gave a note of 50 Rupees and said, "Is this enough?"
"No sir, Paresh told me to collect 100 Rupees." Darpan objected.
"Oh! Come on. It was a one hour job."
"Sir, these tools aren't mine, Paresh would charge me 40, so if I take 50 from you, I would get only 10 Rupees."
"Stop making stories, you guys are all same; you just want to loot money from us, if I give you a hundred, then also your family wouldn't be benefitted by it, you'll take the money and use it for alcohol."
"I don't drink alcohol, sir."
The man gave another 20 rupees and said, "That's it, I'll not pay a single rupee more."
"Thank you, sir", said Darpan and left the place. He didn't want to spoil the relation with the customer.
He went to home, had his lunch; It was already 4 o'clock in the afternoon. Because he was helping his father, he didn't go the work at morning shift, so, had to do the work at evening, he had no time for taking some rest, he left for the restaurant.
He was sitting on the cash register, there was a couple sitting in front of him, and he was watching them. He was remembering the old days, in school days he also had a girlfriend. He proposed her after hesitating for a long time, but to maintain a relationship you need to have some money in your pocket. Every time they went out for lunch, his girlfriend used to pay for the restaurant bills. After few days of their relationship he realized that girl was making so many adjustments for him, they didn't belong to the same economic class. God gave her chance to enjoy the life; she was born in a relatively wealthy family, so he didn't want to become the reason of her suffering. He initially explained her why they weren't correct match for each other but she didn't want to understand. So, to save her from destructing her future, he told her lie that he didn't love her, someone else was there in his life.
His shift ended around 10 O'clock. Boss came and gave him his monthly salary. He was expecting that. He opened the envelope and count the money, there was 1000 rupees short.
"Sir, I think you have made some mistake, there's 1000 rupees short." He informed the owner of the restaurant.
"Last month you didn't come two days, you waste one plate of biryani and distributed muffins to beggars several times, do you thing I am running a charity?" replied the owner.
"Sir I didn't waste the biryani, it was an accident, the plate fell of my hand"
"So? Who will pay for that?"
"Sir I am counting on my salary, I need it to fill the form for my exam," he said again.
"I am not going to give anymore than that."
"Sir, if you don't give my money, I'll not come from tomorrow," he shouted.
"How dare you raise your voice in front of me, get out, you are fired." The owner said this and pointed his finger towards the exit door.
This time he got really upset. He needed that money for filling the forms.
He reached home, said nothing, everyone sat on the ground to eat the dinner. While eating, he said, "Father, I need 1000 rupees."
"What? Why?" his father replied in curiosity.
He explained the situation, his father after hearing everything said, "Then you don't have to give the exam this year."
He lost his calm and pushed the plate which was in front of him. His father became angry and slapped him instantly and shouted, "I am working in this age to provide the food in your plate and you don't have the manners to appreciate that."
Darpan started crying, the tears came out of his eyes automatically, he stood up and went to wash his hands and the left his house, his mother tried to stop him but he didn't listen to any words of her.
With all the frustration in his mind and water in his eyes, he was sitting on the bank of a river. This was the end he thought. He was determined to end his life. He stood up to jump into the river. Suddenly, someone touched his shoulder. He turned his head and saw an old man was standing behind him.
"What are you doing here?" asked the old man.
He honestly spoke, "I want to end this life."
"Is that so? Come, seat next me, and tell me why you want to end your life?"
Darpan was listening to everyone but no one was listening to his problem, when that man asked to tell his problem, he started telling everything in a single breathes.
"What is the point of this life? I am not getting why God gave me this life. Everyone says that God has a plan for you. What plan? I can't protest for my loved one, because we aren't belong to same economical class, I can't be with girl I love because I don't have financial strength to provide him the happiness she deserves, I want to become a teacher one day but I don't think I could fill the form of my graduation this year, due to lack of money. I am doing every odd job to provide some happiness to my parents but they are still not happy. Sometimes I think that I am just pushing a mountain and expecting someday it will move." Darpan stopped.
"What is your name son?" asked that old man.
"Darpan, what a beautiful name, do you know what does it mean?"
"Yes, Darpan means mirror."
"By ending your life what would you achieve Darpan?"
"I am bored being a looser."
"Then you've to become a winner. You asked 'what is God's plan?' what if he is making you stronger, you know how we make the furniture from iron? We put the iron in excessive temperature, we melt it, we bent it, give it a proper shape, then we get the beautiful furniture, grills, marvelous architecture from it. You know why we do that with iron and not with silver? Because, the iron is stronger. May be you are the stronger, stronger then all of us. Surrendering is the job of losers, what you just wanted to do was surrendering. Fight, son. You only loose the battle when you accept the defeat. As long as you are fighting you are just a fighter and if you never quit the battle ground, if you never accept the defeat, I am telling you, one day you'll be a winner. Those who have everything since their birth they can't enjoy the fight of life; they will never understand the happiness of winning a battle. God chooses you, gave you lovable parents, provided you purpose to struggle for."
They sat there for few more hours, then at the mid night Darpan felt a little hunger in his stomach. That man didn't say who he was; Darpan forgot to ask him about his identity. He came towards home, while he was coming, he was thinking, "God doesn't want me quit, he is making me strong, teaching me lesions, otherwise why at this oddly hour that man was there. I'll beome a teacher, I'll fulfill every dream of mine. I'll never quit."
© Copyright 2023 IamSarthak. All rights reserved.
Other fiction society motivation
More Other Short Stories
Why Can't You Just Love Me Back?
by musicislife
Cold Blood, Lost Love
by Gracee
by william mcnear
Moments Musicaux in D-flat Major, Op. 16, No. 5, Sergei Rachmaninov:
by delapruch
Other Content by IamSarthak
My thoughts - Time and other things
by IamSarthak
Short Story / Science Fiction
The Great Dilemma
Short Story / Romance
The Nobel Purpose
IamSarthak's Portfolio

redpajama_set_name: RedPajamaCommonCrawl


The answers in "This file came from another computer..." - how can I unblock all the files in a folder without having to unblock them individually? explain how to "Unblock" a file that came from a remote source. For testing purposes, I would like to accomplish the reverse. How do I set a file's zone identifier so that Windows will "block" it?
I'm partial to a PowerShell solution, but other mechanisms are acceptable.
This additional data about the file is stored in an Alternate Data Stream (ADS). Alternate Data Streams can be viewed in a number of ways, with tools such as Streams but now more conveniently with PowerShell.
For the purposes of this question, it is the Zone.Identifier stream that we are interested in.
How to Make my Sisters Computer Absolutely Foolproof?
Can a malicious program infect a computer from another computer on a typical home wireless network?
Can you make one file reference another?
How to use an XML file from another computer?
How to completely delete programs that came with my computer?


text:
"""IoT common internal object model"""

import collections
import copy

from oslo import messaging
from oslo_context import context
import six

from iot.common import exception
from iot.objects import utils as obj_utils
from iot.openstack.common._i18n import _
from iot.openstack.common._i18n import _LE
from iot.openstack.common import log as logging
from iot.openstack.common import versionutils

LOG = logging.getLogger('object')

class NotSpecifiedSentinel:
    pass

def get_attrname(name):
    """Return the mangled name of the attribute's underlying storage."""
    return '_%s' % name

def make_class_properties(cls):
    cls.fields = dict(cls.fields)
    for supercls in cls.mro()[1:-1]:
        if not hasattr(supercls, 'fields'):
            continue
        for name, field in supercls.fields.items():
            if name not in cls.fields:
                cls.fields[name] = field
    for name, typefn in cls.fields.iteritems():

        def getter(self, name=name):
            attrname = get_attrname(name)
            if not hasattr(self, attrname):
                self.obj_load_attr(name)
            return getattr(self, attrname)

        def setter(self, value, name=name, typefn=typefn):
            self._changed_fields.add(name)
            try:
                return setattr(self, get_attrname(name), typefn(value))
            except Exception:
                attr = "%s.%s" % (self.obj_name(), name)
                LOG.exception(_LE('Error setting %(attr)s'),
                              {'attr': attr})
                raise

        setattr(cls, name, property(getter, setter))

class IoTObjectMetaclass(type):
    """Metaclass that allows tracking of object classes."""

    indirection_api = None

    def __init__(cls, names, bases, dict_):
        if not hasattr(cls, '_obj_classes'):
            # This will be set in the 'IoTObject' class.
            cls._obj_classes = collections.defaultdict(list)
        else:
            # Add the subclass to IoTObject._obj_classes
            make_class_properties(cls)
            cls._obj_classes[cls.obj_name()].append(cls)

# These are decorators that mark an object's method as remotable.
# If the metaclass is configured to forward object methods to an
# indirection service, these will result in making an RPC call
# instead of directly calling the implementation in the object. Instead,
# the object implementation on the remote end will perform the
# requested action and the result will be returned here.
def remotable_classmethod(fn):
    """Decorator for remotable classmethods."""
    def wrapper(cls, context, *args, **kwargs):
        if IoTObject.indirection_api:
            result = IoTObject.indirection_api.object_class_action(
                context, cls.obj_name(), fn.__name__, cls.VERSION,
                args, kwargs)
        else:
            result = fn(cls, context, *args, **kwargs)
            if isinstance(result, IoTObject):
                result._context = context
        return result
    return classmethod(wrapper)

# See comment above for remotable_classmethod()
#
# Note that this will use either the provided context, or the one
# stashed in the object. If neither are present, the object is
# "orphaned" and remotable methods cannot be called.
def remotable(fn):
    """Decorator for remotable object methods."""
    def wrapper(self, *args, **kwargs):
        ctxt = self._context
        try:
            if isinstance(args[0], (context.RequestContext)):
                ctxt = args[0]
                args = args[1:]
        except IndexError:
            pass
        if ctxt is None:
            raise exception.OrphanedObjectError(method=fn.__name__,
                                                objtype=self.obj_name())
        if IoTObject.indirection_api:
            updates, result = IoTObject.indirection_api.object_action(
                ctxt, self, fn.__name__, args, kwargs)
            for key, value in updates.iteritems():
                if key in self.fields:
                    self[key] = self._attr_from_primitive(key, value)
            self._changed_fields = set(updates.get('obj_what_changed', []))
            return result
        else:
            return fn(self, ctxt, *args, **kwargs)
    return wrapper

# Object versioning rules
#
# Each service has its set of objects, each with a version attached. When
# a client attempts to call an object method, the server checks to see if
# the version of that object matches (in a compatible way) its object
# implementation. If so, cool, and if not, fail.
def check_object_version(server, client):
    try:
        client_major, _client_minor = client.split('.')
        server_major, _server_minor = server.split('.')
        client_minor = int(_client_minor)
        server_minor = int(_server_minor)
    except ValueError:
        raise exception.IncompatibleObjectVersion(
            _('Invalid version string'))

    if client_major != server_major:
        raise exception.IncompatibleObjectVersion(
            dict(client=client_major, server=server_major))
    if client_minor > server_minor:
        raise exception.IncompatibleObjectVersion(
            dict(client=client_minor, server=server_minor))

@six.add_metaclass(IoTObjectMetaclass)
class IoTObject(object):
    """Base class and object factory.

    This forms the base of all objects that can be remoted or instantiated
    via RPC. Simply defining a class that inherits from this base class
    will make it remotely instantiatable. Objects should implement the
    necessary "get" classmethod routines as well as "save" object methods
    as appropriate.
    """

    # Version of this object (see rules above check_object_version())
    VERSION = '1.0'

    # The fields present in this object as key:typefn pairs. For example:
    #
    # fields = { 'foo': int,
    #            'bar': str,
    #            'baz': lambda x: str(x).ljust(8),
    #          }
    #
    fields = {
        'created_at': obj_utils.datetime_or_str_or_none,
        'updated_at': obj_utils.datetime_or_str_or_none,
        }
    obj_extra_fields = []

    _attr_created_at_from_primitive = obj_utils.dt_deserializer
    _attr_updated_at_from_primitive = obj_utils.dt_deserializer
    _attr_created_at_to_primitive = obj_utils.dt_serializer('created_at')
    _attr_updated_at_to_primitive = obj_utils.dt_serializer('updated_at')

    def __init__(self, context, **kwargs):
        self._changed_fields = set()
        self._context = context
        self.update(kwargs)

    @classmethod
    def obj_name(cls):
        """Get canonical object name.

        This object name will be used over the wire for remote hydration.
        """
        return cls.__name__

    @classmethod
    def obj_class_from_name(cls, objname, objver):
        """Returns a class from the registry based on a name and version."""
        if objname not in cls._obj_classes:
            LOG.error(_LE('Unable to instantiate unregistered object type '
                          '%(objtype)s'), dict(objtype=objname))
            raise exception.UnsupportedObjectError(objtype=objname)

        latest = None
        compatible_match = None
        for objclass in cls._obj_classes[objname]:
            if objclass.VERSION == objver:
                return objclass

            version_bits = tuple([int(x) for x in objclass.VERSION.split(".")])
            if latest is None:
                latest = version_bits
            elif latest < version_bits:
                latest = version_bits

            if versionutils.is_compatible(objver, objclass.VERSION):
                compatible_match = objclass

        if compatible_match:
            return compatible_match

        latest_ver = '%i.%i' % latest
        raise exception.IncompatibleObjectVersion(objname=objname,
                                                  objver=objver,
                                                  supported=latest_ver)

    def _attr_from_primitive(self, attribute, value):
        """Attribute deserialization dispatcher.

        This calls self._attr_foo_from_primitive(value) for an attribute
        foo with value, if it exists, otherwise it assumes the value
        is suitable for the attribute's setter method.
        """
        handler = '_attr_%s_from_primitive' % attribute
        if hasattr(self, handler):
            return getattr(self, handler)(value)
        return value

    @classmethod
    def _obj_from_primitive(cls, context, objver, primitive):
        self = cls(context)
        self.VERSION = objver
        objdata = primitive['iot_object.data']
        changes = primitive.get('iot_object.changes', [])
        for name in self.fields:
            if name in objdata:
                setattr(self, name,
                        self._attr_from_primitive(name, objdata[name]))
        self._changed_fields = set([x for x in changes if x in self.fields])
        return self

    @classmethod
    def obj_from_primitive(cls, primitive, context=None):
        """Simple base-case hydration.

        This calls self._attr_from_primitive() for each item in fields.
        """
        if primitive['iot_object.namespace'] != 'iot':
            raise exception.UnsupportedObjectError(
                objtype='%s.%s' % (primitive['iot_object.namespace'],
                                   primitive['iot_object.name']))
        objname = primitive['iot_object.name']
        objver = primitive['iot_object.version']
        objclass = cls.obj_class_from_name(objname, objver)
        return objclass._obj_from_primitive(context, objver, primitive)

    def __deepcopy__(self, memo):
        """Efficiently make a deep copy of this object."""

        nobj = self.__class__(self._context)
        for name in self.fields:
            if self.obj_attr_is_set(name):
                nval = copy.deepcopy(getattr(self, name), memo)
                setattr(nobj, name, nval)
        nobj._changed_fields = set(self._changed_fields)
        return nobj

    def obj_clone(self):
        """Create a copy."""
        return copy.deepcopy(self)

    def _attr_to_primitive(self, attribute):
        """Attribute serialization dispatcher.

        This calls self._attr_foo_to_primitive() for an attribute foo,
        if it exists, otherwise it assumes the attribute itself is
        primitive-enough to be sent over the RPC wire.
        """
        handler = '_attr_%s_to_primitive' % attribute
        if hasattr(self, handler):
            return getattr(self, handler)()
        else:
            return getattr(self, attribute)

    def obj_to_primitive(self):
        """Simple base-case dehydration.

        This calls self._attr_to_primitive() for each item in fields.
        """
        primitive = dict()
        for name in self.fields:
            if hasattr(self, get_attrname(name)):
                primitive[name] = self._attr_to_primitive(name)
        obj = {'iot_object.name': self.obj_name(),
               'iot_object.namespace': 'iot',
               'iot_object.version': self.VERSION,
               'iot_object.data': primitive}
        if self.obj_what_changed():
            obj['iot_object.changes'] = list(self.obj_what_changed())
        return obj

    def obj_load_attr(self, attrname):
        """Load an additional attribute from the real object.

        This should use self._conductor, and cache any data that might
        be useful for future load operations.
        """
        raise NotImplementedError(
            _("Cannot load '%(attrname)s' in the base class") %
            {'attrname': attrname})

    def save(self, context):
        """Save the changed fields back to the store.

        This is optional for subclasses, but is presented here in the base
        class for consistency among those that do.
        """
        raise NotImplementedError(_("Cannot save anything in the base class"))

    def obj_get_changes(self):
        """Returns a dict of changed fields and their new values."""
        changes = {}
        for key in self.obj_what_changed():
            changes[key] = self[key]
        return changes

    def obj_what_changed(self):
        """Returns a set of fields that have been modified."""
        return self._changed_fields

    def obj_reset_changes(self, fields=None):
        """Reset the list of fields that have been changed.

        Note that this is NOT "revert to previous values"
        """
        if fields:
            self._changed_fields -= set(fields)
        else:
            self._changed_fields.clear()

    def obj_attr_is_set(self, attrname):
        """Test object to see if attrname is present.

        Returns True if the named attribute has a value set, or
        False if not. Raises AttributeError if attrname is not
        a valid attribute for this object.
        """
        if attrname not in self.obj_fields:
            raise AttributeError(
                _("%(objname)s object has no attribute '%(attrname)s'") %
                {'objname': self.obj_name(), 'attrname': attrname})
        return hasattr(self, get_attrname(attrname))

    @property
    def obj_fields(self):
        return self.fields.keys() + self.obj_extra_fields

    # dictish syntactic sugar
    def iteritems(self):
        """
            For backwards-compatibility with dict-based objects.
        """
        for name in self.fields.keys() + self.obj_extra_fields:
            if (hasattr(self, get_attrname(name)) or
                    name in self.obj_extra_fields):
                yield name, getattr(self, name)

    items = lambda self: list(self.iteritems())

    def __getitem__(self, name):
        """For backwards-compatibility with dict-based objects.

        NOTE(danms): May be removed in the future.
        """
        return getattr(self, name)

    def __setitem__(self, name, value):
        """For backwards-compatibility with dict-based objects.

        NOTE(danms): May be removed in the future.
        """
        setattr(self, name, value)

    def __contains__(self, name):
        """For backwards-compatibility with dict-based objects.

        NOTE(danms): May be removed in the future.
        """
        return hasattr(self, get_attrname(name))

    def get(self, key, value=NotSpecifiedSentinel):
        """For backwards-compatibility with dict-based objects.

        NOTE(danms): May be removed in the future.
        """
        if key not in self.obj_fields:
            raise AttributeError(
                _("'%(objclass)s' object has no attribute '%(attrname)s'") %
                {'objclass': self.__class__, 'attrname': key})
        if value != NotSpecifiedSentinel and not self.obj_attr_is_set(key):
            return value
        else:
            return self[key]

    def update(self, updates):
        """For backwards-compatibility with dict-base objects.

        NOTE(danms): May be removed in the future.
        """
        for key, value in updates.items():
            self[key] = value

    def as_dict(self):
        return dict((k, getattr(self, k))
                for k in self.fields
                if hasattr(self, k))

class ObjectListBase(object):
    """Mixin class for lists of objects.

    This mixin class can be added as a base class for an object that
    is implementing a list of objects. It adds a single field of 'objects',
    which is the list store, and behaves like a list itself. It supports
    serialization of the list of objects automatically.
    """
    fields = {
        'objects': list,
        }

    # This is a dictionary of my_version:child_version mappings so that
    # we can support backleveling our contents based on the version
    # requested of the list object.
    child_versions = {}

    def __iter__(self):
        """List iterator interface."""
        return iter(self.objects)

    def __len__(self):
        """List length."""
        return len(self.objects)

    def __getitem__(self, index):
        """List index access."""
        if isinstance(index, slice):
            new_obj = self.__class__(self._context)
            new_obj.objects = self.objects[index]
            new_obj.obj_reset_changes()
            return new_obj
        return self.objects[index]

    def __contains__(self, value):
        """List membership test."""
        return value in self.objects

    def count(self, value):
        """List count of value occurrences."""
        return self.objects.count(value)

    def index(self, value):
        """List index of value."""
        return self.objects.index(value)

    def _attr_objects_to_primitive(self):
        """Serialization of object list."""
        return [x.obj_to_primitive() for x in self.objects]

    def _attr_objects_from_primitive(self, value):
        """Deserialization of object list."""
        objects = []
        for entity in value:
            obj = IoTObject.obj_from_primitive(entity,
                                                  context=self._context)
            objects.append(obj)
        return objects

    def obj_make_compatible(self, primitive, target_version):
        primitives = primitive['objects']
        child_target_version = self.child_versions.get(target_version, '1.0')
        for index, item in enumerate(self.objects):
            self.objects[index].obj_make_compatible(
                primitives[index]['iot_object.data'],
                child_target_version)
            primitives[index]['iot_object.version'] = child_target_version

    def obj_what_changed(self):
        changes = set(self._changed_fields)
        for child in self.objects:
            if child.obj_what_changed():
                changes.add('objects')
        return changes

class IoTObjectSerializer(messaging.NoOpSerializer):
    """A IoTObject-aware Serializer.

    This implements the Oslo Serializer interface and provides the
    ability to serialize and deserialize IoTObject entities. Any service
    that needs to accept or return IoTObjects as arguments or result values
    should pass this to its RpcProxy and RpcDispatcher objects.
    """

    def _process_iterable(self, context, action_fn, values):
        """Process an iterable, taking an action on each value.

        :param:context: Request context
        :param:action_fn: Action to take on each item in values
        :param:values: Iterable container of things to take action on
        :returns: A new container of the same type (except set) with
                  items from values having had action applied.
        """
        iterable = values.__class__
        if iterable == set:
            iterable = tuple
        return iterable([action_fn(context, value) for value in values])

    def serialize_entity(self, context, entity):
        if isinstance(entity, (tuple, list, set)):
            entity = self._process_iterable(context, self.serialize_entity,
                                            entity)
        elif (hasattr(entity, 'obj_to_primitive') and
                callable(entity.obj_to_primitive)):
            entity = entity.obj_to_primitive()
        return entity

    def deserialize_entity(self, context, entity):
        if isinstance(entity, dict) and 'iot_object.name' in entity:
            entity = IoTObject.obj_from_primitive(entity, context=context)
        elif isinstance(entity, (tuple, list, set)):
            entity = self._process_iterable(context, self.deserialize_entity,
                                            entity)
        return entity

def obj_to_primitive(obj):
    """Recursively turn an object into a python primitive.

    An IoTObject becomes a dict, and anything that implements ObjectListBase
    becomes a list.
    """
    if isinstance(obj, ObjectListBase):
        return [obj_to_primitive(x) for x in obj]
    elif isinstance(obj, IoTObject):
        result = {}
        for key, value in obj.iteritems():
            result[key] = obj_to_primitive(value)
        return result
    else:
        return obj

redpajama_set_name: RedPajamaGithub


text:
Matteo Maggiori
Associate Professor Stanford University, Graduate School of Business
Matteo Maggiori is an Associate Professor at Stanford University, Graduate School of Business. His research focuses on international economics, finance, and macroeconomics. He is a Faculty Research Fellow at the National Bureau of Economic Research and a Research Affiliate at the Center for Economic Policy Research. He received his PhD from the University of California at Berkeley. His research has received numerous awards such as the Guggenheim Fellowship, NSF CAREER grant, and Carlo Alberto Medal.
Articles by matteomaggiori0
Exchange rate reconnect
Survey beliefs and portfolio allocations
The rise of the dollar and fall of the euro in global asset trade
The concerning fiscal and external trajectories of the US
Discounting climate change investments
Discounting the very distant future
In search of house-price bubbles


I am the Principal of a government college. I have noticed that there are many teachers in my college who even don't pay heed to my advice regarding the decorum to be maintained, the lesson plan etc. they always have their own way and take advantage of my leniency. How to make such teachers realise their mistake?
Sir I think its high time for you to be strict on your part so that these teachers can stop taking undue advantage of your leniency! Strict means what ever you say to them,it should be in the form of an "order",and not "instruction".As a head of the institution you have every right to impose certain decorums and restrictions on them.And the professors are bound to work accordingly.They cannot take you for granted.Give them warning at first.In case it doesnot work,then identify those teachers who have been doing so and take strict action against them by suspending for for a week or so.Once they get punishment for disobeying your instructions,from the very next day they will be bound to follow them.
Really it is not good to know that your orders are not being obeyed by other teachers.As you said that they are taking advantage of your gentleness.In order to make effective administration,you should develop some principle to handle them.First of all,frame a set of instructions for them.The instructions may include your requirements which may the employees to be punctual,obedient,regular in taking classes,good feed back from the students for teachers etc.Issue the instructions to them & also mention that those who will be found failure in obeying these instructions will be punished by taking suitable steps.Get acknowledgements from them.
Now if any of them found not obeying your instructions,issue a show cause letter to the concerned teachers.See their reply.If they/he /she don't regret for their mistake,recommend for necessary action preferable to transfer to another unit.If one is punished,the others will be alright.
Also conduct periodical meeting of teachers & parents,teachers day to get feed back.
Try & see the result.
As responsible person and head of institution you have all the right and power to know the lesson plan and the teacher,s explanation is helpful to students .. Summon all the teachers and students one day discuss students problems and teachers problems as well its important that you notice loop holes in college thereby you will get clear cut idea of how you deal with all at perfect note.. I mean if students are satisfied with teacher teaching and also the notes they give them is helpful to them in exams or not,firstly you need to know these issues .. Secondly the performance of students should be noticed and monitored this will show the teachers work.. I think if all is right give freedom to your teachers if they show you the satisfactory reports of students..
I think it is not correct because your advice must follow the teachers.
you can ask suggestions to your teachers also.
Your teachers not responding then you can punished them .


text:
Itchy Skin With Pustules
Life Cycle of Streptococcus Pyogenes
Diseases Caused by Streptococcus Pyogenes
Can Clogged Pores Cause Boils?
Bump on the Inside of the Nose
Infections in Hair Follicles
Effects of Staphylococcus Aureus
By Helen Nnama ; Updated July 18, 2017
The Staphylococcus aureus bacterium is the leading cause of all Staph infections in humans, according to the Mayo Clinic. Although these bacteria are usually harmless and are commonly found on the surface of the skin, the Mayo Clinic reports they can prevail over the body's natural protection once the skin is damaged or injured, producing an infection. The infections caused by Staphylococcus aureus range from superficial skin infections to life-threatening ones.
Skin infections are the most common effects of staphylococcus aureus, according to MedlinePlus. These infections can start as a simple crusting of the skin, known as impetigo. MedlinePlus states that impetigo starts with redness of the skin, then progresses into bullae, which is an elevation of the skin filled with fluid. Once a bulla ruptures, crusting ensues. Crusting is the main feature of impetigo. Other skin infections caused by Staphylococcus aureus are folliculitis, an inflammation of a hair follicle; furuncle, a small abscess affecting the skin and subcutaneous tissues; and carbuncle, a collection of furuncles. While these skin infections usually go away without treatment, they can develop into septicemia, which is a life-threatening systemic condition.
Staphylococcus aureus can also cause food poisoning, which can bring symptoms such as diarrhea, nausea, vomiting and dehydration, according to the Centers for Disease Control and Prevention. People who eat contaminated food can develop symptoms within one to six hours. The prognosis for these cases of food poisoning is usually good; the Centers for Disease Control reports the illness can resolve on its own, usually within one to three days.
Toxic shock syndrome caused by Staphylococcus aureus is life-threatening, particularly because it is a systemic bacterial infection. Symptoms of toxic shock syndrome include redness on the skin, fever and low blood pressure. It usually involves organ systems, such as the gastrointestinal, muscular, renal, hematologic and nervous systems. Laboratory tests can point out the involvement of any of these systems, according to the Mayo Clinic. Onset of toxic shock syndrome is rather sudden, especially when it occurs in patients who were previously healthy. People who underwent nasal surgery are most susceptible to this disease, since the nose is commonly colonized by Staphylococcus aureus. Women who commonly wear tampons also are at risk for developing toxic shock syndrome through Staphylococcus aureus, according to the Mayo Clinic.
Mayo Clinic: Staph infections
MedlinePlus: Staphylococcal infections
Centers for Disease Control and Prevention: Staphylococcal Food Poisoning
Helen Nnama has six years of writing experience. She is a health contributor to TBR Journal, editor of fertility confidential manuals, published poet, and a greeting card writer. She has a B.S. in microbiology, an M.S. in epidemiology, and is an M.D. candidate. A former state HIV/AIDS epidemiologist and NIA fellow at Johns Hopkins, she has research experience with published work.
Diseases That Affect a Developing Baby
Types of Leukocytes
Antibiotics for Lung Infections
Signs of a Vitamin A Overdose
Symptoms of Candida Fungi in the Lungs
Contagious Cold Symptoms