RE: [CCAMP] Yangdoctors last call review of draft-ietf-ccamp-mw-yang-05 capitals

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Agree with Tom here, if it is not a big issue I'd prefer to keep them in capital letter as they show up in capital letters in all the draft/RFC and IANA registries.

BR
Daniele  

> -----Original Message-----
> From: t.petch <ietfc@xxxxxxxxxxxxx>
> Sent: martedì 12 giugno 2018 06:56
> To: Jonas Ahlberg <jonas.ahlberg@xxxxxxxxxxxx>; Jan Lindblad <janl@tail-
> f.com>
> Cc: yang-doctors@xxxxxxxx; ccamp@xxxxxxxx; Yemin (Amy)
> <amy.yemin@xxxxxxxxxx>; draft-ietf-ccamp-mw-yang.all@xxxxxxxx; ietf
> <ietf@xxxxxxxx>
> Subject: Re: [CCAMP] Yangdoctors last call review of draft-ietf-ccamp-mw-
> yang-05 capitals
> 
> Top posting and tweaking the subject line slightly since I am picking up one
> minor point only
> 
> > There are a couple of identities with capitals. Consider changing to
> all lowercase; that is the YANG convention.
> >
> >   identity E1 {
> >   identity STM-1 {
> > [Amy] will fix it.
> > [Jonas] OK.
> 
> Disagree!  If I see e1 I will probably think exponent - if I see E1, I know exactly
> what is intended, in a wide range of contexts.  YANG guidelines allows
> "Upper-case characters, the period character,
>    and the underscore character MAY be used if the identifier represents
>    a well-known value that uses these characters.  "
> and I think that E1 and STM-1 fall within that MAY.
> 
> I see
> identity client-signal-OC3_STM1
> in
> draft-ietf-ccamp-otn-tunnel-model-01
> and
> identity STM-1 {
> in
> draft-fioccola-ccamp-l1csm-yang-01
> 
> so I think that CCAMP needs to decide between STM-1 and STM1 - the
> former works for me - and then tell the YANG doctors that that is how it
> is:-) YMMV
> 
> Tom Petch
> 
> ----- Original Message -----
> From: "Jonas Ahlberg" <jonas.ahlberg@xxxxxxxxxxxx>
> To: "Jan Lindblad" <janl@xxxxxxxxxx>
> 
> 
> > Hi Jan & Amy,
> > See comments & questions in green [Jonas2].
> > Regards
> > JonasA
> >
> > From: Jan Lindblad <janl@xxxxxxxxxx>
> > Sent: den 11 juni 2018 15:29
> 
> >
> > Jonas,
> >
> > Thank you for your review and valuable comments.
> > I’ve not responded to the latest mail since I have added comments to
> some of the items removed in that mail.
> > I’ve copied and pasted your comments into this mail instead, in order
> to make the thread of comments complete.
> >
> > I’ve added my comments in green [Jonas].
> >
> > [janl2] Very good. Sorry for deleting text prematurely ;-)
> >
> > I would like to ask CCAMP for support with the question about if the
> protection group is likely to be reused elsewhere or if it can be merged with
> the microwave module again.
> >
> > Regards
> > JonasA
> >
> > From: Yemin (Amy)
> <amy.yemin@xxxxxxxxxx<mailto:amy.yemin@xxxxxxxxxx>>
> > Sent: den 8 juni 2018 11:37
> >
> > Hi Jan,
> >
> > Thanks very much for the comments. I found them are quiet useful to
> improve the models.
> > Please see my reply below in blue.
> > The draft co-authors may add more reply to your comments.
> >
> > BR,
> > Amy
> > -----Original Message-----
> > From: CCAMP [mailto:ccamp-bounces@xxxxxxxx] On Behalf Of Jan Lindblad
> > Sent: Thursday, June 07, 2018 6:18 PM
> >
> > Reviewer: Jan Lindblad
> > Review result: Ready with Issues
> >
> > YD review of draft-ietf-ccamp-mw-yang
> >
> > I have now reviewed the YANG modules and corresponding examples of
> the -05 version of this draft. I have not read much of the RFC text, so I can't
> vouch for how well the text aligns with the model. I find the proposed
> modules in good shape. Most of my comments below are alternate ways of
> modeling something that the wg may consider, or a few things where I
> propose a better option for something that would be acceptable even as it is.
> There is a single issue that must be fixed IMO, see #8 below.
> >
> > Let's start with module ietf-microwave-types.
> >
> > #1) Consider adding structure to related identities
> >
> > This module consists mostly of a long list of identities based off of
> coding-modulation. If it makes sense that in the future someone might be
> interested in doing something with all qam-4096 based identities or all -
> strong identities, say, it may make sense to model the identities as based on
> each other in a tree style. E.g.
> >
> >   identity qam-4096 {
> >     base coding-modulation;
> >     description
> >       "4096 QAM coding and modulation scheme.";
> >   }
> >
> >   identity qam-4096-strong {
> >     base qam-4096;
> >     description
> >       "4096 QAM strong coding and modulation scheme.";
> >   }
> >
> >   identity qam-4096-light {
> >     base qam-4096;
> >     description
> >       "4096 QAM light coding and modulation scheme.";
> >   }
> >
> > Or even go to "multiple inheritance" with multiple bases for
> identities, e.g.
> > for qam-4096 and strong. This would allow future applications to
> filter the identities on such criteria. Just a thought.
> > [Amy] change to base qam-4096. Multiple bases seem not applicable
> here.
> > [Jonas] I agree.
> >
> > #2) Convention to use all lowercase in YANG symbols
> >
> > There are a couple of identities with capitals. Consider changing to
> all lowercase; that is the YANG convention.
> >
> >   identity E1 {
> >   identity STM-1 {
> > [Amy] will fix it.
> > [Jonas] OK.
> >
> > Next, let's look at module ietf-interface-protection.
> >
> > I can't say I understand exactly why this is a separate module. It
> publishes a single grouping, which is required by ietf-microwave-radio-link,
> and as far as I understand would probably never be used anywhere else.
> When the grouping is used a single time in ietf-microwave-radio-link, it is
> immediately refined.
> > Would probably reduce the clutter by merging the two modules and
> resolving the refine.
> > [Amy] They were in one model. During the WG discussion, comment was
> raised that the interface protection function could be generic and be used by
> other technologies in future, so we split the models.
> > I’m open to discuss about this.
> > [janl] Ok, I didn't quite see how the grouping would be used anywhere
> else, but if it indeed is usable elsewhere, having it in a separate module isn't
> a bad idea.
> > [Jonas] I’m in favor of reverting back to one single module gain,
> since it will simplify the model as you mention above. The argument for
> breaking it out into a separate module is that it can be used elsewhere.
> I’m doubtful if it ever will be, but here I think we need input from the rest of
> the community (at least from the CCAMP WG).
> >
> >
> > #3) Config true leaf name status
> >
> > I find it counter-intuitive that a leaf called status (or state) is a
> configuration item. I had to re-read the model several times to get my head
> around the fact that this is indeed meant to be config true.
> Perhaps consider a name change?
> >
> >       leaf status {
> > [Amy] status should be config false.
> > [Jonas] Correct. Our mistake.
> >
> > #4) Action external-commands
> >
> > There is a single action called external-commands (even in plural). It
> takes a single argument, which is the name of the operation to execute.
> No output. To me, a more natural modeling would be to make each of the
> external commands an action, over time possibly with different input and
> output.
> > [Amy] add output to describe the action result (success, fail,
> inprogress). But prefer to use one action.
> > Change the name to external-command.
> > [janl] Hmm, I don't quite understand your preference for a single
> action. I see how this choice closes doors, but no real benefit. This is no big
> deal, though, what you have works. Just feels less evolvable for no reason.
> > [Jonas] I’m not quite sure I’ve understood what you propose. Do you
> mean that we should replace the single action statement and the list of
> identifiers with several action statements:
> > action manual-switch-working;
> > action manual-switch-protection;
> > …
> > action clear;
> > The reason for using identities was that we wanted to make it easy to
> extend the module with additional, potentially vendor specific, commands by
> augmentation.
> > But maybe there are other ways to handle that in case of using the
> alternative approach you suggest.
> >
> > [janl2] Yes, exactly. Separate actions like this has the advantage
> that they can take (different) input and output parameters, and that they
> can be access controlled separately using NACM. This way different
> operators could have/not have access to different operations. Future
> standard or vendor modules could still augment whatever additional actions
> they like to the same location in the tree.
> > [Jonas2] OK I understand and I see the advantage of this approach.
> Amy, should we consider change to this or are there other benefits with the
> original approach?
> >
> > Finally, we have module ietf-microwave-radio-link.
> >
> > #5) Use derived-from when comparing identities
> >
> > It's more future-proof and more likely to be interoperable if you use
> proper XPATH functions to determine kinship than using plain equality
> >
> >   augment "/if:interfaces/if:interface" {
> >     when "if:type = 'mw-types:radio-link-terminal'";
> >
> > is better written as
> >
> >   augment "/if:interfaces/if:interface" {
> >     when "derived-from-or-self(if:type,
> 'mw-types:radio-link-terminal')";
> >
> > This allows future sub-typing (sub-classing) of radio-link-terminal,
> i.e. new identities that are based on radio-link-terminal to reflect some
> special kind of RLT. It also improves chances of interoperability.
> > [Amy] will adopt this.
> > [Jonas] Agree.
> >
> > #6) Blank id reasonable?
> >
> > Leafs that function as an id usually do not have defaults. Does a
> blank id make sense here? If it does, maybe it would make more sense to
> leave it without a default and explain what happens if not set in the
> description instead? Or mark it as mandatory if it has to be set.
> >
> >     leaf id {
> >       type string;
> >       default "";
> > [Amy] remove default. Add mandatory.
> > [Jonas] I think that the name of the attribute could be misleading. It
> ’s not a formal id of the terminal, it is a text string that is used by an optional
> system feature in a far-end RLT (on the opposite end of the microwave link)
> to verify that the correct two RLTs (far-end and
> near-end) are connected.
> > I don’t think we should make it mandatory. I would suggest to leave it
> without default and clarify the consequences in the description.
> >
> > #7) Use derived-from when comparing identities (again)
> >
> >     leaf-list carrier-terminations {
> >       type if:interface-ref;
> >       must "/if:interfaces/if:interface[if:name = current()]"
> >          + "/if:type = 'mw-types:carrier-termination'" {
> >
> > is better written as
> >
> >       must "derived-from-or-self(/if:interfaces/if:interface[if:name =
> >       current()]"
> >          + "/if:type, 'mw-types:carrier-termination')" {
> >
> > It is possible to write this in a more compact way, but there's
> nothing wrong with the above.
> >
> >       must "derived-from-or-self(deref(current())/.."
> >          + "/if:type, 'mw-types:carrier-termination')" { [Amy] will
> > adopt this.
> > [Jonas] Agree.
> >
> > #8) Badly broken frequency duplex config
> >
> > If you read the descriptions in these related leafs:
> >
> >     leaf tx-frequency {
> >       type uint32;
> >       units "kHz";
> >       mandatory true;
> >       description
> >         "Selected transmitter frequency.";
> >     }
> >    leaf rx-frequency {
> >       type uint32;
> >       units "kHz";
> >       description
> >         "Selected receiver frequency.
> >          Overrides existing value in duplex-distance.
> >          Calculated from tx-frequency and duplex-distance if
> >          only duplex-distance is configured.
> >          Must match duplex-distance if both leaves are
> >          configured in a single operation.";
> >     }
> >
> >     leaf duplex-distance {
> >       type uint32;
> >       units "kHz";
> >       description
> >         "Distance between Tx & Rx frequencies.
> >          Used to calculate rx-frequency when
> >          rx-frequency is not specifically configured.
> >          Overrides existing value in rx-frequency.
> >          Calculated from tx-frequency and rx-frequency if only
> >          rx-frequency is configured.
> >          Must match rx-frequency if both leaves are configured
> >          in a single operation.";
> >     }
> >
> > It appears that the author intends the system to fill in the value for
> one of these leaves based on the value set for the other. This is a big no-no.
> A system should never alter its own configuration, or automation flows
> (which is the whole purpose with YANG and NETCONF, remember) will
> break. Also, the validity of the configuration should not depend on how
> many operations are used to inject it.
> >
> > I find this a serious flaw that must be fixed before the module can be
> released.
> >
> > I propose fixing it like this:
> >
> >     leaf tx-frequency {
> >       type uint32;
> >       units "kHz";
> >       mandatory true;
> >       description
> >         "Selected transmitter frequency.";
> >     }
> >     choice freq-or-distance {
> >       leaf rx-frequency {
> >         type uint32;
> >         units "kHz";
> >         description
> >           "Selected receiver frequency."
> >       }
> >       leaf duplex-distance {
> >         type uint32;
> >         units "kHz";
> >         description
> >           "Distance between Tx & Rx frequencies."
> >       }
> >     }
> >
> > If you would like to have read-only computed values accessible in the
> model, maybe you could add:
> >
> >     leaf actual-rx-frequency {
> >       type uint32;
> >       units "kHz";
> >       description
> >         "Computed receiver frequency."
> >       config false;
> >     }
> >     leaf actual-duplex-distance {
> >       type uint32;
> >       units "kHz";
> >       description
> >         "Computed distance between Tx & Rx frequencies."
> >       config false;
> >     }
> >
> > Many other ways of doing this properly are also possible. Let me know
> if you'd like to discuss options.
> > [Amy] I think choice is a good way to model those leafs. I suggest to
> use it.
> > That’s the real value of YANG doctors! Thanks.
> > [Jonas] Thanks for your help. We have discussed this a lot without
> finding a good solution. I agree that we should use it.
> > The only question I have is the name of the attributes. Should the
> attribute used for configuration or the attribute showing the resulting be
> called rx-frequency?
> > config-rx-frequency & rx-frequency   v.s.   rx-frequency &
> actual-rx-frequency
> >
> > [janl2] I used actual-rx-frequency because you had some other leafs
> called actual-...
> >
> > Yet another possibility could be to model it like this (pseudo YANG):
> >
> > leaf tx { ... }
> > choice freq-or-dist {
> >   container by-frequency {
> >     leaf rx { ... }
> >     leaf dist { config false; }
> >   }
> >   container by-distance {
> >     leaf dist { ... }
> >     leaf rx { config false; }
> >   }
> > }
> >
> > I.e. three leaves with the same names, just different paths (since the
> container names differ) and different configness. I think my initial proposal is
> a little cleaner, tho, which is why I went with that one earlier. Or you could
> move the actual-... leaves into the choice, so that only the one that's
> meaningful exists.
> >
> > [Jonas2] I think that your first proposal has a benefit of always
> providing access to the actual configuration through the same leafs (and
> path) (tx-frequency, actual-rx-frequency, actual-duplex-distance,
> independent of how they have been configured.
> > One use-case we have discussed is that an operator uses
> duplex-distance for the initial configuration of the rx-frequency and then in a
> second step fine tuning it by setting the rx-frequency directly. Would that
> work with a choice statement, i.e. that you first choose duplex-distance and
> then in a subsequent operation overrides that and choose rx-frequency?
> >
> > #9) Check that lower threshold is less than upper threshold
> >
> > Would it make sense to add a must statement checking that the lower
> threshold is less than (or equal?) to the upper threshold?
> >
> >     leaf atpc-lower-threshold  {
> >       when "../power-mode = 'atpc'";
> >       type power {
> >         range "-99..-30";
> >       }
> >       units "dBm";
> >       mandatory true;
> >       description
> >         "The lower threshold for the input power at far-end
> >          used in the ATPC mode.";
> >       reference "ETSI EN 302 217-1";
> >     }
> >     leaf atpc-upper-threshold  {
> > [Amy] can add the must statement.
> > [Jonas] Good!
> >
> > #10) Choice more convenient
> >
> > There are a few leafs that act as discriminators for when clauses in
> other leafs. Such constructs might be a little smoother when modeled as a
> choice instead. I'll take one and show as an example. This power-mode
> construct:
> >
> >     leaf power-mode {
> >       type enumeration {
> >         enum rtpc {
> >           description
> >             "Remote Transmit Power Control (RTPC).";
> >           reference "ETSI EN 302 217-1";
> >         }
> >
> >         enum atpc {
> >           description
> >             "Automatic Transmit Power Control (ATPC).";
> >           reference "ETSI EN 302 217-1";
> >         }
> >       }
> >       mandatory true;
> >       description
> >         "A choice of Remote Transmit Power Control (RTPC)
> >          or Automatic Transmit Power Control (ATPC).";
> >     }
> >
> >     leaf maximum-nominal-power {
> >       type power {
> >         range "-99..40";
> >       }
> >       units "dBm";
> >       mandatory true;
> >       description
> >         "Selected output power in RTPC mode and selected
> >          maximum output power in ATPC mode. Minimum output
> >          power in ATPC mode is the same as the system
> >          capability, available-min-output-power.";
> >       reference "ETSI EN 302 217-1";
> >     }
> >
> >     leaf atpc-lower-threshold  {
> >       when "../power-mode = 'atpc'";
> >       type power {
> >         range "-99..-30";
> >       }
> >       units "dBm";
> >       mandatory true;
> >       description
> >         "The lower threshold for the input power at far-end
> >          used in the ATPC mode.";
> >       reference "ETSI EN 302 217-1";
> >     }
> >     leaf atpc-upper-threshold  {
> >       when "../power-mode = 'atpc'";
> >       type power {
> >         range "-99..-30";
> >       }
> >       units "dBm";
> >       mandatory true;
> >       description
> >         "The upper threshold for the input power at far-end
> >          used in the ATPC mode.";
> >       reference "ETSI EN 302 217-1";
> >     }
> >
> > could be modeled as:
> >
> >     choice power-mode {
> >       container rtpc {
> >         description
> >           "Remote Transmit Power Control (RTPC).";
> >         reference "ETSI EN 302 217-1";
> >         leaf maximum-nominal-power {
> >           type power {
> >             range "-99..40";
> >           }
> >           units "dBm";
> >           mandatory true;
> >           description
> >             "Selected output power.";
> >           reference "ETSI EN 302 217-1";
> >         }
> >       }
> >       container atpc {
> >         description
> >           "Automatic Transmit Power Control (ATPC).";
> >         reference "ETSI EN 302 217-1";
> >
> >         leaf maximum-nominal-power {
> >           type power {
> >             range "-99..40";
> >           }
> >           units "dBm";
> >           mandatory true;
> >           description
> >              "Selected maximum output power. Minimum output
> >              power is the same as the system
> >              capability, available-min-output-power.";
> >           reference "ETSI EN 302 217-1";
> >         }
> >
> >         leaf atpc-lower-threshold  {
> >           type power {
> >             range "-99..-30";
> >           }
> >           units "dBm";
> >           mandatory true;
> >           description
> >             "The lower threshold for the input power at far-end
> >              used in the ATPC mode.";
> >           reference "ETSI EN 302 217-1";
> >         }
> >         leaf atpc-upper-threshold  {
> >           type power {
> >             range "-99..-30";
> >           }
> >           units "dBm";
> >           mandatory true;
> >           description
> >             "The upper threshold for the input power at far-end
> >              used in the ATPC mode.";
> >           reference "ETSI EN 302 217-1";
> >         }
> >       }
> >       mandatory true;
> >       description
> >         "A choice of Remote Transmit Power Control (RTPC)
> >          or Automatic Transmit Power Control (ATPC)."; }
> >
> > [Amy] Choice is a better way. Is it possible to further refine your
> proposal?
> > Since maximum-nominal-power will be used by both RTPC and ATPC, how
> about to move it out of the choice, then use maximum-nominal-power in the
> choice? Like this:
> >         leaf maximum-nominal-power {
> >           type power {
> >             range "-99..40";
> >           }
> >           units "dBm";
> >          mandatory true;
> >           description
> >              "Selected maximum output power. Minimum output
> >              power is the same as the system
> >              capability, available-min-output-power.";
> >           reference "ETSI EN 302 217-1";
> >         }
> >
> >     choice power-mode {
> >       container rtpc {
> >         description
> >           "Remote Transmit Power Control (RTPC).";
> >         reference "ETSI EN 302 217-1";
> >
> >         use maximum-nominal-power;
> >       }
> >       container atpc {
> >         description
> >           "Automatic Transmit Power Control (ATPC).";
> >         reference "ETSI EN 302 217-1";
> >
> >         use maximum-nominal-power;
> >
> >         leaf atpc-lower-threshold  {
> >           type power {
> >             range "-99..-30";
> >           }
> >           units "dBm";
> >           mandatory true;
> >           description
> >             "The lower threshold for the input power at far-end
> >              used in the ATPC mode.";
> >           reference "ETSI EN 302 217-1";
> >         }
> >         leaf atpc-upper-threshold  {
> >           type power {
> >             range "-99..-30";
> >           }
> >           units "dBm";
> >           mandatory true;
> >           description
> >             "The upper threshold for the input power at far-end
> >              used in the ATPC mode.";
> >           reference "ETSI EN 302 217-1";
> >         }
> >       }
> >       mandatory true;
> >       description
> >         "A choice of Remote Transmit Power Control (RTPC)
> >          or Automatic Transmit Power Control (ATPC).";
> >     }
> >
> > [janl] Yes, this is certainly very reasonable. I placed the
> maximum-nominal-power inside the choice because the description string
> was giving the leaf different interpretations in each case. In that case I felt it
> better to have separate leaves with clear descriptions. If you feel the leaf can
> be shared between the options with a clear definition of its meaning, this is
> reasonable.
> > [Jonas] One purpose of the mode attribute was to show if the
> carrier-termination was configured for RTPC or ATPC, but I guess the same
> can be achieved by looking for which container, rtpc or atpc, has been
> instantiated.
> >
> > [janl2] Yes, that's the idea.
> > [Jonas2]. Good!
> >
> > I suggest that we go for Jan’s proposal since the attribute has
> different meaning in the two cases. One purpose of the
> >
> > #11) Choice more convenient (again)
> >
> > Same thing again for
> >
> >     leaf coding-modulation-mode {
> > [Amy] will update it.
> > [Jonas] OK, see above.
> >
> > #12) Unusual exponential notation
> >
> > Do you really mean 10e-9 (=10*10^-9 =10^-8), or do you mean the more
> traditional notation 1e-9?
> >
> >       leaf ber-alarm-threshold {
> >         type enumeration {
> >           enum "10e-9" {
> > [Amy] should be 1e-9. Need to confirm with the co-authors.
> > [Jonas] Yes, we mean 10^-9, 10^-8, …, 10^-1.
> >
> > [janl2] A perpahs simpler way to model this would be to only keep the
> part that contains information, i.e. as
> >
> > leaf ber-alarm-threshold {
> >   type int8 {
> >     range -9..-1;
> >   }
> >   default -6;
> >   description "Specification of at which BER as a power of 10 an alarm
> should be raised. 10^-6 is the default.";
> >   reference "ETSI EN 302 217-1";
> > }
> >
> > #13) Separate module with grouping, used a single time with refine
> >
> > Module ietf-interface-protection defines a grouping
> (protection-groups), which is used a single time, yet is refined when it is used
> below. As noted before comment #3, I find this way of laying out the YANG
> unnecessarily hard to read and understand, for no clear benefit.
> >
> >   container radio-link-protection-groups { ....
> >     uses ifprot:protection-groups {
> >
> >       refine protection-group/members {
> >         must "/if:interfaces/if:interface[if:name = current()]"
> >            + "/if:type = 'mw-types:carrier-termination'" {
> >
> > Also, as noted in comment #7, the must statement is better written
> using derived-from-or-self. This applies regardless of the current refine
> statement is kept, or if the must statement moves to the actual leaf-list it
> applies to.
> > [Amy] Will update the must statement.
> > [Jonas] If I remember correctly, I think it was done with the ambition
> that it should be made generic so that other interface technologies could use
> the same protection module. In case, we revert back to one single module I
> suggest that we also simply the structure as Jan suggests.
> >
> > Appendix A.1 & A.2
> >
> > Besides the actual YANG modules, there are also a couple of examples
> in Appendix A.1 and A.2. I tried to use them and uncovered a couple of
> issues.
> >
> > #14) Config false leaf in config example
> >
> > Both examples list
> >
> >         "tx-oper-status": on
> >
> > This is a config false item, which could never be part of a
> configuration message (and it also lacks comma at the end).
> > [Amy] will remove it.
> > [Jonas] OK
> >
> > #15) Wrong type in example
> >
> > Both examples list
> >
> >         "coding-modulation-mode": 0,
> >
> > 0 not a legal value, should be "single" to match the rest of the
> example data.
> > [Amy] will fix it.
> > [Jonas] OK
> >
> > #16) Missing mandatory parameter
> >
> > Both examples lacks leaf maximum-nominal-power, which is mandatory
> according to the YANG, so the transaction fails to validate.
> > [Amy] will add it.
> > [Jonas] OK
> >
> > #17) Examples perhaps a tad basic
> >
> > The examples are demonstrating only a small part of the module
> functionality. A bigger example, e.g. including xpic with interface pointers
> might be useful.
> >
> > Feel free to reach out to me to discuss any of this. Thank you.
> > [Amy] will add additional example.
> > [Jonas] Good suggestion. Amy, let’s what configuration to show.
> >
> >
> > Best Regards,
> > /jan
> >
> >





[Index of Archives]     [IETF Annoucements]     [IETF]     [IP Storage]     [Yosemite News]     [Linux SCTP]     [Linux Newbies]     [Mhonarc]     [Fedora Users]

  Powered by Linux