I'm ok with this as well, Mahesh. Thanks,
Eliot On 22.01.18 22:48, Mahesh Jethanandani wrote: > Eliot, > > I am not sure about what is a basic function, and what is not. > Tomorrow, somebody can argue that TCP SYN flag is a basic function and > should be broken out from under the TCP header. > > I would rather that port definition remain under TCP/UDP with the > feature statement ‘match-on-tcp’ and ‘match-on-udp’. The proposed > change then looks like what is here > <https://github.com/netmod-wg/acl-model/pull/23/commits/dc4ed556bd71cb9e648b0babdebe05a3a5b7bf68>, > and all the changes in the PR are captured here > <https://github.com/netmod-wg/acl-model/pull/23>. > > Thanks > >> On Jan 22, 2018, at 11:14 AM, Eliot Lear <l...@cisco.com >> <mailto:l...@cisco.com>> wrote: >> >> Hi Kent and Mahesh and Sonal, >> >> Thanks very much for working on this draft. I have noted one problem >> that I think needs correcting. I come prepared with a diff. >> >> The current model has {source,dest}-port-or-range hanging off ipv4 or >> ipv6. This is a transport parameter and is not appropriate for >> protocols that do not use ports (ie, ICMP, ESP, etc). A better >> locale would be to hang these components underneath l4 underneath >> their respective tcp and udp branches. >> >> Because this is so basic a function, I propose that this *not* be >> included in match-on-tcp or match-on-udp. Instead, the contents of >> both tcp and udp be moved to new containers "tcp-all" and "udp-all", >> respectively, and the ports hang as peers to that. Thus, if a very >> simple device can understand TCP and UDP ports but cannot understand >> more detailed information, that is supported. >> >> And so from a tree perspective, it would look like this: >> >> >> | | +--rw (l4)? >> | | | +--:(tcp) >> | | | | +--rw tcp >> | | | | +--rw source-port-range-or-operator >> | | | | | +--rw (port-range-or-operator)? >> | | | | | +--:(range) >> | | | | | | +--rw lower-port inet:port-number >> | | | | | | +--rw upper-port inet:port-number >> | | | | | +--:(operator) >> | | | | | +--rw operator? operator >> | | | | | +--rw port inet:port-number >> | | | | +--rw destination-port-range-or-operator >> | | | | | +--rw (port-range-or-operator)? >> | | | | | +--:(range) >> | | | | | | +--rw lower-port inet:port-number >> | | | | | | +--rw upper-port inet:port-number >> | | | | | +--:(operator) >> | | | | | +--rw operator? operator >> | | | | | +--rw port inet:port-number >> | | | | +--rw tcp-all {match-on-tcp}? >> | | | | +--rw sequence-number? uint32 >> | | | | +--rw acknowledgement-number? uint32 >> | | | | +--rw data-offset? uint8 >> | | | | +--rw reserved? uint8 >> | | | | +--rw flags? bits >> | | | | +--rw window-size? uint16 >> | | | | +--rw urgent-pointer? uint16 >> | | | | +--rw options? uint32 >> | | | +--:(udp) >> | | | | +--rw udp >> | | | | +--rw source-port-range-or-operator >> | | | | | +--rw (port-range-or-operator)? >> | | | | | +--:(range) >> | | | | | | +--rw lower-port inet:port-number >> | | | | | | +--rw upper-port inet:port-number >> | | | | | +--:(operator) >> | | | | | +--rw operator? operator >> | | | | | +--rw port inet:port-number >> | | | | +--rw destination-port-range-or-operator >> | | | | | +--rw (port-range-or-operator)? >> | | | | | +--:(range) >> | | | | | | +--rw lower-port inet:port-number >> | | | | | | +--rw upper-port inet:port-number >> | | | | | +--:(operator) >> | | | | | +--rw operator? operator >> | | | | | +--rw port inet:port-number >> | | | | +--rw udp-all {match-on-udp}? >> | | | | +--rw length? uint16 >> >> >> A diff ietf-packet-fields.yang and ietf-access-control-lists.yang is >> attached. >> >> Eliot >> >> >> >> On 17.01.18 22:55, Kent Watsen wrote: >>> All, >>> >>> This starts a two-week working group last call on >>> draft-ietf-netmod-acl-model-15. >>> >>> This working group last call ends on January 31st. >>> Please send your comments to the NETMOD mailing list. >>> >>> Positive comments, e.g., "I've reviewed this document >>> and believe it is ready for publication", are welcome! >>> This is useful and important, even from authors. >>> >>> Also, could the authors, explicitly CC-ed on this email, >>> please confirm at this time that they are unaware of >>> any IPR related to this draft. >>> >>> Thank you, >>> NETMOD Chairs >>> >>> _______________________________________________ >>> netmod mailing list >>> netmod@ietf.org >>> https://www.ietf.org/mailman/listinfo/netmod >>> >> >> *** ietf-packet-fie...@2018-01-16.yang.orig >> <mailto:ietf-packet-fie...@2018-01-16.yang.orig>Mon Jan 22 12:58:08 2018 >> --- ietf-packet-fie...@2018-01-16.yang >> <mailto:ietf-packet-fie...@2018-01-16.yang>Mon Jan 22 13:10:57 2018 >> *************** >> *** 190,205 **** >> payload. In IPv6, this field is known as 'next-header."; >> reference "RFC 719, RFC 2460."; >> } >> - container source-port-range-or-operator { >> - uses port-range-or-operator; >> - description >> - "Source port definition."; >> - } >> - container destination-port-range-or-operator { >> - uses port-range-or-operator; >> - description >> - "Destination port definition."; >> - } >> } >> >> grouping acl-ipv4-header-fields { >> --- 190,195 ---- >> *** ietf-access-control-l...@2018-01-16.yang.orig >> <mailto:ietf-access-control-l...@2018-01-16.yang.orig>Mon Jan 22 >> 10:16:17 2018 >> --- ietf-access-control-l...@2018-01-16.yang >> <mailto:ietf-access-control-l...@2018-01-16.yang>Mon Jan 22 13:09:06 2018 >> *************** >> *** 440,457 **** >> >> choice l4 { >> container tcp { >> ! if-feature match-on-tcp; >> uses packet-fields:acl-tcp-header-fields; >> ! description >> "Rule set that matches TCP headers."; >> ! } >> ! >> container udp { >> ! if-feature match-on-udp; >> ! uses packet-fields:acl-udp-header-fields; >> ! description >> ! "Rule set that matches UDP headers."; >> ! } >> >> container icmp { >> if-feature match-on-icmp; >> --- 440,482 ---- >> >> choice l4 { >> container tcp { >> ! container source-port-range-or-operator { >> ! uses packet-fields:port-range-or-operator; >> ! description >> ! "Source port definition."; >> ! } >> ! container destination-port-range-or-operator { >> ! uses packet-fields:port-range-or-operator; >> ! description >> ! "Destination port definition."; >> ! } >> ! container tcp-all { >> ! if-feature match-on-tcp; >> uses packet-fields:acl-tcp-header-fields; >> ! description >> "Rule set that matches TCP headers."; >> ! } >> ! description "TCP matchable characteristics"; >> ! } >> container udp { >> ! container source-port-range-or-operator { >> ! uses packet-fields:port-range-or-operator; >> ! description >> ! "Source port definition."; >> ! } >> ! container destination-port-range-or-operator { >> ! uses packet-fields:port-range-or-operator; >> ! description >> ! "Destination port definition."; >> ! } >> ! container udp-all { >> ! if-feature match-on-udp; >> ! uses packet-fields:acl-udp-header-fields; >> ! description >> ! "Rule set that matches UDP headers."; >> ! } >> ! description "UDP matchable characteristics"; >> ! } >> >> container icmp { >> if-feature match-on-icmp; >> _______________________________________________ >> netmod mailing list >> netmod@ietf.org <mailto:netmod@ietf.org> >> https://www.ietf.org/mailman/listinfo/netmod > > Mahesh Jethanandani > mjethanand...@gmail.com <mailto:mjethanand...@gmail.com> >
signature.asc
Description: OpenPGP digital signature
_______________________________________________ netmod mailing list netmod@ietf.org https://www.ietf.org/mailman/listinfo/netmod