Discussion:
IPMP - Programmatic interface
Paresh Bafna
2012-07-20 06:54:25 UTC
Permalink
Hi,

I read about libipmp library which provides programmatic (ioctl/system calls) interface to configure and monitor IPMP groups.

However I am not able to find any documentation or library itself for use.

Please provide more info on libipmp.

Thanks and Regards,
Paresh Bafna
James Carlson
2012-07-20 11:49:02 UTC
Permalink
Post by Paresh Bafna
Hi,
I read about libipmp library which provides programmatic (ioctl/system
calls) interface to configure and monitor IPMP groups.
However I am not able to find any documentation or library itself for use.
Please provide more info on libipmp.
Some (actually, many) libraries have no interface designed for use by
anyone outside of the project team that implemented them. They're not
necessarily "secret," but the team that wrote them either does not
believe that they represent useful interfaces for other projects or that
the team does not (or cannot) commit to a sufficient level of stability
to make the interfaces safe enough to use in any other project.

So, the answer really depends on what you're trying to do. However, if
you're bound and determined to use it anyway, Google is your friend.
Here's the first hit when I plug "libipmp" into the search box:

http://arc.opensolaris.org/caselog/PSARC/2007/272/commitment.materials/libipmp.txt
--
James Carlson 42.703N 71.076W <carlsonj-dlRbGz2WjHhmlEb+***@public.gmane.org>
Peter Memishian
2012-07-20 16:35:38 UTC
Permalink
Post by Paresh Bafna
I read about libipmp library which provides programmatic (ioctl/system
calls) interface to configure and monitor IPMP groups.
However I am not able to find any documentation or library itself for use.
Please provide more info on libipmp.
As Jim said, this is a private/unstable library. If you write code that
uses it, the only guarantee is that your code will break in the future :-)

As an aside: libipmp does not configure IPMP. For S11 FCS, that
functionality lives mostly in another private/unstable library (libipadm).
Further, the programmatic mechanism used to configure IPMP is also subject
to change at any time. The only stable configuration mechanisms are the
command-line utilities. For monitoring, tracking the IFF_* flags is
stable and will cover the basics; beyond that you'd need to use ipmpstat's
parsable mode.

Hope this helps,
--
meem
Paresh Bafna
2012-07-24 06:41:26 UTC
Permalink
Thanks for your reply.

I am looking for stable/supported interface for configuring and monitoring IPMP groups from C/C++ program.
Looks like I will have to move towards CLI interface.

Thanks all for help.

Thanks and Regards,
Paresh Bafna


-----Original Message-----
From: Peter Memishian [mailto:Peter.Memishian-***@public.gmane.org]
Sent: Friday, July 20, 2012 10:06 PM
To: Paresh Bafna
Cc: networking-discuss-***@public.gmane.org
Subject: re: [networking-discuss] IPMP - Programmatic interface
Post by Paresh Bafna
I read about libipmp library which provides programmatic (ioctl/system
calls) interface to configure and monitor IPMP groups.
However I am not able to find any documentation or library itself for use.
Please provide more info on libipmp.
As Jim said, this is a private/unstable library. If you write code that
uses it, the only guarantee is that your code will break in the future :-)

As an aside: libipmp does not configure IPMP. For S11 FCS, that
functionality lives mostly in another private/unstable library (libipadm).
Further, the programmatic mechanism used to configure IPMP is also subject
to change at any time. The only stable configuration mechanisms are the
command-line utilities. For monitoring, tracking the IFF_* flags is
stable and will cover the basics; beyond that you'd need to use ipmpstat's
parsable mode.

Hope this helps,
--
meem
Peter Memishian
2012-07-24 17:27:37 UTC
Permalink
Post by Paresh Bafna
I am looking for stable/supported interface for configuring and
monitoring IPMP groups from C/C++ program.
If you could be more specific I may be able to suggest a stable/supported
way to do what you want in C/C++.
Post by Paresh Bafna
Looks like I will have to move towards CLI interface.
Thanks all for help.
Thanks and Regards,
Paresh Bafna
-----Original Message-----
Sent: Friday, July 20, 2012 10:06 PM
To: Paresh Bafna
Subject: re: [networking-discuss] IPMP - Programmatic interface
Post by Paresh Bafna
I read about libipmp library which provides programmatic (ioctl/system
calls) interface to configure and monitor IPMP groups.
However I am not able to find any documentation or library itself for use.
Please provide more info on libipmp.
As Jim said, this is a private/unstable library. If you write code that
uses it, the only guarantee is that your code will break in the future :-)
As an aside: libipmp does not configure IPMP. For S11 FCS, that
functionality lives mostly in another private/unstable library (libipadm).
Further, the programmatic mechanism used to configure IPMP is also subject
to change at any time. The only stable configuration mechanisms are the
command-line utilities. For monitoring, tracking the IFF_* flags is
stable and will cover the basics; beyond that you'd need to use ipmpstat's
parsable mode.
Hope this helps,
--
meem
--
meem
Paresh Bafna
2012-07-25 05:17:41 UTC
Permalink
Hi,

I want to perform following operations in C/C++ -
- given a set of interfaces, configure IPMP group containing those interfaces
- monitor IPMP group for failure - take some action on failure
- if possible, move one virtual IP address from one active interface to another one the same IPMP group

Thanks and Regards,
Paresh Bafna


-----Original Message-----
From: Peter Memishian [mailto:Peter.Memishian-***@public.gmane.org]
Sent: Tuesday, July 24, 2012 10:58 PM
To: Paresh Bafna
Cc: Peter.Memishian-***@public.gmane.org; networking-discuss-***@public.gmane.org
Subject: RE: [networking-discuss] IPMP - Programmatic interface
Post by Paresh Bafna
I am looking for stable/supported interface for configuring and
monitoring IPMP groups from C/C++ program.
If you could be more specific I may be able to suggest a stable/supported
way to do what you want in C/C++.
Post by Paresh Bafna
Looks like I will have to move towards CLI interface.
Thanks all for help.
Thanks and Regards,
Paresh Bafna
-----Original Message-----
Sent: Friday, July 20, 2012 10:06 PM
To: Paresh Bafna
Subject: re: [networking-discuss] IPMP - Programmatic interface
Post by Paresh Bafna
I read about libipmp library which provides programmatic (ioctl/system
calls) interface to configure and monitor IPMP groups.
However I am not able to find any documentation or library itself for use.
Please provide more info on libipmp.
As Jim said, this is a private/unstable library. If you write code that
uses it, the only guarantee is that your code will break in the future :-)
As an aside: libipmp does not configure IPMP. For S11 FCS, that
functionality lives mostly in another private/unstable library (libipadm).
Further, the programmatic mechanism used to configure IPMP is also subject
to change at any time. The only stable configuration mechanisms are the
command-line utilities. For monitoring, tracking the IFF_* flags is
stable and will cover the basics; beyond that you'd need to use ipmpstat's
parsable mode.
Hope this helps,
--
meem
--
meem
Peter Memishian
2012-07-25 19:23:27 UTC
Permalink
This post might be inappropriate. Click to display it.
Peter Memishian
2012-07-25 19:28:34 UTC
Permalink
Post by Peter Memishian
Post by Paresh Bafna
I want to perform following operations in C/C++ -
- given a set of interfaces, configure IPMP group containing those interfaces
That definitely will need to be done through ifconfig/ipadm.
Post by Paresh Bafna
- monitor IPMP group for failure - take some action on failure
This can be done through routing sockets by monitoring the IFF_FAILED flag
on IFF_IPMP interfaces.
One note: due to limitations in the routing socket message format, the
IFF_FAILED and IFF_IPMP flags will not be visible in rtm_flags. As such,
you'll need to use the RTM_IFINFO message as hint that you should call
SIOCGLIFFLAGS and check to see if the flags have changed.
Post by Peter Memishian
Post by Paresh Bafna
- if possible, move one virtual IP address from one active interface to
another one the same IPMP group
The kernel has control over which IP addresses are bound to which active
interfaces. Thus, if you have more than one active interface, you cannot
explicitly control this. Further, note that in the future the kernel may
elect to rebind at any time -- e.g., based on monitoring the load across
the active interfaces.
Post by Paresh Bafna
Thanks and Regards,
Paresh Bafna
-----Original Message-----
Sent: Tuesday, July 24, 2012 10:58 PM
To: Paresh Bafna
Subject: RE: [networking-discuss] IPMP - Programmatic interface
Post by Paresh Bafna
I am looking for stable/supported interface for configuring and
monitoring IPMP groups from C/C++ program.
If you could be more specific I may be able to suggest a stable/supported
way to do what you want in C/C++.
Post by Paresh Bafna
Looks like I will have to move towards CLI interface.
Thanks all for help.
Thanks and Regards,
Paresh Bafna
-----Original Message-----
Sent: Friday, July 20, 2012 10:06 PM
To: Paresh Bafna
Subject: re: [networking-discuss] IPMP - Programmatic interface
Post by Paresh Bafna
I read about libipmp library which provides programmatic (ioctl/system
calls) interface to configure and monitor IPMP groups.
However I am not able to find any documentation or library itself for use.
Please provide more info on libipmp.
As Jim said, this is a private/unstable library. If you write code that
uses it, the only guarantee is that your code will break in the future :-)
As an aside: libipmp does not configure IPMP. For S11 FCS, that
functionality lives mostly in another private/unstable library (libipadm).
Further, the programmatic mechanism used to configure IPMP is also subject
to change at any time. The only stable configuration mechanisms are the
command-line utilities. For monitoring, tracking the IFF_* flags is
stable and will cover the basics; beyond that you'd need to use ipmpstat's
parsable mode.
Hope this helps,
--
meem
--
meem
--
meem
--
meem
Loading...