MPLS tag-switching

I'm trying to bootstrap myself on MPLS and ran into an unusual problem in the field.
We've got a mesh of routers setup to do tag switching amongst each other to support a few pseudo-wire MPLS point to point links for customers.
Our typical conf:
ip cef
mpls label protocol ldp
tag-switching tdp router-id Loopback0 force
int FastEthernet0/0
description WAN link
ip address 1.2.3.1 255.255.255.252
mpls label protocol ldp
tag-switching mtu 1532
tag-switching ip
int POS1/0
description Another WAN link
ip address 1.2.3.5 255.255.255.252
mpls label protocol ldp
tag-switching ip
int FastEthernet 2/0
description Non MPLS Cust Facing
ip address 10.10.0.1 255.255.255.0
int FastEthernet 2/1
description MPLS Pseudowire Cust Facing
mpls l2transport route 1.2.3.253 10101
Now, it was my understanding that the tag-switching mtu statement is only for tag-switched packets, untagged IP uses the interface's default mtu of 1500 if not otherwise adjusted. Someone removed the tag-switched mtu 1532 statement off a couple WAN links, and both MPLS and non pseudowire tagged traffic were affected. There was still basic L2/L3 connectivity, but larger IP packets were being dropped.
The observed behavior implied to me that all packets were being tagged, and reading up on the tag-switching command reference re-enforces that assumption. Dropping down to the lab, doing a ping between two routers with tag-switching setup and ldp neighborship established, neither echo requests or replies are tagged.
Where is the hole in my understanding of how this works?

Your understanding is correct. By default LDP will allocate and advertise label for all prefixes and all traffic will be therefore label switched. You need to configure label filtering if you only need certain prefixes to have labels assigned and advertised by LDP.
Here's a brief example where only loopback addresses for the routers hosting the pseudowires are advertised.
no tag-switching advertise-tags
tag-switching advertise-tags for 1
access-list 1 permit 192.168.100.0 0.0.0.255
This same configuration need to be applied for all LDP enabled routers. It will only allow label advertisement for prefixes in the 192.168.100.0-192.168.100.255 range.
Regards

Similar Messages

  • Tag-switching config doubt

    Hello everybody,
    I would like to get some advise in a tag-switching config in order to perform a testing: I have a Cisco 12012 and a Cisco 7507 each with a GigE interface. I would like to establish several tdp sessions using this single interface. I was thinking in creating sub-interfaces and to add a dot1.q vlan tag to each of them and then to configure tag-swithching in all of the sub-interfaces. I wonder if this might work.
    I cannot perform this test right now since I have my equipment in different sites so if I am certain of this to work I might transport them.
    I would appreciate any help!! :)
    Thanks in advance,
    Regards,
    Nataniel

    Thanks Martin, thanks Harold,
    In fact what I want to achieve is to establish several (as many as possible) tdp sessions among my 12K and any other Cisco router, so I am not seeking for the label switching functionalities.
    Soon after I posted my message I created in my lab a FE back to back connection among two 7507s and configured as I said: sub-interfaces tagged with dot1q and added a /30 in each of them. Afterwards I configured tag-switching in all the subinterfaces and could see that the tdp sessions were created. Certainly I did not verify the TCP sessions linked to the tdp sessiones neither did debugging to see messages but I think that this scenario might work for what I want: to give some stress in tdp sessions to my 12K as I have in production.
    Our core is based in 12Ks and runs tag-switching so I am figuring out how to test a migration scenario towards mpls, this is my final goal. I want to observe a 12012´s performance while handling tdp and ldp sessions at the same time. ANY SUGGESTIONS? :)
    Thank you guys!
    Regards,
    Nataniel

  • Link errors when tag-switching enabled

    I have 4 6506 with SUP720-3BXL connected via 100Mb ethernet links as below. (you may have to copy the diagram to look at it using a fixed font)
    r3---utp---r4
    |.........|
    media......|
    converter..|
    |.........|
    fibre....Telstra 2Mb Ethernet service
    |.........|
    media......|
    converter..|
    |.........|
    r1--fibre--r2
    On the link between r1 and r3 I am getting CRC errors and runts for about 5% of packets.
    When I turn off tag-switching on that link I get no errors so it doesn't appear to be a physical link problem.
    No other links are showing these symptoms.
    Any ideas as to what could be causing this?
    Michael

    repeat after me (as many time as necessary)
    a layer 1 problem is not an mpls problem
    a layer 1 problem is not an mpls problem
    a layer 1 problem is not an mpls problem
    a layer 1 problem is not an mpls problem
    Switch interface is set for 100Mb full-duplex
    Media converter is set for 100Mb full-duplex also, but this media converter also has a DIP switch labelled 'force'
    I changed this DIP switch and everthing runs perfectly.
    I hate media converters.

  • Tag-switching mtu

    Hi All,
    We are wondering ,what would be the effect on performance of the traffic,where higher tag-switching mtu values are set (for example 4470 bytes).
    I guess we should be fine with a maximum value of 1516 bytes instead of 4470.We are currently set with Tag-switching mtu value of 4470 and considering to change to 1520,is there any perfomance improvement by doing that. Any help would be appreciated.
    Thanks
    Regards
    Anantha Subramanian Natarajan

    Hello Anantha,
    4470 is the default MTU size on WAN links like ATM (every speed) and POS or serial (T3 or E3).
    But usually on the path of user data the first and the last hop are LAN segments (and there can be intermediate hops when moving data inside a Provider POP).
    So a so high MTU is not used actually by user data: at least on the user side the IP MTU is 1500 bytes.
    On the server side you can enable jumbo frames for server-to-server communication.
    And what is important to take in account is that MPLS frames cannot be fragmented or they can go out a link or they are discarded.
    The size can be calculated by thinking of:
    an IP MTU of 1500 bytes needs to be carried in any case.
    a L3 MPLS VPN would require a two label stacks.
    More complex scenarios involving MPLS TE used to carry MPLS VPN traffic require a deeper stack.
    Then if you offer Carrier Supporting Carrier sevices for example the stack is longer.
    If you provide a EoMPLS service to someone using it to carry an MPLS VPN you may need 1534 bytes MTU (I did some calculations for a merge of two providers)
    It is also important to increase the MTU on intervening L2 switches inside your POPs this has to be considered and implemented too.
    This can be part of the problem a L2 switch on the path not configured to handle the added MPLS overhead and so causing some packets to be dropped.
    The benefit of using an MPLS MTU of 1520 is that you don't leave space to possible ambiguities on what can travel on the MPLS backbone end-to-end.
    Hope to help
    Giuseppe

  • About command"tag-switching advertise-tags"

    Does the command "tag-switching advertise-tags" must be used in the mpls environment? If I do not use it, whether the PE or P router can not work normally?

    Hi,
    Well the tag-switching advertise tags is used only to apply the tags to an IP Prefix selectively & not for the Global IP Table..
    As soon as u enable MPLS on an interface it floods the MPLS LFIB with the local labels & with the labelled prefix only with the allowed Prefx range..
    The advertised -tag is normally associated with the access-list..
    As an example I can use advertise tags associating with the only the loopback which shall be the next-hop for PE/P..
    Pls do let me know for further queries..
    Thanks.
    Pinku P Doshi
    CCIE-Datacraft India

  • Do I always need tag-switching ip

    Do I always need tag-switching ip on a mpls interface
    And what does it actually do
    Regards
    PEr

    Hi
    It doesnt really mention anything regarding the
    tag-switching ip command
    this is what i have in my config
    interface FastEthernet0/0
    no ip address
    duplex auto
    speed auto
    interface FastEthernet0/0.103
    encapsulation dot1Q 103
    ip address 10.1.1.9 255.255.255.252
    mpls traffic-eng tunnels
    tag-switching ip
    interface FastEthernet0/0.104
    encapsulation dot1Q 104
    ip address 10.1.1.13 255.255.255.252
    mpls traffic-eng tunnels
    interface FastEthernet0/0.108
    encapsulation dot1Q 108
    ip vrf forwarding int-cust
    ip address 192.168.1.14 255.255.255.252
    interface FastEthernet0/0.131
    encapsulation dot1Q 131
    ip address 10.111.64.237 255.255.255.0
    interface FastEthernet0/1
    no ip address
    shutdown
    duplex auto
    speed auto
    as you can see some of the interfaces uses tag-switching ip and others dont
    can you clearify if its needed or not and what does it do.
    In this config there is no mpls ip commands ????
    Regards

  • URGENT - tag-switching over gre-tunnel - how ??

    hi,
    my problem is that i want to connect two pe-router
    over a gre-tunnel.
    this is because between the two pe´s i unfortunatly have two cisco828 router as modemrouter inbetween which do no tag-switching.
    so i decided to use a gre tunnel between the two pe´s to do tag-switching.
    but if i want to forward packets greater than 1492 bytes and the df-bit is set - no chance.
    here is the figure and config of the two tunnels:
    c3640 - c828 -LINE- c828 - c3640
    <==========TUNNEL===============>
    first c3640:
    interface Tunnel65052
    description PE-PE Verbdg. Hoersching-Pasching
    ip unnumbered Loopback0
    ip mtu 1512
    load-interval 30
    tag-switching mtu 1512
    tag-switching ip
    keepalive 10 3
    tunnel source 10.20.192.3
    tunnel destination 10.20.192.6
    second c3640:
    interface Tunnel65052
    description PE-PE Verbdg. Hoersching-Pasching
    ip unnumbered Loopback0
    ip mtu 1512
    load-interval 30
    tag-switching mtu 1512
    tag-switching ip
    keepalive 10 3
    tunnel source 10.20.192.6
    tunnel destination 10.20.192.3
    on the 828 router i did no adjustment of mtu !
    if i do a ping:
    r-enns1#pi vrf lkg 172.16.169.121 size 1492 df
    Type escape sequence to abort.
    Sending 5, 1492-byte ICMP Echos to 172.16.169.121, timeout is 2 seconds:
    Packet sent with the DF bit set
    Success rate is 100 percent (5/5), round-trip min/avg/max = 208/211/212 ms
    r-enns1#
    r-enns1#
    r-enns1#
    r-enns1#
    r-enns1#pi vrf lkg 172.16.169.121 size 1493 df
    Type escape sequence to abort.
    Sending 5, 1493-byte ICMP Echos to 172.16.169.121, timeout is 2 seconds:
    Packet sent with the DF bit set
    M.M.M
    Success rate is 0 percent (0/5)
    r-enns1#
    please help - thanks

    Here's at least two options you could try:
    1) Lower the MTU on the tunnel-interface and let PMTU on the endpoints take care of the fragmentation. This could have some serious implications all depending on the systems and applications/protocols used on the network, but in most cases it'll work just fine.
    2) Simply remove the DF-bit on incoming packets to the router and lower the MTU on the tunnel-interface and let the router do fragmentation regardless of what the endpoints says. Since you have a 3640 on each end and 828's in the middle, I think it should be capable of this..
    You should do a MSS-modification as well in both cases.
    Change the MTU like this:
    interface Tunnel65052
    ip mtu 1488
    tag-switching mtu 1500
    Then you have set all IP-packets to maximum 1488 bytes (including headers) and let there be room for 3 MPLS labels...
    At least I think it should behave like this... please don't kill me if i'm wrong.. :)
    Remove the DF-bit with route-map's on the inside interfaces:
    interface FastEthernet1/0.100
    description inside interface
    ip policy route-map clear-df
    ip tcp adjust-mss 1424
    route-map clear-df permit 10
    set ip df 0

  • TDP tag-switching - "tag not in FIB"

    Afternoon all,
    Some guidance would be appreciated. I am supporting a small EU MPLS network - 3 P routers linked by ATM PVCs to 17 PE routers. The P routers are the route reflectors and the IGP is OSPF - most routers 7206VXR/NPE300. IOS = 12.2(7). TDP being used.
    I have a customer requirement to break the traditional PE link to a P router directly by a PVC or FE if on same site.
    I have attempted to link 3 PE routers in a chain, hanging off another PE router (see diagram). Basically this would result in "Top-PE" linking the chain with the rest of the EU network. Connecting "Second-PE" directly to the P router is not an option sadly. All router tag-switching interfaces and loopbacks are part of OSPF area 0 and all loopbacks can be contacted perfectly. All routers VPNV4 peer with the 3 RRs. The chain of PEs in the yellow box are all tag-switching perfectly and VPNs are working perfectly - just not beyond "Second-PE". When I run "tag-switching ip" on "Top-PE", it does not create any forwarding tags to "Second-PE" as you can see below (tag not in FIB):
    top-PE# sh ip cef vrf XYZ 194.13.125.78
    194.13.125.64/28, version 13780
    0 packets, 0 bytes
    Flow: AS 0, mask 28
    tag information set
    local tag: VPN-route-head
    fast tag rewrite with
    Recursive rewrite via tag not in FIB , tags imposed {116}
    via 20.63.4.133, 0 dependencies, recursive
    next hop 20.63.38.114, Ethernet6/2.2706 via 20.63.4.133/32
    valid punt adjacency
    tag rewrite with
    Recursive rewrite via tag not in FIB , tags imposed {116}
    top-PE# sh tag-switching int
    Interface IP Tunnel Operational
    FastEthernet1/1 Yes No Yes ! to P router
    Ethernet6/2.2706 Yes No Yes ! to "Second-PE"
    "sh tag forwarding-table" does not show any tags for Interface Ethernet6/2.2706
    Everything works fine on "Second-PE" as follows:
    Second-PE# sh ip cef vrf XYZ 194.13.125.46
    194.13.125.32/28, version 318, epoch 0, cached adjacency 20.63.38.113
    0 packets, 0 bytes
    tag information set
    local tag: VPN-route-head
    fast tag rewrite with Fa0/1.2706, 20.63.38.113, tags imposed: {159 147}
    via 20.63.4.131, 0 dependencies, recursive
    next hop 20.63.38.113, FastEthernet0/1.2706 via 20.63.4.131/32
    valid cached adjacency
    tag rewrite with Fa0/1.2706, 20.63.38.113, tags imposed: {159 147}
    Q1) Can PE routers simply onward tag-switch packets that are not destined for them, just as P routers do.
    Q2) Can PE routers act as a P router and PE router at the same time - so have some interfaces running VRFs, and some tag-switching?
    Q3) If answers to above state this "should" work, is it likely to be an IOS bug? I can find nothing on CCO about "tag not in FIB"
    Q4) should the design (although not ideal in any way) shown in diagram work?
    Many thanks for any assistance anybody can provide,
    best regards
    Neil

    A1) yes.
    A2) yes.
    A3) "Recursive rewrite via tag not in FIB" means that there is no label in the fib for the loopback address of the egress PE (20.63.4.133).
    Could you please provide a "show ip route 20.63.4.133", "show ip cef 20.63.4.133" and "show mpls ldp bind 20.63.4.133 32" from the "top PE".
    A4) It should definitely work.
    Hope this helps,

  • Rate Limit on the MPLS Tag interface

    In MPLS Networks, we generally enable tag-switching IP and MTU (1526) configuration on the specific interface . Say if the above commands are applied in the 2 mb Lease Line Serial interface , How do i rate Limit to 64K ?
    Can anyone provide me this info w.r.t the configuration?
    Regards
    Srikant

    Generic rate-limiting should be possible. Here's a URL explaining how to configure this feature.
    http://www.cisco.com/en/US/products/sw/iosswrel/ps5207/products_command_reference_chapter09186a00801a7ee1.html#1080850
    Hope this helps,

  • Tag-switching IP Issues

    Hi
    I have 2 routers with a FE link,
    7206 ---Trunk---> switch 3560-48 ---> link WAN with FE to ---> 3640 --trunk->sw3560-48-->customers,
    my Internet access is via the 7206 router.
    I need to stablish a ibgp session to configure VPN-MPLS for some services, i set the mpls parameters and is posible to stablish the session,
    ip cef is on, and i can see the TDP Neighbor UP between 7206 and 3640.
    I have a switch 3560-48 connected to the router 3640, the link its a trunk, so i can use these ports for
    internet customer access.
    well, when I apply the tag-switching ip or mpls ip ont the interfaces between 7206 and 3640 link,
    the customers that have only internet access via the 3640 router have problems to browse, www.yahoo.com and some other pages.
    When I remove the tag-switching ip or mpls ip
    the service normalizes.
    could somebody help me with this issue
    Thank you
    Rolando

    Jon
    Thank you for the information,
    just to be shure,
    I can use this command to modify the MTU on my switches?
    sw(config)#system mtu 1520
    so could you help me to define where i must to change the mtu because i am using trunks,
    and which MTU must modify,
    the mtu only or mpls mtu or both
    i attach a diagram with the topology
    Thank you for your help
    Rolando

  • Can not enable tag-switching on the router

    Good day for all,
    i have 7206 g1 router with 7200 Software (C7200-JK9S-M), Version 12.3(4)T4 (enterprise)
    and i can not enable mpls.
    Router(config)#int gigabitEthernet 0/2.102
    Router(config-subif)#mpls ip
    % Tag switching not supported on interface GigabitEthernet0/2.102
    this error on all interfaces
    what is the problem? (cef enable)
    Thank You

    I have 2 identical 7206VXR, same IOS, same PAs
    And one of em allows tag-switching on FasteEthernet 0/0.30 (dot1q), other - doesnt :(
    --- rtr 1 ----
    Cisco Internetwork Operating System Software
    IOS (tm) 7200 Software (C7200-P-M), Version 12.2(18)S5, RELEASE SOFTWARE (fc1)
    Technical Support: http://www.cisco.com/techsupport
    Copyright (c) 1986-2004 by cisco Systems, Inc.
    Compiled Sat 08-May-04 10:43 by nmasa
    Image text-base: 0x60008FE0, data-base: 0x6151E000
    ROM: System Bootstrap, Version 12.0(19990210:195103) [12.0XE 105], DEVELOPMENT SOFTWARE
    BOOTLDR: 7200 Software (C7200-BOOT-M), Version 12.0(18)S, EARLY DEPLOYMENT RELEASE SOFTWARE (fc1)
    TV3 uptime is 3 weeks, 14 hours, 28 minutes
    System returned to ROM by reload at 23:02:24 EEST Thu Aug 12 2004
    System image file is "slot0:c7200-p-mz.122-18.S5.bin"
    Last reload reason: Reload command
    cisco 7206VXR (NPE300) processor (revision D) with 229376K/65536K bytes of memory.
    Processor board ID 21265679
    R7000 CPU at 262Mhz, Implementation 39, Rev 2.1, 256KB L2 Cache
    6 slot VXR midplane, Version 2.0
    Last reset from power-on
    Channelized E1, Version 1.0.
    X.25 software, Version 3.0.0.
    Bridging software.
    Primary Rate ISDN software, Version 1.1.
    PCI bus mb0_mb1 has 200 bandwidth points
    PCI bus mb2 has 0 bandwidth points
    1 FastEthernet/IEEE 802.3 interface(s)
    53 Serial network interface(s)
    48 Channelized E1/PRI port(s)
    125K bytes of non-volatile configuration memory.
    20480K bytes of Flash PCMCIA card at slot 0 (Sector size 128K).
    4096K bytes of Flash internal SIMM (Sector size 256K).
    Configuration register is 0x2112
    --- rtr 2 ---
    Cisco Internetwork Operating System Software
    IOS (tm) 7200 Software (C7200-P-M), Version 12.2(18)S5, RELEASE SOFTWARE (fc1)
    Technical Support: http://www.cisco.com/techsupport
    Copyright (c) 1986-2004 by cisco Systems, Inc.
    Compiled Sat 08-May-04 10:43 by nmasa
    Image text-base: 0x60008FE0, data-base: 0x6151E000
    ROM: System Bootstrap, Version 12.0(19990210:195103) [12.0XE 105], DEVELOPMENT SOFTWARE
    BOOTLDR: 7200 Software (C7200-BOOT-M), Version 12.0(9)S, EARLY DEPLOYMENT RELEASE SOFTWARE (fc1)
    TV1 uptime is 3 weeks, 14 hours, 39 minutes
    System returned to ROM by reload at 22:51:22 EEST Thu Aug 12 2004
    System restarted at 22:53:54 EEST Thu Aug 12 2004
    System image file is "slot0:c7200-p-mz.122-18.S5.bin"
    Last reload reason: Reload command
    cisco 7206VXR (NPE300) processor (revision D) with 229376K/65536K bytes of memory.
    Processor board ID 18285647
    R7000 CPU at 262Mhz, Implementation 39, Rev 1.0, 256KB L2 Cache
    6 slot VXR midplane, Version 2.0
    Last reset from power-on
    Channelized E1, Version 1.0.
    X.25 software, Version 3.0.0.
    Bridging software.
    Primary Rate ISDN software, Version 1.1.
    PCI bus mb0_mb1 has 200 bandwidth points
    PCI bus mb2 has 0 bandwidth points
    1 FastEthernet/IEEE 802.3 interface(s)
    68 Serial network interface(s)
    48 Channelized E1/PRI port(s)
    125K bytes of non-volatile configuration memory.
    20480K bytes of Flash PCMCIA card at slot 0 (Sector size 128K).
    4096K bytes of Flash internal SIMM (Sector size 256K).
    Configuration register is 0x102
    TV3(config)#in fas 0/0.30
    TV3(config-subif)#tag ip
    % Tag switching not supported on interface FastEthernet0/0.30

  • MPLS Tags not appearing on one side of new MPLS VPN

    I have an already existing 6509 that is going to provide the entire MPLS routing table via route reflector to a new 6509.  Here are the relevant configs:
    EXISTING 6509 (Router A)
    interface Loopback0
     ip address 10.255.2.2 255.255.255.255
    end
    router bgp 23532
     no bgp default ipv4-unicast
     bgp log-neighbor-changes
     neighbor 10.255.2.3 remote-as 23532
     neighbor 10.255.2.3 update-source Loopback0
     address-family ipv4 mdt
      neighbor 10.255.2.3 activate
      neighbor 10.255.2.3 send-community extended
      neighbor 10.255.2.3 route-reflector-client
      neighbor 10.255.2.3 soft-reconfiguration inbound
     exit-address-family
     address-family vpnv4
      neighbor 10.255.2.3 activate
      neighbor 10.255.2.3 send-community extended
      neighbor 10.255.2.3 route-reflector-client
      neighbor 10.255.2.3 next-hop-self
      bgp redistribute-internal
     exit-address-family
     address-family ipv4 vrf CustomerA
      redistribute connected
      redistribute static
      no synchronization
      bgp redistribute-internal
     exit-address-family
    DAL-COLO-6509-1#show mpls ldp neighbor 10.255.2.3
        Peer LDP Ident: 10.255.2.3:0; Local LDP Ident 10.255.2.2:0
            TCP connection: 10.255.2.3.16271 - 10.255.2.2.646
            State: Oper; Msgs sent/rcvd: 647/646; Downstream
            Up time: 06:07:30
            LDP discovery sources:
              Vlan65, Src IP addr: X.X.X.69
            Addresses bound to peer LDP Ident:
              10.255.2.3      X.X.X.69     X.X.X.254    10.10.1.31 
    DAL-COLO-6509-1#show mpls forwarding-table 10.255.2.3 detail
    Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
    Label      Label      or Tunnel Id     Switched      interface              
    257        Pop Label  10.255.2.3/32    22272         Vl65       X.X.X.69 
            MAC/Encaps=14/14, MRU=1584, Label Stack{}
            001CB14458000009B6A4B8008847 
            No output feature configured
    DAL-COLO-6509-1#show mpls ldp bindings 10.255.2.3 32
      lib entry: 10.255.2.3/32, rev 4933
            local binding:  label: 257
            remote binding: lsr: 10.255.2.1:0, label: 131
            remote binding: lsr: 10.255.2.3:0, label: imp-null
    DAL-COLO-6509-1#traceroute 10.255.2.3
    Type escape sequence to abort.
    Tracing the route to 10.255.2.3
      1 69-69.netblk-66-60-69.yada.net (X.X.X.69) 0 msec *  0 msec
    DAL-COLO-6509-1#
    New 6509 (Router B)
    router bgp 23532
     no bgp default ipv4-unicast
     bgp log-neighbor-changes
     neighbor 10.255.2.2 remote-as 23532
     neighbor 10.255.2.2 update-source Loopback0
     address-family ipv4 mdt
      neighbor 10.255.2.2 activate
      neighbor 10.255.2.2 send-community both
      neighbor 10.255.2.2 soft-reconfiguration inbound
     exit-address-family
     address-family vpnv4
      neighbor 10.255.2.2 activate
      neighbor 10.255.2.2 send-community both
      neighbor 10.255.2.2 next-hop-self
      bgp redistribute-internal
     exit-address-family
     address-family ipv4 vrf CustomerA
      redistribute connected
      redistribute static
      no synchronization
      bgp redistribute-internal
     exit-address-family
    Br26-COLO-6509-1#show mpls ldp neighbor 10.255.2.2
        Peer LDP Ident: 10.255.2.2:0; Local LDP Ident 10.255.2.3:0
            TCP connection: 10.255.2.2.646 - 10.255.2.3.16271
            State: Oper; Msgs sent/rcvd: 657/657; Downstream
            Up time: 06:16:40
            LDP discovery sources:
              Vlan65, Src IP addr: X.X.X.70
            Addresses bound to peer LDP Ident:
              10.255.2.2      X.X.X.10     X.X.X.14     X.X.X.5      
              66.60.70.18     66.60.75.252    66.60.72.65     66.60.75.81     
              10.10.1.40      66.60.70.17     X.X.X.17     66.60.73.161    
              X.X.X.70     
    Br26-COLO-6509-1#show mpls forwarding-table 10.255.2.2 detail
    Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
    Label      Label      or Tunnel Id     Switched      interface              
    40         Pop Label  10.255.2.2/32    0             Vl65       X.X.X.70 
            MAC/Encaps=14/14, MRU=1584, Label Stack{}
            0009B6A4B800001CB14458008847 
            No output feature configured
    Br26-COLO-6509-1#show mpls ldp bindings 10.255.2.2 32
      lib entry: 10.255.2.2/32, rev 40
            local binding:  label: 40
            remote binding: lsr: 10.10.1.30:0, label: 29
            remote binding: lsr: 10.255.2.2:0, label: imp-null
    Br26-COLO-6509-1#traceroute 10.255.2.2
    Type escape sequence to abort.
    Tracing the route to 10.255.2.2
      1 70-69.netblk-66-60-69.yada.net (X.X.X.70) 0 msec *  0 msec
    Br26-COLO-6509-1#
    Im seeing label switching coming from the old switch (which has several MPLS VPN connections already).  Im not seeing anything from the new switch.  OSPF is the routing protocol between the interfaces, and shows to be working fine.  LDP neighbor relationship seems to be good- just tagging isn’t occurring going back toward the old switch.  Any suggestions?
    Thanks
    Greg

    Yes- that is the problem we are trying to fix.
    Br26-COLO-6509-1#sh ver
    Cisco IOS Software, s72033_rp Software (s72033_rp-ADVENTERPRISEK9_WAN-M), Version 12.2(33)SXI13, RELEASE SOFTWARE (fc3)
    Technical Support: http://www.cisco.com/techsupport
    Copyright (c) 1986-2014 by Cisco Systems, Inc.
    Compiled Tue 11-Mar-14 04:53 by prod_rel_team
    ROM: System Bootstrap, Version 12.2(17r)SX5, RELEASE SOFTWARE (fc1)
     Br26-COLO-6509-1 uptime is 1 day, 49 minutes
    Uptime for this control processor is 1 day, 49 minutes
    Time since Br26-COLO-6509-1 switched to active is 1 day, 48 minutes
    System returned to ROM by reload at 09:20:45 CDT Wed May 7 2014 (SP by reload)
    System restarted at 09:24:29 CDT Wed May 7 2014
    System image file is "disk0:s72033-adventerprisek9_wan-mz.122-33.SXI13.bin"
    Last reload reason: Reload Command
    This product contains cryptographic features and is subject to United
    States and local country laws governing import, export, transfer and
    use. Delivery of Cisco cryptographic products does not imply
    third-party authority to import, export, distribute or use encryption.
    Importers, exporters, distributors and users are responsible for
    compliance with U.S. and local country laws. By using this product you
    agree to comply with applicable laws and regulations. If you are unable
    to comply with U.S. and local laws, return this product immediately.
    A summary of U.S. laws governing Cisco cryptographic products may be found at:
    http://www.cisco.com/wwl/export/crypto/tool/stqrg.html
    If you require further assistance please contact us by sending email to
    [email protected].
    cisco WS-C6509-E (R7000) processor (revision 1.3) with 458720K/65536K bytes of memory.
    Processor board ID SMG1125N74N
    SR71000 CPU at 600Mhz, Implementation 0x504, Rev 1.2, 512KB L2 Cache
    Last reset from s/w reset
    5 Virtual Ethernet interfaces
    154 Gigabit Ethernet interfaces
    1917K bytes of non-volatile configuration memory.
    8192K bytes of packet buffer memory.
    65536K bytes of Flash internal SIMM (Sector size 512K).
    Configuration register is 0x2102
    Yes- we do have a Sup7303B in this switch.

  • Awesome WM text pointer disappears on tag switch

    Hi,
    I have the following problem. On one tag I keep Atom with some file open. If I use the mouse to click on some other tag and go back to Atom everything is ok. If I use modkey+<num> to switch to another tag and back while the mouse is over the task bar or over the widgets everything is ok. But when I switch the tag again with the keyboard shortcut and go back to Atom while the mouse is somewhere over the clients the text pointer in Atom disappears and I need to click somewhere in the text to make it reappear. And it's really annoying when coding to reach for the mouse every time you change to some other tag and back.
    Here's my rc.lua:
    Dremora Awesome WM config 2.0
    github.com/copycat-killer
    -- {{{ Required libraries
    local gears = require("gears")
    local awful = require("awful")
    awful.rules = require("awful.rules")
    require("awful.autofocus")
    local wibox = require("wibox")
    local beautiful = require("beautiful")
    local naughty = require("naughty")
    local drop = require("scratchdrop")
    local lain = require("lain")
    -- {{{ Error handling
    if awesome.startup_errors then
    naughty.notify({ preset = naughty.config.presets.critical,
    title = "Oops, there were errors during startup!",
    text = awesome.startup_errors })
    end
    do
    local in_error = false
    awesome.connect_signal("debug::error", function (err)
    if in_error then return end
    in_error = true
    naughty.notify({ preset = naughty.config.presets.critical,
    title = "Oops, an error happened!",
    text = err })
    in_error = false
    end)
    end
    -- {{{ Autostart applications
    function run_once(cmd)
    findme = cmd
    firstspace = cmd:find(" ")
    if firstspace then
    findme = cmd:sub(0, firstspace-1)
    end
    awful.util.spawn_with_shell("pgrep -u $USER -x " .. findme .. " > /dev/null || (" .. cmd .. ")")
    end
    run_once("urxvtd")
    run_once("unclutter")
    -- {{{ Variable definitions
    -- localization
    --os.setlocale(os.getenv("LANG"))
    -- beautiful init
    beautiful.init(os.getenv("HOME") .. "/.config/awesome/themes/dremora/theme.lua")
    -- common
    modkey = "Mod4"
    altkey = "Mod1"
    terminal = "xfce4-terminal" or "xterm"
    editor = os.getenv("EDITOR") or "nano" or "vi"
    editor_cmd = terminal .. " -e " .. editor
    -- user defined
    browser = "google-chrome"
    browser2 = "iron"
    gui_editor = "atom"
    -- graphics = "gimp"
    local layouts = {
    awful.layout.suit.floating,
    lain.layout.uselesstile,
    awful.layout.suit.fair,
    lain.layout.uselesstile.left,
    lain.layout.uselesstile.top
    -- {{{ Tags
    tags = {
    names = { "ƀ", "Ƅ", "Ɗ", "ƈ", "ƙ" },
    layout = { layouts[1], layouts[3], layouts[2], layouts[1], layouts[5] }
    for s = 1, screen.count() do
    tags[s] = awful.tag(tags.names, s, tags.layout)
    end
    -- {{{ Wallpaper
    if beautiful.wallpaper then
    for s = 1, screen.count() do
    gears.wallpaper.maximized(beautiful.wallpaper, s, true)
    end
    end
    -- {{{ Menu
    mymainmenu = awful.menu.new({ items = require("menugen").build_menu(),
    theme = { height = 16, width = 130 }})
    -- {{{ Wibox
    markup = lain.util.markup
    white = beautiful.fg_focus
    gray = "#858585"
    -- Textclock
    mytextclock = awful.widget.textclock(markup(gray, " %a")
    .. markup(white, " %d ") .. markup(gray, "%b ") .. markup(white, "%H:%M "))
    -- Calendar
    lain.widgets.calendar:attach(mytextclock, { fg = white })
    --[[ Mail IMAP check
    -- commented because it needs to be set before use
    mailwidget = lain.widgets.imap({
    timeout = 180,
    server = "server",
    mail = "mail",
    password = "keyring get mail",
    settings = function()
    mail_notification_preset.fg = white
    mail = ""
    count = ""
    if mailcount > 0 then
    mail = "Mail "
    count = mailcount .. " "
    end
    widget:set_markup(markup(gray, mail) .. markup(white, count))
    end
    -- MPD
    mpdwidget = lain.widgets.mpd({
    settings = function()
    mpd_notification_preset.fg = white
    artist = mpd_now.artist .. " "
    title = mpd_now.title .. " "
    file = mpd_now.file .. " "
    if mpd_now.state == "pause" then
    file = "mpd paused"
    elseif mpd_now.state == "stop" then
    file = ""
    end
    widget:set_markup(markup(gray, file))
    end
    -- /home fs
    fshome = lain.widgets.fs({
    partition = "/home",
    settings = function()
    fs_notification_preset.fg = white
    fs_header = ""
    fs_p = ""
    if fs_now.used >= 90 then
    fs_header = " Hdd "
    fs_p = fs_now.used
    end
    widget:set_markup(markup(gray, fs_header) .. markup(white, fs_p))
    end
    -- Battery
    batwidget = lain.widgets.bat({
    settings = function()
    bat_header = " Bat "
    bat_p = bat_now.perc .. " "
    if bat_now.status == "Not present" then
    bat_header = ""
    bat_p = ""
    end
    widget:set_markup(markup(gray, bat_header) .. markup(white, bat_p))
    end
    -- ALSA volume
    volumewidget = lain.widgets.alsa({
    settings = function()
    header = " Vol "
    vlevel = volume_now.level
    if volume_now.status == "off" then
    vlevel = vlevel .. "M "
    else
    vlevel = vlevel .. " "
    end
    widget:set_markup(markup(gray, header) .. markup(white, vlevel))
    end
    -- Weather
    yawn = lain.widgets.yawn(123456,
    settings = function()
    yawn_notification_preset.fg = white
    end
    -- Separators
    first = wibox.widget.textbox('<span font="Tamsyn 4"> </span>')
    arrl_pre = wibox.widget.imagebox()
    arrl_pre:set_image(beautiful.arrl_lr_pre)
    arrl_post = wibox.widget.imagebox()
    arrl_post:set_image(beautiful.arrl_lr_post)
    -- Create a wibox for each screen and add it
    mywibox = {}
    mypromptbox = {}
    mylayoutbox = {}
    mytaglist = {}
    mytaglist.buttons = awful.util.table.join(
    awful.button({ }, 1, awful.tag.viewonly),
    awful.button({ modkey }, 1, awful.client.movetotag),
    awful.button({ }, 3, awful.tag.viewtoggle),
    awful.button({ modkey }, 3, awful.client.toggletag),
    awful.button({ }, 4, function(t) awful.tag.viewnext(awful.tag.getscreen(t)) end),
    awful.button({ }, 5, function(t) awful.tag.viewprev(awful.tag.getscreen(t)) end)
    mytasklist = {}
    mytasklist.buttons = awful.util.table.join(
    awful.button({ }, 1, function (c)
    if c == client.focus then
    c.minimized = true
    else
    -- Without this, the following
    -- :isvisible() makes no sense
    c.minimized = false
    if not c:isvisible() then
    awful.tag.viewonly(c:tags()[1])
    end
    -- This will also un-minimize
    -- the client, if needed
    client.focus = c
    c:raise()
    end
    end),
    awful.button({ }, 3, function ()
    if instance then
    instance:hide()
    instance = nil
    else
    instance = awful.menu.clients({ width=250 })
    end
    end),
    awful.button({ }, 4, function ()
    awful.client.focus.byidx(1)
    if client.focus then client.focus:raise() end
    end),
    awful.button({ }, 5, function ()
    awful.client.focus.byidx(-1)
    if client.focus then client.focus:raise() end
    end))
    for s = 1, screen.count() do
    -- Create a promptbox for each screen
    mypromptbox[s] = awful.widget.prompt()
    -- Create an imagebox widget which will contains an icon indicating which layout we're using.
    -- We need one layoutbox per screen.
    mylayoutbox[s] = awful.widget.layoutbox(s)
    mylayoutbox[s]:buttons(awful.util.table.join(
    awful.button({ }, 1, function () awful.layout.inc(layouts, 1) end),
    awful.button({ }, 3, function () awful.layout.inc(layouts, -1) end),
    awful.button({ }, 4, function () awful.layout.inc(layouts, 1) end),
    awful.button({ }, 5, function () awful.layout.inc(layouts, -1) end)))
    -- Create a taglist widget
    mytaglist[s] = awful.widget.taglist(s, awful.widget.taglist.filter.all, mytaglist.buttons)
    -- Create a tasklist widget
    mytasklist[s] = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, mytasklist.buttons)
    -- Create the wibox
    mywibox[s] = awful.wibox({ position = "top", screen = s, height = 18 })
    -- Widgets that are aligned to the left
    local left_layout = wibox.layout.fixed.horizontal()
    left_layout:add(first)
    left_layout:add(mytaglist[s])
    left_layout:add(arrl_pre)
    left_layout:add(mylayoutbox[s])
    left_layout:add(arrl_post)
    left_layout:add(mypromptbox[s])
    left_layout:add(first)
    -- Widgets that are aligned to the right
    local right_layout = wibox.layout.fixed.horizontal()
    if s == 1 then right_layout:add(wibox.widget.systray()) end
    right_layout:add(first)
    right_layout:add(mpdwidget)
    --right_layout:add(mailwidget)
    right_layout:add(fshome)
    right_layout:add(batwidget)
    right_layout:add(volumewidget)
    right_layout:add(mytextclock)
    -- Now bring it all together (with the tasklist in the middle)
    local layout = wibox.layout.align.horizontal()
    layout:set_left(left_layout)
    layout:set_middle(mytasklist[s])
    layout:set_right(right_layout)
    mywibox[s]:set_widget(layout)
    end
    -- {{{ Mouse bindings
    root.buttons(awful.util.table.join(
    awful.button({ }, 3, function () mymainmenu:toggle() end),
    awful.button({ }, 4, awful.tag.viewnext),
    awful.button({ }, 5, awful.tag.viewprev)
    -- {{{ Key bindings
    globalkeys = awful.util.table.join(
    -- Take a screenshot
    -- https://github.com/copycat-killer/dots/blob/master/bin/screenshot
    awful.key({ altkey }, "p", function() os.execute("screenshot") end),
    -- Tag browsing
    awful.key({ modkey }, "Left", awful.tag.viewprev ),
    awful.key({ modkey }, "Right", awful.tag.viewnext ),
    awful.key({ modkey }, "Escape", awful.tag.history.restore),
    -- Non-empty tag browsing
    awful.key({ altkey }, "Left", function () lain.util.tag_view_nonempty(-1) end),
    awful.key({ altkey }, "Right", function () lain.util.tag_view_nonempty(1) end),
    -- Default client focus
    awful.key({ altkey }, "k",
    function ()
    awful.client.focus.byidx( 1)
    if client.focus then client.focus:raise() end
    end),
    awful.key({ altkey }, "j",
    function ()
    awful.client.focus.byidx(-1)
    if client.focus then client.focus:raise() end
    end),
    -- By direction client focus
    awful.key({ modkey }, "j",
    function()
    awful.client.focus.bydirection("down")
    if client.focus then client.focus:raise() end
    end),
    awful.key({ modkey }, "k",
    function()
    awful.client.focus.bydirection("up")
    if client.focus then client.focus:raise() end
    end),
    awful.key({ modkey }, "h",
    function()
    awful.client.focus.bydirection("left")
    if client.focus then client.focus:raise() end
    end),
    awful.key({ modkey }, "l",
    function()
    awful.client.focus.bydirection("right")
    if client.focus then client.focus:raise() end
    end),
    -- Show Menu
    -- awful.key({ modkey }, "w",
    -- function ()
    -- mymainmenu:show({ keygrabber = true })
    -- end),
    -- Show/Hide Wibox
    -- awful.key({ modkey }, "b", function ()
    -- mywibox[mouse.screen].visible = not mywibox[mouse.screen].visible
    -- end),
    -- On the fly useless gaps change
    awful.key({ altkey, "Control" }, "=", function () lain.util.useless_gaps_resize(1) end),
    awful.key({ altkey, "Control" }, "-", function () lain.util.useless_gaps_resize(-1) end),
    -- Layout manipulation
    awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end),
    awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end),
    awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end),
    awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end),
    awful.key({ modkey, }, "u", awful.client.urgent.jumpto),
    awful.key({ modkey, }, "Tab",
    function ()
    awful.client.focus.history.previous()
    if client.focus then
    client.focus:raise()
    end
    end),
    awful.key({ altkey, "Shift" }, "l", function () awful.tag.incmwfact( 0.05) end),
    awful.key({ altkey, "Shift" }, "h", function () awful.tag.incmwfact(-0.05) end),
    awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1) end),
    awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1) end),
    awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1) end),
    awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1) end),
    awful.key({ modkey, }, "space", function () awful.layout.inc(layouts, 1) end),
    awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(layouts, -1) end),
    awful.key({ modkey, "Control" }, "n", awful.client.restore),
    -- Standard program
    awful.key({ modkey, }, "Return", function () awful.util.spawn(terminal) end),
    awful.key({ modkey, "Control" }, "r", awesome.restart),
    awful.key({ modkey, "Shift" }, "q", awesome.quit),
    -- Dropdown terminal
    awful.key({ modkey, }, "z", function () drop(terminal) end),
    -- Widgets popups
    awful.key({ altkey, }, "c", function () lain.widgets.calendar:show(7) end),
    awful.key({ altkey, }, "h", function () fshome.show(7) end),
    awful.key({ altkey, }, "w", function () yawn.show(7) end),
    -- ALSA volume control
    awful.key({ }, "XF86AudioRaiseVolume",
    function ()
    awful.util.spawn(string.format("amixer -c %s set %s 1+", volumewidget.card, volumewidget.channel))
    volumewidget.update()
    end),
    awful.key({ }, "XF86AudioLowerVolume",
    function ()
    awful.util.spawn(string.format("amixer -c %s set %s 1-", volumewidget.card, volumewidget.channel))
    volumewidget.update()
    end),
    awful.key({ }, "XF86AudioMute",
    function ()
    awful.util.spawn(string.format("amixer -c %s set %s toggle", volumewidget.card, volumewidget.channel))
    --awful.util.spawn(string.format("amixer set %s toggle", volumewidget.channel))
    volumewidget.update()
    end),
    awful.key({ altkey, "Control" }, "m",
    function ()
    awful.util.spawn(string.format("amixer -c %s set %s 100%%", volumewidget.card, volumewidget.channel))
    volumewidget.update()
    end),
    -- MPD control
    awful.key({ }, "XF86AudioPlay",
    function ()
    awful.util.spawn_with_shell("mpc toggle || ncmpc toggle || pms toggle")
    mpdwidget.update()
    end),
    awful.key({ }, "XF86AudioStop",
    function ()
    awful.util.spawn_with_shell("mpc stop || ncmpc stop || pms stop")
    mpdwidget.update()
    end),
    awful.key({ }, "XF86AudioPrev",
    function ()
    awful.util.spawn_with_shell("mpc prev || ncmpc prev || pms prev")
    mpdwidget.update()
    end),
    awful.key({ }, "XF86AudioNext",
    function ()
    awful.util.spawn_with_shell("mpc next || ncmpc next || pms next")
    mpdwidget.update()
    end),
    -- Copy to clipboard
    awful.key({ modkey }, "c", function () os.execute("xsel -p -o | xsel -i -b") end),
    -- User programs
    awful.key({ modkey }, "w", function () awful.util.spawn(browser) end),
    awful.key({ modkey }, "s", function () awful.util.spawn(gui_editor) end),
    awful.key({ modkey }, "g", function () awful.util.spawn(graphics) end),
    awful.key({ modkey }, "e", function () awful.util.spawn("thunar") end),
    -- Prompt
    awful.key({ modkey }, "r", function () mypromptbox[mouse.screen]:run() end),
    awful.key({ modkey }, "x",
    function ()
    awful.prompt.run({ prompt = "Run Lua code: " },
    mypromptbox[mouse.screen].widget,
    awful.util.eval, nil,
    awful.util.getdir("cache") .. "/history_eval")
    end),
    -- {{ Configures Keymap }} --
    awful.key({ "Control", "Shift" }, "k",
    function()
    awful.util.spawn("xmodmap /home/peio/.Xmodmap_Internal")
    naughty.notify({ timeout = 8, text = "Keyboard configured for internal." })
    end),
    awful.key({ "Control", "Shift" }, "l",
    function()
    awful.util.spawn("xmodmap /home/peio/.Xmodmap_External")
    naughty.notify({ timeout = 8, text = "Keyboard configured for external." })
    end)
    clientkeys = awful.util.table.join(
    awful.key({ modkey, }, "f", function (c) c.fullscreen = not c.fullscreen end),
    awful.key({ modkey, }, "q", function (c) c:kill() end),
    awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle ),
    awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end),
    awful.key({ modkey, }, "o", awful.client.movetoscreen ),
    awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end),
    awful.key({ modkey, }, "n",
    function (c)
    -- The client currently has the input focus, so it cannot be
    -- minimized, since minimized clients can't have the focus.
    c.minimized = true
    end),
    awful.key({ modkey, }, "m",
    function (c)
    c.maximized_horizontal = not c.maximized_horizontal
    c.maximized_vertical = not c.maximized_vertical
    end)
    -- Bind all key numbers to tags.
    -- Be careful: we use keycodes to make it works on any keyboard layout.
    -- This should map on the top row of your keyboard, usually 1 to 9.
    for i = 1, 9 do
    globalkeys = awful.util.table.join(globalkeys,
    awful.key({ modkey }, "#" .. i + 9,
    function ()
    local screen = mouse.screen
    local tag = awful.tag.gettags(screen)[i]
    if tag then
    awful.tag.viewonly(tag)
    end
    end),
    awful.key({ modkey, "Control" }, "#" .. i + 9,
    function ()
    local screen = mouse.screen
    local tag = awful.tag.gettags(screen)[i]
    if tag then
    awful.tag.viewtoggle(tag)
    end
    end),
    awful.key({ modkey, "Shift" }, "#" .. i + 9,
    function ()
    local tag = awful.tag.gettags(client.focus.screen)[i]
    if client.focus and tag then
    awful.client.movetotag(tag)
    end
    end),
    awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9,
    function ()
    local tag = awful.tag.gettags(client.focus.screen)[i]
    if client.focus and tag then
    awful.client.toggletag(tag)
    end
    end))
    end
    clientbuttons = awful.util.table.join(
    awful.button({ }, 1, function (c) client.focus = c; c:raise() end),
    awful.button({ modkey }, 1, awful.mouse.client.move),
    awful.button({ modkey }, 3, awful.mouse.client.resize))
    -- Set keys
    root.keys(globalkeys)
    -- {{{ Rules
    awful.rules.rules = {
    -- All clients will match this rule.
    { rule = { },
    properties = { border_width = beautiful.border_width,
    border_color = beautiful.border_normal,
    focus = awful.client.focus.filter,
    keys = clientkeys,
    buttons = clientbuttons,
    size_hints_honor = false } },
    { rule = { class = "URxvt" },
    properties = { opacity = 0.99 } },
    { rule = { class = "MPlayer" },
    properties = { floating = true } },
    { rule = { class = "Dwb" },
    properties = { tag = tags[1][1] } },
    { rule = { class = "Iron" },
    properties = { tag = tags[1][1] } },
    { rule = { instance = "plugin-container" },
    properties = { tag = tags[1][1] } },
    { rule = { class = "Gimp" },
    properties = { tag = tags[1][4] } },
    { rule = { class = "Gimp", role = "gimp-image-window" },
    properties = { maximized_horizontal = true,
    maximized_vertical = true } },
    -- {{{ Signals
    -- Signal function to execute when a new client appears.
    client.connect_signal("manage", function (c, startup)
    -- Enable sloppy focus
    c:connect_signal("mouse::enter", function(c)
    if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier
    and awful.client.focus.filter(c) then
    client.focus = c
    end
    end)
    if not startup and not c.size_hints.user_position
    and not c.size_hints.program_position then
    awful.placement.no_overlap(c)
    awful.placement.no_offscreen(c)
    end
    local titlebars_enabled = false
    if titlebars_enabled and (c.type == "normal" or c.type == "dialog") then
    -- buttons for the titlebar
    local buttons = awful.util.table.join(
    awful.button({ }, 1, function()
    client.focus = c
    c:raise()
    awful.mouse.client.move(c)
    end),
    awful.button({ }, 3, function()
    client.focus = c
    c:raise()
    awful.mouse.client.resize(c)
    end)
    -- Title in the middle
    local middle_layout = wibox.layout.flex.horizontal()
    local title = awful.titlebar.widget.titlewidget(c)
    title:set_align("center")
    middle_layout:add(title)
    middle_layout:buttons(buttons)
    local layout = wibox.layout.align.horizontal()
    layout:set_middle(middle_layout)
    awful.titlebar(c,{size=18}):set_widget(layout)
    end
    end)
    -- No border for maximized clients
    client.connect_signal("focus",
    function(c)
    if c.maximized_horizontal == true and c.maximized_vertical == true then
    c.border_color = beautiful.border_normal
    else
    c.border_color = beautiful.border_focus
    end
    end)
    client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)
    -- {{{ Arrange signal handler
    for s = 1, screen.count() do screen[s]:connect_signal("arrange", function ()
    local clients = awful.client.visible(s)
    local layout = awful.layout.getname(awful.layout.get(s))
    if #clients > 0 then -- Fine grained borders and floaters control
    for _, c in pairs(clients) do -- Floaters always have borders
    if awful.client.floating.get(c) or layout == "floating" then
    c.border_width = beautiful.border_width
    -- No borders with only one visible client
    elseif #clients == 1 or layout == "max" then
    clients[1].border_width = 0
    else
    c.border_width = beautiful.border_width
    end
    end
    end
    end)
    end
    function run_once(cmd)
    findme = cmd
    firstspace = cmd:find(" ")
    if firstspace then
    findme = cmd:sub(0, firstspace-1)
    end
    awful.util.spawn_with_shell("pgrep -u $USER -x " .. findme .. " > /dev/null || (" .. cmd .. ")")
    end
    run_once("nm-applet")
    If someone can help me I'll be really thankful.
    Best regards,
    Georgi

    This is weird behavior that I don't experience with Awesome and Atom. Does this happen only with Atom, or with anything? One aspect of your rc.lua that might cause something like this is the sloppy focusing, this bit here:
    -- Enable sloppy focus
    c:connect_signal("mouse::enter", function(c)
    if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier
    and awful.client.focus.filter(c) then
    client.focus = c
    end
    end)
    Try disabling that, by commenting it out entirely, and see if the problem persists.
    If it only happens with Atom, then maybe Atom conflicts for some reason with this sloppy focusing.

  • MPLS versus Switched network

    Hi all,
    Can Someone tell me if an MPLS network is faster or slower than a switched network ?
    Could you please tell me what this line means :
    rate-limit output access-group rate-limit 0 3000000 600000 1200000 conform-action transmit exceed-action drop
    Thanks 4 your help...

    Hi
    about the second question;
    you have a "access-list rate-limit 0" command in your configuration
    and checking for 3,000,000 = 3M of traffic
    if that traffic class is less than 3Meg it will pass otherwise dropped
    Your first question is very generic, I am not sure whether you mean by WAN switch or LAN switch
    If it is WAN switch Vs MPLS they both have positives and negatives
    Regards
    Sanjeewa Alahakone
    APT- TAC

  • Show tag-switching forwarding-table output

    Hi
    I'm doing a bit of mpls study and wondered if someone could confirm, or otherwise, my understanding of the LFIB table.
    Local tag - The tag that this device would advertise upstream for a neighbour to use to get to a prefix ?
    Outgoing tag - The tag I will apply as I send data downstream towards the destination ?
    So for example prefix 10.1.1.0/24
    Local tag 30 Outgoing tag 35.  I put 30 on if I send to 10.1.1.0/24 and I advertise tag 35 to upstream neighbours to get to 10.1.1.0/24.  Is that correct ?
    What would pop tag mean in the outgoing tag column ?  Would that be a PE telling a P to send untagged data because the PE is a neighbour with the CE advertising that prefix ?
    Lastly what would the untagged and aggregate options mean ?
    Thanks, Stephen.

    Hello Steven,
    >> Local tag 30 Outgoing tag 35.  I put 30 on if I send to 10.1.1.0/24 and I advertise tag 35 to upstream neighbours to get to 10.1.1.0/24.  Is that correct ?
    It is just the opposite:
    outgoing label = it is the label received by the device that is in the path to the destination prefix
    local label= it is the label assigned by local node to the prefix and advertised to all LDP neighbors and used by neighbors that use local node to reach the destination.
    if an MPLS frame with label 30 is received on an interface of local node it is swapped to label 35 and sent out the interface where this label binding has been received, that is on the best path to destination according to IGP metric.
    the signalling protocol for MPLS builds other tables.
    CEF builds the FIB forwarding information table.
    LDP builds LFIB = label forwarding information table.
    the routers in the MPLS cloud build LDP sessions between them.
    In MPLS framed mode the labels are assigned in unsolicited mode: they are assigned to prefixes in the FIB before traffic for that prefix is seen.
    Each router sends out its label assignments towards its LDP neighbors.
    On each router each label value is used only once and associated to a prefix or other FEC.
    the labels actually travel in the opposite direction of traffic: from nearest to farest node. Thi is called downstream.
    unsolicited downstream indipendent
    indipendent means that a node is free to associate a label to a prefix in FIB before receiving the label binding from the router that is on the path to the prefix.
    note that all prefixes to be in CEF FIB have to be advertised by an IPV4 routing protocol like OSPF, EIGRP or IS-IS.
    Also the LDP sessions are built using loopback interfaces so they can be setup only after the routing protocol convergence.
    the end result that can be checked with
    sh mpls forwarding
    is that a local label is associated to the prefix,
    the label received by the router upstream (nearest to the destination ) is used to send out MPLS packets
    the local label is used by the router downstream (farer from destination) the current node when sending frame to this node
    the mpls forwarding table says
    if an incoming packet with label local-label is received I will send out a specific interface with label= action or outgoing label.
    The edge nodes are the routers with at least one non mpls interface.
    These nodes when sending traffic to a prefix perform label imposition by looking at LFIB if an entry is found is used to build the outgoing label.
    when the edge routers receive packets destinated to their non mpls connected interaces they do the opposite by extracting the packet.
    IOS uses normally penultimate hop popping: actually the last router before the edge node receives a special label (implicit-null) that instructs it to send packets for the prefix untagged to the edge node.
    This is an optimization.
    To be noted that MPLS support multiple label stacks and these are used for many applications: L3 VPN, L2 VPN, MPLS TE protection, 6PE, 6VPE.
    when moving in the MPLS cloud only the more external label is changed at each node hop.
    Inner labels travel unchanged end-to-end.
    Hope to help
    Giuseppe

Maybe you are looking for

  • Why will iphone not play video in landscape mode anymore

    I am a HUGE purchaser and user of iTunes Music Videos and on my iPhone, I was happily playing them in playlists and watching them in landscape orientation as a video playlist. I was quite upset when I bought my first iPad and found that it simply wou

  • Not able to post material

    Hi, I am not able to post material in  MB1C.I am getting error,"posting only possible in periods 2002/11 and 2002/10 in company code ZVAN".  I have already done,OMS2 and OMS2.

  • Adobe form editor is not opening...

    I have installed adobe live cycle designer on my system and try to create a simple application in se80 using web dynpro abap. but when i doouble click on the adobe inter active form ... the editor is not pening... its giving some error that form edit

  • I updated my iPad and now it deleted my YouTube and my App Store is weird! How do I get it back?

    I don't know what to do... I lost my YouTube and my App Store is weird and I want my old App Store and YouTube back.

  • JVM memory problem

    I have a memory problem which it exceeds a maximum limit and my application will suspend to restart my service of this application, after that everything is okay. so i need ask about, How can I know if my Garbage Collection is working or not?? How ca