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

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,

  • 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 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

  • 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.

  • Belkin KVM Switch 2 issue

    recently bought the new Belkin Switch 2 KVM gizmo.
    Hooked it up to a G5 PPC DVI->VGA & G4 PPC(AGP) VGA. Montior is a Samsung Syncmaster 172T (1024x768 @ 60hz), keyboard & mouse are Apple Pro, both wired. Running 10.4.7
    Boot up the G5 & it gets through boot up but then crashes - in respect that although login/startup items continue to load, the mouse is unresponsive & the screen defaults to the generic wallpaper & the screen resolution is not as specified in system prefs (ie. lesser/basic res.)Only way out is to hit the power button til it turns itself off.
    Boot up the G4 & it works perfectly. Have reversed the switch cables to check them but no change to the G5 crash. Looks to me like there may be an issue with DVI-VGA and the Switch2.
    Has anyone experienced this & more importantly figured out how to solve this issue?
    TIA, Andy
    G5   Mac OS X (10.4.7)  

    The new Apple keyboard is very underpowered. Even if connected directly to the computer mine won't power my Ipod, so i would say it's likely a power issue.

  • Tagged text import issues

    I have had some issues with importing tagged text. In my workflow i get some data converted to tagged text, no problems, special characters are also converted to ASCII entities.
    Everything works on my machine, but as soon as it is imported on another machine, the special characters are gone.
    I have located the issue, that my entities are lowercase (e.g. ë = <0x00eb>), and by making it uppercase (<0x00EB>) it works.
    What can be the difference on the machines? Is it an InDesign thing, or is it a CPU thing? The only difference on the machines are that mine is a Mac with intel processor, and the other is a G5.

    Oops -- the smiley face in the code should be changed to semicolon close angle (greater than sign). Jim

  • Oracle to SQL server switch mapping issue?

    Hi All,
    We are switching the DB from Oracle to SQL. As a result our existing mapping seems to create issue while we are trying to INSERT data.
    We changed some of the date setting as and also the hasQuot to Yes so when it goes to the SQL server it runs as CONVERT(datetime,'currentDate/time', 120)
    Before doing this change we were getting the error
    com.microsoft.sqlserver.jdbc.SQLServerException: Conversion failed when converting date and/or time from character string.
    Now we are getting the error
    com.microsoft.sqlserver.jdbc.SQLServerException: String or binary data would be truncated
    Also other date fields are sent with '' like '20150427'
    Additionally fields which are Characters are also sent in '' like 'Shaibayan' but when these fields are coming empty at that time the Audit log SQL INSERT shows them as ''' i.e. 3 single quotes instead of '' which we should get.
    Thanks,
    Shaibayan

    ORA-28545:     error diagnosed by Net8 when connecting to an agent
    Cause:      An attempt to call an external procedure or to issue SQL to a non-Oracle system on a Heterogeneous Services database link failed at connection initialization. The error diagnosed by Net8 NCR software is reported separately.
    Action:      Refer to the Net8 NCRO error message. If this isn't clear, check connection administrative setup in tnsnames.ora and listener.ora for the service associated with the Heterogeneous Services database link being used, or with 'extproc_connection_data' for an external procedure call.
    And a brief search of Metalink gave me a load of forum threads which discuss the same issue.
    Edited by: Satish Kandi on Apr 29, 2009 12:19 PM

  • Activate or switch device issue

    I purchased an Iphone 5 with my upgrade with the intent to turn around and sell it on ebay (same thing I did with my iphone 4 upgrade last time). I received the phone, brought it to the verizon store to have it activated and then get switched back to my Droid...all went well and I even called verizon later to confirm the iphone 5 had been activated on my account. Now my problem is if I go to "activate or switch device" I am still getting a "verify your new device" page with the iphone 5. Shouldn't this have gone away once my iphone 5 had been activated on my account?
    With my previous upgrades, once I activated/deactivated the new phone and reactivated my old phone I was free to activate any phone I wished on that number. There are no issues with "activate or switch device" on the other 2 lines on my account, just the line I used to get the upgrade.
    Any ideas?

    Call customer service from a line NOT involved in the switch you want to do - 800-922-0204.  Sometimes I've been able to switch devices on my own, but the last few times it's been glitchy, and I've had to call CS.  To Verizon's credit, the CS reps have been very helpful and have managed to get the correct device(s) activated in relatively short order.
    From the main menu, choose Option 4 (Other) and then say AGENT at the prompt - you should be connected to a live person pretty quickly.

Maybe you are looking for