[email protected] wrote:
To recap, since this discussion has gone to many places/threads,
I think we currently have (listed with examples for readability)
For both ipv4/ipv6
ipadm set-addrprop [-p [addr params like src addr selection]] link0/fe80::1
ipadm get-addrprop [-p ..] link0/10.1.2.3
For IPv4:
ipadm create-addr link0/10.1.2.3
ipadm delete-addr link0/10.1.2.3
I assume there can be an optional prefixlen/netmask with those.
Question is whether than becomes part of the name or is an option.
For instance, with
ipadm create-addr link0/10.1.2.3/24
it looks like it is part of the name, and as a result I'd expect to
state the /24 with the delete.
But things are different if we do
ipadm create-addr -prefixlen 24 link0/10.1.2.3
ipadm create-dhcp4 -i link0 [other dhcpv4 options] mydhcgrp4
NIT: Are we consistent whether we have a 'v' before '4' and '6'? Should
we be consistent.
As I compare this with the create-addr the names are different. In
create-addr the name includes "link0" but it does not in create-dhcpv4.
If I created the address object with
ipadm create-dhcp4 -i link0 default
would I do properties with
ipadm set-addrprop [...] link1/default
What is the name space for that name? By that I mean whether or not I can do
ipadm create-dhcp4 -i link0 default
ipadm create-dhcp6 -i link0 default
or whether that tells me the object called "default" already exists.
ipadm delete-dhcp4 [-all | mydhcgrp4]
If -all is useful for dhcp, wouldn't it also be useful for static?
Perhaps it isn't needed in either case.
libipadm`ipadm_create_interface() to plumb the interface with 0.0.0.0
The fact that SIOCGLIFADDR returns an address of all zeros is an
implementation matter as far as I'm concerned.
I think we want the liberty to change that as things evolve.
For IPv6
ipadm create-dhcp6 -i link0 [other dhcpv6 options] mydhcgrp6
ipadm delete-dhcp6 [-all | mydhcgrp6]
This means that the semantics of set-addrprop for link0/mydhcpgrp6 will
apply to all the addresses. Thus one wouldn't be able to tweak the
deprecated property for one of the DHCPv6 assigned addresses in the
mydhcpgrp6 set. (I don't think it makes sense in any case, since DHCP
will manage those properties.)
(Should we just have one create-dhcp that takes a -f?)
Static/autoconf IPv6 addresses are still under discussion. In theory,
the *-addr commands above should continue to just be usable for static IPv6.
(The context of the address would tell us if ipv4 or ipv6 was implied,
except when dns was invoked, e.g., ipadm create-addr link0/myhost.com,
for which case we can have a -f flag, or some clearly defined
defaults).
What is the name of the object created using link0/myhost.com i.e., what
name would I use with set-addrprop and delete?
If I can have two (-f inet link0/myhost.com, and -f inet6
link0/myhost.com), then wouldn't you need '-f' to become part of the name?
Furthermore, if myhost.com resolves to >1 IPv4 addresses (or IPv6
addresses), does the above create a single address object with N
addresses in it?
I can see two ways forward on that one:
1. Do not allow hostnames for create-addr at all.
2. Make a hostname lookup all the IPv4 and IPv6 addresses and create a
single object with all those addresses in it. I.e., not need for a -f.
Autoconf: we could have a new command, as Erik suggested in another
thread. Or try to squeeze it into the create-addr commands.
My high-order comment was that stateless and dhcpv6 are welded together
per the RFCs since DHCPv6 is triggered from the router advertisements.
We could potentially have an administrative override for this (some
customer has asked for it), but if we want the default to be
stateless+dhcpv6 (where the resulting address set is a function of how
the routers and DHCPv6 agents have been configured) it would make some
sense to have a create-ipv6.
Here's a somewhat radical thought for v6-autoconf: it's not supposed to
need configuration (or, at least, it needs minimal configuration). So
why not treat it as interface property:
ipadm set-intfprop -p ip6_token=<..> link0
ipadm set-intfprop -p enable-ipv6=true link0
Does that have potential/appeal?
Too limited, since I want more control and also have additional address
sets with different tokens.
ipadm set-ifprop ipv6_token
is useful when I want to override the default token.
But I also want to be able to do a default plus an additional with
something like
ipadm create-ipv6 link0/defaultv6
ipadm create-ipv6 ipv6_token=0:1:2:3:4:5:6:7 link0/specialv6
In summary, the fundamental questions I have above are around
1. making sure the name of the created object is clear for all the ways
they can be created
2. we need to decide how to handle the fact that IPv6 stateless and
DHCPv6 are welded together in the RFCs
Erik
_______________________________________________
networking-discuss mailing list
[email protected]