rgmanager: Add IP "interface" parameter
PATCH 1/1 rgmanager: Add IP "interface" parameter
This patch adds an "interface" parameter for IP resources. The interface must already be configured and active. This parameter should be used only when at least two active interfaces have IP addresses on the same subnet and it's necessary to specify which particular interface should be used.
--- rgmanager/src/resources/ip.sh | 17 +++++++++++++++++ 1 file changed, 17 insertions(+)
rgmanager/src/resources/ip.sh +17 -0
@@ -132,6 +132,15 @@ meta_data() <content type="boolean"/> </parameter> + <parameter name="interface"> + <longdesc lang="en"> + The network interface to which the IP address should be added. The interface must already be configured and active. This parameter should be used only when at least two active interfaces have IP addresses on the same subnet and it is desired to have the IP address added to a particular interface. + </longdesc> + <shortdesc lang="en"> + Network interface + </shortdesc> + <content type="string"/> + </parameter> </parameters> <actions>
@@ -587,6 +596,10 @@ ipv6() fi if [ "$1" = "add" ]; then + if [ -n "$OCF_RESKEY_interface" ] && \ + [ "$OCF_RESKEY_interface" != $dev ]; then + continue + fi ipv6_same_subnet $ifaddr_exp/$maskbits $addr_exp if [ $? -ne 0 ]; then continue
@@ -670,6 +683,10 @@ ipv4() fi if [ "$1" = "add" ]; then + if [ -n "$OCF_RESKEY_interface" ] && \ + [ "$OCF_RESKEY_interface" != $dev ]; then + continue + fi ipv4_same_subnet $ifaddr/$maskbits $addr if [ $? -ne 0 ]; then continue
Signature · 1 line
1.7.10.4
PATCH 1/1 rgmanager: Add IP "interface" parameter
Hi Ryan,
only one comment here.. many times we have been asked to implement "interface" parameter to allow any random IP on any specific interface (beside the pre configured ip on that interface).
Can we change the patch to simply fix both problems at once? Effectively, the fact that 2 interfaces have 2 ip on the same subnet is simply a corner case.
Maybe later on we can add something like: ifconfig iface up / down.
when doing ifconfig up we need to store the output of ip addresses automatically assigned to that interface.
on shutdown, we need to check if the ip we are removing is the last one on that interface _before_ issuing an ifconfig down in case there are more ip resources associated to it.
The patch looks ok, but I would probably use a different term than "interface" as it sounds very similar to the expected feature above.
Fabio
Quoted 53 lines · Ryan McCabe
This patch adds an "interface" parameter for IP resources. The interface must already be configured and active. This parameter should be used only when at least two active interfaces have IP addresses on the same subnet and it's necessary to specify which particular interface should be used.
Signed-off-by Ryan McCabe <[email protected]>--- rgmanager/src/resources/ip.sh | 17 +++++++++++++++++ 1 file changed, 17 insertions(+)rgmanager/src/resources/ip.sh +17
-0@@ -132,6 +132,15 @@ meta_data() <content type="boolean"/> </parameter> + <parameter name="interface"> + <longdesc lang="en"> + The network interface to which the IP address should be added. The interface must already be configured and active. This parameter should be used only when at least two active interfaces have IP addresses on the same subnet and it is desired to have the IP address added to a particular interface. + </longdesc> + <shortdesc lang="en"> + Network interface + </shortdesc> + <content type="string"/> + </parameter> </parameters> <actions>@@ -587,6 +596,10 @@ ipv6() fi if [ "$1" = "add" ]; then + if [ -n "$OCF_RESKEY_interface" ] && \ + [ "$OCF_RESKEY_interface" != $dev ]; then + continue + fi ipv6_same_subnet $ifaddr_exp/$maskbits $addr_exp if [ $? -ne 0 ]; then continue@@ -670,6 +683,10 @@ ipv4() fi if [ "$1" = "add" ]; then + if [ -n "$OCF_RESKEY_interface" ] && \ + [ "$OCF_RESKEY_interface" != $dev ]; then + continue + fi ipv4_same_subnet $ifaddr/$maskbits $addr if [ $? -ne 0 ]; then continue
PATCH 1/1 rgmanager: Add IP "interface" parameter
Quoted 5 lines · Fabio M. Di Nitto
Hi Ryan,
only one comment here.. many times we have been asked to implement "interface" parameter to allow any random IP on any specific interface (beside the pre configured ip on that interface).
We haven't done that because we might end up owning routing. However, if we make it explicit that this is not the case, then we could in theory do both.
-- Lon
PATCH 1/1 rgmanager: Add IP "interface" parameter
Quoted 10 lines · Lon Hohberger
Quoted 5 lines · Fabio M. Di Nitto
Hi Ryan,
only one comment here.. many times we have been asked to implement "interface" parameter to allow any random IP on any specific interface (beside the pre configured ip on that interface).
We haven't done that because we might end up owning routing. However, if we make it explicit that this is not the case, then we could in theory do both.
hmm right.. forgot about that.
I would still prefer to avoid the use of interface="" option if possible tho. Maybe something slightly less overloaded. force_interface or force_net_device.
Fabio
PATCH 1/1 rgmanager: Add IP "interface" parameter
Quoted 12 lines · Fabio M. Di Nitto
Quoted 10 lines · Lon Hohberger
Quoted 5 lines · Fabio M. Di Nitto
Hi Ryan,
only one comment here.. many times we have been asked to implement "interface" parameter to allow any random IP on any specific interface (beside the pre configured ip on that interface).
We haven't done that because we might end up owning routing. However, if we make it explicit that this is not the case, then we could in theory do both.
Quoted 6 lines
hmm right.. forgot about that.
I would still prefer to avoid the use of interface="" option if possible tho. Maybe something slightly less overloaded.
force_interfaceorforce_net_device.
Sure; that's fine.
prefer_interface=""
maybe? "If more than one match, use this one, otherwise, use the one that matches"
-- Lon
PATCH 1/1 rgmanager: Add IP "interface" parameter
Quoted 20 lines · Lon Hohberger
Quoted 12 lines · Fabio M. Di Nitto
Quoted 10 lines · Lon Hohberger
Quoted 5 lines · Fabio M. Di Nitto
Hi Ryan,
only one comment here.. many times we have been asked to implement "interface" parameter to allow any random IP on any specific interface (beside the pre configured ip on that interface).
We haven't done that because we might end up owning routing. However, if we make it explicit that this is not the case, then we could in theory do both.
Quoted 6 lines
hmm right.. forgot about that.
I would still prefer to avoid the use of interface="" option if possible tho. Maybe something slightly less overloaded.
force_interfaceorforce_net_device.
Quoted 6 lines
Sure; that's fine.
prefer_interface=""
maybe? "If more than one match, use this one, otherwise, use the one that matches"
Yes that sounds a lot better than force_* :)
Thanks
Fabio
PATCH 1/1 rgmanager: Add IP "interface" parameter
Quoted 5 lines · Fabio M. Di Nitto
Quoted 4 lines · Lon Hohberger
Sure; that's fine.
prefer_interface=""
Quoted 7 lines
Quoted 2 lines
maybe? "If more than one match, use this one, otherwise, use the one that matches"
Yes that sounds a lot better than force_* :)
Thanks
Fabio
Works for me.
New patch:
This patch adds a "prefer_interface" parameter for IP resources. The interface must already be configured and active. This parameter should be used only when at least two active interfaces have IP addresses on the same subnet and it's necessary to specify which particular interface should be used.
--- rgmanager/src/resources/ip.sh | 17 +++++++++++++++++ 1 file changed, 17 insertions(+)
rgmanager/src/resources/ip.sh +17 -0
@@ -132,6 +132,15 @@ meta_data() <content type="boolean"/> </parameter> + <parameter name="prefer_interface"> + <longdesc lang="en"> + The network interface to which the IP address should be added. The interface must already be configured and active. This parameter should be used only when at least two active interfaces have IP addresses on the same subnet and it is desired to have the IP address added to a particular interface. + </longdesc> + <shortdesc lang="en"> + Network interface + </shortdesc> + <content type="string"/> + </parameter> </parameters> <actions>
@@ -587,6 +596,10 @@ ipv6() fi if [ "$1" = "add" ]; then + if [ -n "$OCF_RESKEY_prefer_interface" ] && \ + [ "$OCF_RESKEY_prefer_interface" != $dev ]; then + continue + fi ipv6_same_subnet $ifaddr_exp/$maskbits $addr_exp if [ $? -ne 0 ]; then continue
@@ -670,6 +683,10 @@ ipv4() fi if [ "$1" = "add" ]; then + if [ -n "$OCF_RESKEY_prefer_interface" ] && \ + [ "$OCF_RESKEY_prefer_interface" != $dev ]; then + continue + fi ipv4_same_subnet $ifaddr/$maskbits $addr if [ $? -ne 0 ]; then continue
Signature · 1 line
1.7.10.4
PATCH 1/1 rgmanager: Add IP "interface" parameter
ACK
-- Lon
Quoted 72 lines · Ryan McCabe
Quoted 5 lines · Fabio M. Di Nitto
Quoted 4 lines · Lon Hohberger
Sure; that's fine.
prefer_interface=""
Quoted 7 lines
Quoted 2 lines
maybe? "If more than one match, use this one, otherwise, use the one that matches"
Yes that sounds a lot better than force_* :)
Thanks
FabioWorks for me.
New patch:
This patch adds a "
prefer_interface" parameter for IP resources. The interface must already be configured and active. This parameter should be used only when at least two active interfaces have IP addresses on the same subnet and it's necessary to specify which particular interface should be used.Signed-off-by Ryan McCabe <[email protected]>--- rgmanager/src/resources/ip.sh | 17 +++++++++++++++++ 1 file changed, 17 insertions(+)rgmanager/src/resources/ip.sh +17
-0@@ -132,6 +132,15 @@ meta_data() <content type="boolean"/> </parameter> + <parameter name="prefer_interface"> + <longdesc lang="en"> + The network interface to which the IP address should be added. The interface must already be configured and active. This parameter should be used only when at least two active interfaces have IP addresses on the same subnet and it is desired to have the IP address added to a particular interface. + </longdesc> + <shortdesc lang="en"> + Network interface + </shortdesc> + <content type="string"/> + </parameter> </parameters> <actions>@@ -587,6 +596,10 @@ ipv6() fi if [ "$1" = "add" ]; then + if [ -n "$OCF_RESKEY_prefer_interface" ] && \ + [ "$OCF_RESKEY_prefer_interface" != $dev ]; then + continue + fi ipv6_same_subnet $ifaddr_exp/$maskbits $addr_exp if [ $? -ne 0 ]; then continue@@ -670,6 +683,10 @@ ipv4() fi if [ "$1" = "add" ]; then + if [ -n "$OCF_RESKEY_prefer_interface" ] && \ + [ "$OCF_RESKEY_prefer_interface" != $dev ]; then + continue + fi ipv4_same_subnet $ifaddr/$maskbits $addr if [ $? -ne 0 ]; then continue
PATCH 1/1 rgmanager: Add IP "interface" parameter
In reply to Lon HohbergerQuoted 20 lines · Lon Hohberger
Quoted 12 lines · Fabio M. Di Nitto
Quoted 10 lines · Lon Hohberger
Quoted 5 lines · Fabio M. Di Nitto
Hi Ryan,
only one comment here.. many times we have been asked to implement "interface" parameter to allow any random IP on any specific interface (beside the pre configured ip on that interface).
We haven't done that because we might end up owning routing. However, if we make it explicit that this is not the case, then we could in theory do both.
Quoted 6 lines
hmm right.. forgot about that.
I would still prefer to avoid the use of interface="" option if possible tho. Maybe something slightly less overloaded.
force_interfaceorforce_net_device.
Quoted 6 lines
Sure; that's fine.
prefer_interface=""
maybe? "If more than one match, use this one, otherwise, use the one that matches"
Yes that sounds a lot better than force_* :)
Thanks
Fabio