IETF
pwe3
pwe3@jabber.ietf.org
Tuesday, 26 July 2011< ^ >
Room Configuration

GMT+0
[12:39:03] Matt Bocci joins the room
[12:39:53] Matt Bocci leaves the room
[12:39:55] Matt Bocci joins the room
[12:39:59] Matt Bocci leaves the room
[19:15:01] David Sinicrope joins the room
[19:15:36] Andy Malis joins the room
[19:19:25] YJS joins the room
[19:21:18] <YJS> testing
[19:22:49] <Andy Malis> Hi
[19:24:26] Ilya Varlashkin joins the room
[19:24:32] <YJS> it took 5 people to get the display right ...
[19:24:48] <YJS> starting in a few minutes
[19:24:51] <David Sinicrope> use the presentations and agenda from datatracker, not tools. https://datatracker.ietf.org/meeting/81/materials.html#wg-pwe3
[19:25:44] <YJS> slightly revised agenda
[19:26:38] <Ilya Varlashkin> anything worse watching on WebEx?
[19:26:38] <YJS> agenda bashed
[19:26:46] <Ilya Varlashkin> worth
[19:27:07] <YJS> streaming + webexing
[19:27:24] <YJS> goals and milestones are a bit out of date
[19:27:31] <YJS> WG Status
[19:27:39] <YJS> New RFC : RFC6240 (CEP MIB)
[19:27:50] <YJS> In AUTH48 : oam-msg-map and fc-encap
[19:28:13] <YJS> p2mp-pw-requirements
finished WG LC, but needs editorial work (new v4)
[19:28:31] <YJS> eth-oam-iwk WG LC prior to last IETF, Chairs appointed expert reviewers, need to review comments
[19:28:52] Martini joins the room
[19:29:10] <YJS> dynamic-ms-pw - proposal to split out explicit route TLV as new WG draft
[19:29:21] <YJS> base ready for LC ?
[19:29:59] <YJS> Luca - text split out to speed up process
[19:30:22] <YJS> question - is this automatically a WG doc ?
[19:30:29] doron joins the room
[19:31:10] <YJS> Andy - no objection on list - does anyone in the room have a problem ?
[19:31:17] <YJS> no objection - so go ahead
[19:31:29] <YJS> ldp-aii-reachability still waiting for Dynamic MS-PW
[19:31:41] <YJS> fat-pw with IESG (new IPR disclosure)
redundancy and redundancy-bit completed first LC and have new versions
[19:32:44] <YJS> tp-gal-in-pw - have been comments on list on connection to new VCCV mode and ECMP
[19:32:56] <YJS> still no consensus as what to do
[19:33:25] <YJS> Luca - need to talk with the commenters, but comments were not really about the draft
[19:33:43] <Andy Malis> Ilya: all of the slides are up on webex
[19:33:52] <Ilya Varlashkin> ic great
[19:34:09] <Andy Malis> There's also audio streaming: see See http://www.ietf.org/meeting/81/remote-participation.html
[19:34:23] <Ilya Varlashkin> hear it also fine. perfect sound
[19:34:31] <Andy Malis> Thanks for letting us know!
[19:35:05] <YJS> Dave Allan - strange situation - reserved label can cause problems in TP networks
[19:35:11] <YJS> but in IP/MPLS allowed and OK
[19:35:30] <YJS> should explicitly exclude reserved labels from ECMP
[19:35:39] <YJS> Stewart - they ARE explicitly excluded
[19:36:00] anton.elita joins the room
[19:36:04] <YJS> Dave - no objection if there is text to that effect
[19:36:41] <YJS> packet-pw - Andy says that revised version is ready for WG LC (after meeting)
[19:37:00] <YJS> was a comment (Curtis) asking for an optional mode which is more eficient on the wire
[19:37:10] <YJS> Andy suggests writing a new draft on this
[19:37:31] <YJS> this draft is part of the TP project and need to progress ASAP
[19:37:39] <YJS> p2mp-pw on-going
[19:37:50] <YJS> static-pw-status updated following LC
[19:38:01] <YJS> S-PE bypass mode - limited applicability
-
With Stewart
[19:38:27] <YJS> Luca - back to static PW, there was a discussion about bypass mode - is everyone happy with the result ?
[19:38:37] <YJS> Matthew - there wasn't a discussion on the list
[19:39:22] <YJS> SP bypass mode is limited in applicability (doesn't work when go through static and dynamic domains in MS-PW)
[19:39:30] <YJS> question - is this OK to the WG ?
[19:39:35] <YJS> Andy - no objections
[19:39:44] <YJS> Luca - I didn't design it ...
[19:39:52] <YJS> draft-ietf-pwe3-iccp - on-going - discussion on list about applicability to SONET
[19:40:04] <YJS> new WG drafts - tp-ms-pw, pw-typed-wc-fec
[19:40:49] <YJS> still problems with display ...
[19:41:04] <YJS> Tom Nadeau - A Unified Control Channel for Pseudowires (VCCV2)
[19:41:28] <YJS> draft with Luca
[19:42:17] <YJS> quick overview - this is a new version of VCCV that sorts out problem identified in op survey
[19:42:32] <YJS> there are too many modes (CC and CV types) - see implementation survey - and TP created a new one (GAL)
[19:42:59] <YJS> this draft reduces to a single mode (type 4) (actually two modes ...)
[19:43:02] Stewart Bryant joins the room
[19:43:43] <YJS> proposal - type 4 which means either using a CW (survey showed preferred), or w/o CW GACH
[19:44:26] <YJS> both of these modes are mandatory !
[19:44:29] <Ilya Varlashkin> these slides are TINY - just 1/15th of the screen width or so
[19:44:49] <YJS> capability advertisement narrowed down
[19:44:55] <Andy Malis> Ilya - we know - we're having a problem with powerpoint and display resolution
[19:45:04] <Ilya Varlashkin> ah ok
[19:45:12] <YJS> outstanding issue - PW label and GAL positions have been swapped (based on feedback from list)
[19:45:13] <Andy Malis> We're trying to get it fixed, but this is how it works on the main screen for the room
[19:45:46] <Ilya Varlashkin> I can live with that
[19:45:47] <Andy Malis> The slides are also online at http://tools.ietf.org/wg/pwe3/agenda?item=agenda81.html
[19:45:48] <YJS> need to add applicability statements (as Luca just said)
[19:46:34] <YJS> Asking do we want a draft that supersedes 5085 or progress 5085 to PS with these changes as updates ?
moves to adopt
[19:47:17] <YJS> Matthew - who has read the draft ? (about a dozen)
[19:47:21] <YJS> take to the list
[19:48:06] <YJS> Tom up again
[19:48:16] <YJS> Targeted LDP Hello Reduction
[19:48:22] <YJS> with Pranjal Dutta and Giles Heron
[19:48:33] <YJS> 00 version was presented to MPLS WG in IETF-74
[19:48:49] <YJS> all feedback from MPLS WG was addressed in 02 version
[19:49:11] <YJS> moved from Informational to Standards Track
[19:49:45] <YJS> high level objective is to optimize tLDP session maintenance to help scalability (e.g. cellular backhaul)
[19:49:57] <YJS> after LDP session is up hellos become redundant - keepalives are enough to maintain adjacency
[19:50:07] <Martini> This needs to really be in MPLS WG , not here ....
[19:50:09] <YJS> most implementations already do this
[19:50:21] <YJS> Luca - it was there !
[19:50:33] <YJS> hellos are needless overhead if BFD used for ensuring neighbor liveliness
[19:50:39] <YJS> hello DoS attack can lead to loss of true adjacencies
[19:51:28] <YJS> procedures are straight out of 5036, so won't break existing implementations
[19:51:53] <YJS> MPLS chairs asked to present here as well (but Loa doesn't know which chair ..)
[19:52:21] <YJS> do we have consensus here ? (although this will be progressed in MPLS)
[19:52:45] <YJS> soeone at mike - did analysis last year and this is very good to improve scalability
[19:53:03] <YJS> Nurit - understand motivation, do you rely on BFD ?
[19:53:09] <Ilya Varlashkin> I like the goal but have a comment
[19:53:16] <YJS> Tom - yes, that is done
[19:53:29] <YJS> Luca - there is a keepalive on the TCP, this is for the UDP
[19:53:32] <Ilya Varlashkin> it should say that it applies ONLY to BFD
[19:53:57] <YJS> Luca - we had discussion 10 years ago whether hellos are need in targetted sessions
[19:53:58] <Ilya Varlashkin> that open comment
[19:54:17] <YJS> this is a clever way to keep the status quo, but the packets are not useful except as a security hole
[19:54:32] <YJS> Tom - those points were brought up last time
[19:54:44] <YJS> Luca - let's look at updating 5036
[19:54:56] <Ilya Varlashkin> funny - IDR group concluded that TCP keepalives alone are inconsistent between platforms that's why BGP Keepalives are needed. What Luca says is completely opposite
[19:55:27] <YJS> Loa - can the analysis be published on the MPLS mailing list ?
[19:55:43] <Ilya Varlashkin> I agree that Hello are not really necessary if you have BFD
[19:55:48] <Ilya Varlashkin> but only if you have BFD
[19:55:54] <YJS> Loa - convention - mLDP, so please write tLDP NOT T-LDP
[19:56:21] <YJS> Loa - I agree with George that this is too general for PWE and so needs to be done in MPLS
[19:56:33] <YJS> Stewart - out of scope here
[19:56:43] <Ilya Varlashkin> can someone ask at mic if authors would explicitly say that it applies only to BFD case?
[19:57:28] <YJS> Himanshu - if this is a security issue, what do you do if you do receive a hello from a rogue ?
[19:57:46] <YJS> Tom - depends on implementation - use filtering rate limitation, etc.
[19:58:13] <Andy Malis> Ilya - will ask
[19:58:15] <YJS> Dutta - trying to minimize security issue, not eliminate them
[19:58:47] <Ilya Varlashkin> but we're protecting hello with some auth, right?
[19:59:24] <Ilya Varlashkin> if not, then after two neighbors set holdtime to 0xffff, a rogue can still send another hello and reset holdtime down
[19:59:25] <YJS> Tom reading Ilya's question and anwering no
[19:59:45] <YJS> Luca - security problem is from hellos, not a DoS attack, and this doesn't fix it
[20:00:25] <Ilya Varlashkin> where does draft says that nobody can reset down?
[20:00:39] <YJS> Hongjie Hao - CP extension for the MSP application
[20:00:47] <Ilya Varlashkin> and I think it indeed belongs to MPLS WG not to PWE3
[20:00:58] <YJS> Ilya - that was agreed already
[20:01:07] <Ilya Varlashkin> sorry, missed
[20:01:50] <YJS> showing background slide with mobile backhaul scenario
[20:02:29] <YJS> SDH links from PRN to service router
[20:02:44] <YJS> need to sync information betwen two devices (ICCP)
[20:03:27] <YJS> ICCP is the perfect tool for syncing the PEs
[20:04:24] <YJS> this draft extends ICCP TLVs to support MSP
[20:05:02] <YJS> showing 4 new TLVs
[20:05:26] <YJS> note that was wrong, there are more
[20:05:57] <David Sinicrope> It looked like there were about 10 new TLVs
[20:05:58] <YJS> Stewart commented on list that it was not clear what this addresses
[20:06:15] <YJS> just want to extend ICCP to this application
[20:07:43] <YJS> Luca asking where MSP defined
[20:08:01] <YJS> Kam answers that G.841 defines protection for SDH
[20:10:16] <YJS> Daniel Kohn - perhaps we need to generically cover all cases instead of adding 1 more case
[20:10:46] <YJS> Luca - need specific messages for each technology, so can't be generic
[20:11:18] <YJS> Ghani - there are several docs in ITU that impinge on this
[20:16:13] <David Sinicrope> Ghani: To clarify there is a number of documents in ITU-T 1. SDH G.870, a general protection scheme is G.808.1, and G.808.2, specifically for SDH is G.841.
[20:16:31] <YJS> Yaakov asked at mike if these are Ethernet PWs or SDH PWs, and the answer is CEP
[20:16:45] <YJS> Yimin Shen PW Endpoint Fast Failure Protection
[20:17:27] <YJS> showing scenario with end-to-end backup path
[20:18:00] <YJS> any failure causes global repair to backup PW
[20:18:21] <YJS> this requires control protocol that may be slow, here propose faster local repair
[20:18:43] <YJS> 10s or ms (comparable to MPLS FRR)
[20:20:00] <YJS> PH redirects traffic to the backup egress PE
[20:21:58] <YJS> AC failure causes egress PE to send directly to alternate egress PE
[20:22:24] <Ilya Varlashkin> question when he finishes presenting: when does PW2 (backup) will get activated? looks like never
[20:25:25] <Andy Malis> Ilya - let's see if your question gets answered during the presentation
[20:25:42] <Ilya Varlashkin> yep, that's why I asked to hold it until end of presentation
[20:27:16] <Andy Malis> There's a long line forming at the mike
[20:27:31] <YJS> I am not scribing all of this - you can see it in the slide deck ...
[20:27:35] <Ilya Varlashkin> ok, I'm not alone with doubts :-)
[20:27:53] <Ilya Varlashkin> I'm looking at the slides
[20:27:54] <YJS> BTW, I just sent the list of ITU documents for SDH protection to the list
[20:28:18] <David Sinicrope> No Ilya there are 6+ folks already at the mike.
[20:28:38] <Ilya Varlashkin> ok :-)
[20:29:11] <David Sinicrope> I think he just answered your question
[20:29:19] <David Sinicrope> I didn't understand the answer though
[20:29:31] <Ilya Varlashkin> me neither if it was
[20:30:02] <YJS> Stewart (hat off) - PLR is plain p-router ? (yes) then danger of all packets being sent to PE5
[20:30:16] <YJS> this may make a packet loop !
[20:31:31] <YJS> assumption is that PE1 will only map PW packets into the MPLS tunnel, not IP packets
[20:31:40] <YJS> Stewart - this is moving away from general design
[20:31:55] <Ilya Varlashkin> so PLR needs to know that it's PWE so it's not plain P router
[20:32:06] <YJS> context dependent labeling
[20:32:30] <YJS> Stewart - some PW types (e.g., TDM PWs) will have problems with this (need applicability)
[20:33:10] <YJS> Florin - agree with Stewart about node protection, regarding AC protection - this is done for a while and can just shunt PE2-PE4 and achieve much more easily
[20:33:47] <YJS> also, standard mechanism uses PE1-PE4 rather than PE1-PE2-PE4 which also wastes BW
[20:34:33] <YJS> answer - that needs control plane and is slower !
[20:34:49] <YJS> can use local repair until global repair kicks in
[20:34:57] <Andy Malis> Ilya - I'm going to have move things along - we may not have time to get to your question and you may need to ask it on the list if you're still not satisfied
[20:35:04] <Ilya Varlashkin> ok
[20:35:50] <YJS> Himanshu - how does CE2 know about traffic diversion ?
[20:36:14] <YJS> answer - CE should understand
[20:36:41] <YJS> Himanshu - CE2 is out of loop so needs some other mechanism
[20:36:47] <Ilya Varlashkin> wow jabber is much faster than audio stream
[20:37:14] <YJS> Nurit - a few questions 1) you assume 2 connections for dual homing
[20:37:36] <YJS> you allocated 1 LSP for all PWs, so is there a scalability issue ?
[20:37:49] <YJS> also, PE failure - how does it know which PE
[20:37:59] <YJS> answer - draft describes how it works
[20:38:12] <YJS> (Ilya - no, I type faster than light !)
[20:38:41] <Ilya Varlashkin> time bending
[20:38:41] <YJS> Andy - need to cut off line - take to the list
[20:38:54] <YJS> Matthew - who has read the draft ? (20 or 30)
[20:39:03] <Ilya Varlashkin> o/
[20:39:09] <Ilya Varlashkin> I did
[20:39:12] <YJS> Pranjal Kumar Dutta Pseudowire Communities
[20:40:27] <YJS> generic method for simplifying provisioning of dynamic PWs
[20:41:07] <Ilya Varlashkin> some day somebody will want to advertise that info in BGP - that's going to be confusing due to choice of term
[20:41:17] <YJS> Dyn MS-PW spans across multiple administrative domains. For security reasons strict access control is required at S-PEs. One way is to define policies at S-PEs based on SAII/TAII but adds complexity, admin overhead, configuration mistakes.
[20:41:41] <YJS> Dyn MS-PW requires each S-PE to choose a unidirectional PSN tunnel.
[20:41:49] <YJS> T-PEs may require to signal the preference of PSN tunnels at S-PEs.
[20:42:10] <YJS> solution - defines a 32 bit "community" attribute
[20:42:38] <YJS> this is a generic way to "color" PWs
[20:42:57] <YJS> different from PW groups (operation grouping)
[20:43:18] <YJS> this is policy driven - not necessarily correlated
[20:43:34] <YJS> requests discussion on list, and to adopt
[20:43:44] <YJS> Luca - is this for 128 or 129 ?
[20:44:02] <YJS> 129 ! in that case, is this dynamic signalling ? (yes)
[20:44:20] <YJS> in that case, how is this different from advertising routes with communities
[20:45:17] <YJS> answer - community represents a template that has set of rules defined locally by a T-PE or S-PE
[20:45:31] <YJS> Luca - this is a valid alternative to what is in dynamic draft
[20:45:50] <YJS> need to think what we want to do
[20:46:11] <YJS> Luca - might need more extensibility
[20:46:32] <YJS> Andy - how many have read (a few), take discussion to list
[20:46:45] <YJS> Sami Boutros Definition of P2MP PW TLV for LSP-Ping Mechanisms
[20:46:46] <Ilya Varlashkin> o/
[20:46:51] <Ilya Varlashkin> yes, but can they change name?
[20:47:06] <Ilya Varlashkin> ic I'm always behind audio
[20:47:12] <Andy Malis> This is a PDF, so it's not shared on Webex
[20:47:48] <YJS> define LSP Ping procedures for P2MP PW
[20:47:56] <YJS> P2MP PWs can be signaled using LDP or BGP
[20:48:03] <YJS> Supports Inclusive and aggregate Inclusive P2MP
[20:48:13] <YJS> Define a new FEC 130 Pseudowire sub-TLV
[20:48:27] <YJS> target FEC Stack to identify P2MP PW under test
[20:48:43] <YJS> showing protocol format
[20:49:43] awgy joins the room
[20:49:44] <YJS> for inclusive P2MP MPLS P-trees, the echo request is sent using the P2MP MPLS P-tree label.
[20:50:00] <YJS> for aggregate Inclusive P-trees, the echo request is sent using a label stack of <P2MP MPLS P-tree
[20:50:35] <YJS> use echo-jitter TLC to prevent congestion
[20:50:52] <YJS> use node address P2MP responder TLV to limit echo reply to a single node
[20:51:17] <YJS> ni future want to support lsp ping on selective P-trees
[20:51:55] <YJS> p2mp PW draft has downstream label is one option, but not recommended here
[20:52:11] <YJS> isn't FEC 130 already in use ?
[20:52:25] mjbarnes joins the room
[20:52:41] <YJS> Andy - how many have read (3-4 hands)
[20:52:56] <YJS> Ping Pan LDP extensions for Explicit Pseudowire to transport LSP mapping
[20:53:35] <YJS> with Mach Chen, Wei Cao, Attila Takacs
[20:53:56] <YJS> solves a real problem in the network
[20:55:25] <YJS> when using PW over MPLS need binding of bidi to same optic fibers
[20:56:05] <YJS> using tLDP we need to associate the two directions to given MPLS tunnels
[20:56:33] <YJS> but there is also "congruent" mode where both sides initiate PW setup
[20:56:51] <YJS> so PE2 can reject and renegotiate
[20:57:33] <YJS> FRR issue (debated on list) - when negotiate binding need to clearly define the tunnel (SA DA)
[20:58:22] <YJS> however, with FRR may be same tunnel ID
[20:58:27] mjbarnes leaves the room
[20:59:01] <YJS> MS-PW issue - need to ensure corouting end-to-end
[20:59:33] <YJS> protocol extension - optional TLV for setup with flag that tells tunnel ID
[21:00:27] <YJS> Greg - terminology "congruent" is not defined and ambiguous, please use bidi corouted/associated, etc
[21:02:03] <YJS> also, can we allow multiple subTLVs ?
[21:02:03] <YJS> answer - need new temrinology section
[21:04:56] <YJS> spent a lot of time on processing rules - I will explain to you offline why we did it this way
[21:04:57] <YJS> 3rd - we may think of scope extension
[21:06:03] <David Sinicrope> testing jabber
[21:06:13] <David Sinicrope> testing jabber
[21:06:27] <Andy Malis> Dave - got it
[21:06:40] <David Sinicrope> OK Yakov may have dropped off.
[21:06:46] <Andy Malis> I'm not seeing Yaakov
[21:07:38] <David Sinicrope> minutes from draft-cao
[21:07:41] <David Sinicrope> Need to bind both directions of the PW to the same bidirectional LSPs.
In congruent mode the binding can be negotiated between the PE routers.
The fast reroute issue has been debated on the list. The tunnel to be used must be clearly defined.
Greg Mirsky: The terminology is not correct. Congruent is ambiguous, is it bidir corouted, or bidir associated? Also assume a single PSN tunnel exists, should assume different switching scenarios.
Ping: Agree about the terminology. Not so sure about providing multiples, should talk offline.
Nurit: More and more signaling requirements on PW signaling to deal with MS PW. Should we adopt RSVP-TE as a signaling mechanism for PW.
Ping: should look at ideas
Lou: corouted, associated unidirectional LSP - need to work on some terminology and be clear by what we mean by corouted and associated. Associated LSPs that follow same path are not corouted. Would like to see how to handled end-end protection.
Ping: good comments. We would like more comments.
Many have read the draft and no objections to the WG taking on this work.
Andy asked that the authors take a pass through the document based on the comments from the meeting especially related to terminology. We will then take a poll to make a WG document.
[21:13:12] <Martini> looks like Yaakov crashed
[21:13:41] <Andy Malis> Did Yaakov crash, or his laptop?
[21:13:45] <Martini> yes
[21:18:09] <David Sinicrope> discussion on Daniel's draft
[21:18:11] <David Sinicrope> Nurit: Still some concerns about the document. Need to consider scalability per PW, especially in large network with protecting against more than one SPE failure. Would like to see a local protection mechanism.
Daniel: You can say the same about single SPE failure for existing PW redundancy.
Matthew: When we scoped linear potection it was felt that PW redundancy met the requirements including the scenario presented. So PW redundancy was removed from linear protection.
Daniel: this provides mechanisms (in Benefits (2) side) that PW redundancy doesn't. e.g., 1:1 and 1+1, external triggers. Changing PW redundancy to address these would not be as easy as applying linear protection to PWs.
Matthew: many of these mechanisms listed have been addressed in implementations of PW redundancy. The adaption of linear protection is a new hurdle.
About a dozen have read the draft.
[21:25:10] <Stewart Bryant> test msg
[21:25:25] <Andy Malis> Hi Stewart
[21:25:26] <Stewart Bryant> luca on status agregation
[21:25:27] <David Sinicrope> Discussion on Fei's draft
[21:25:28] <David Sinicrope> Tom N: generally have a problem with configuring OAM inside of LDP and others. Comments made from VCCV survey in regard to negotiating OAM capabilities. This was cited as a disaster for compatibility. Dynamically changing the configuration of the device is better done by the provisioning system.
Fei: These things can be negotiated.
Tom: We've already been down this road. See the VCCV survey because it is cited as a big problem which drove the VCCV draft.
Matthew: this is negotiating more CV type
Tom: same problem regarding dynamic changes.
~20 have read the draft.
[21:25:44] thomasdnadeau joins the room
[21:25:55] <Stewart Bryant> WG adoption call in progress
[21:26:03] <thomasdnadeau> hi
[21:26:08] <Stewart Bryant> Open issue
[21:26:13] <Stewart Bryant> scop of cp
[21:26:16] <Stewart Bryant> Security
[21:26:59] <Stewart Bryant> do not want this to be a full control protocol - will have strong applicability staements
[21:27:26] <Stewart Bryant> Cannot do MD5 type security
[21:27:56] <Stewart Bryant> added id number proc
[21:28:53] thomasdnadeau leaves the room
[21:29:55] <YJS> test
[21:30:08] <YJS> jabber is not working
[21:30:12] <Ilya Varlashkin> status packing as alternative
[21:33:33] <David Sinicrope> still working???
[21:33:41] <Andy Malis> Yup
[21:34:00] YJS leaves the room
[21:35:11] <David Sinicrope> Andy adjourned the meeting. Adios
[21:35:20] David Sinicrope leaves the room
[21:37:33] Andy Malis leaves the room
[21:39:17] Ilya Varlashkin leaves the room
[21:40:34] Stewart Bryant leaves the room
[22:45:34] Martini leaves the room
[22:50:17] lllmartini joins the room
[23:01:52] lllmartini leaves the room
[23:04:19] doron leaves the room
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!