all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* wip-netlink
@ 2019-03-22 20:44 Gábor Boskovits
  2019-03-26 17:11 ` wip-netlink Ludovic Courtès
  2019-04-08 15:20 ` wip-netlink Ludovic Courtès
  0 siblings, 2 replies; 7+ messages in thread
From: Gábor Boskovits @ 2019-03-22 20:44 UTC (permalink / raw)
  To: Guix-devel, Ludovic Courtès, Kristofer Buffington

Hello guix,

I've pushed a branch with some preliminary work on the netlink wrapper
for guix, so that
we can have ipv6 static network configuration, and a bunch of other
goodies, including hopefully container networking.
This is in quite an early stage, I was mostly doing some research, and
tried to define the data structures needed.
Wdyt?

Best regards,
g_bor

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: wip-netlink
  2019-03-22 20:44 wip-netlink Gábor Boskovits
@ 2019-03-26 17:11 ` Ludovic Courtès
  2019-04-08 15:20 ` wip-netlink Ludovic Courtès
  1 sibling, 0 replies; 7+ messages in thread
From: Ludovic Courtès @ 2019-03-26 17:11 UTC (permalink / raw)
  To: Gábor Boskovits; +Cc: Guix-devel

Hi Gábor,

Gábor Boskovits <boskovits@gmail.com> skribis:

> I've pushed a branch with some preliminary work on the netlink wrapper
> for guix, so that
> we can have ipv6 static network configuration, and a bunch of other
> goodies, including hopefully container networking.
> This is in quite an early stage, I was mostly doing some research, and
> tried to define the data structures needed.
> Wdyt?

I think it looks like a great start!  Then you’ll need to provide
bindings to ‘sendmsg’ to actually make use of the data structures you
defined (Guile itself already provides ‘sendmsg’ but it’s too high-level
to be usable with netlink sockets, AFAICS.)

We can chat on IRC if you have any questions or comments.

Thank you for working on it!

Ludo’.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: wip-netlink
  2019-03-22 20:44 wip-netlink Gábor Boskovits
  2019-03-26 17:11 ` wip-netlink Ludovic Courtès
@ 2019-04-08 15:20 ` Ludovic Courtès
  2019-04-10  6:18   ` wip-netlink Gábor Boskovits
  1 sibling, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2019-04-08 15:20 UTC (permalink / raw)
  To: Gábor Boskovits; +Cc: Guix-devel

Hi there!

Gábor Boskovits <boskovits@gmail.com> skribis:

> I've pushed a branch with some preliminary work on the netlink wrapper
> for guix, so that
> we can have ipv6 static network configuration, and a bunch of other
> goodies, including hopefully container networking.
> This is in quite an early stage, I was mostly doing some research, and
> tried to define the data structures needed.

Did you have a chance to make further progress on this front?

Thank you!

Ludo’.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: wip-netlink
  2019-04-08 15:20 ` wip-netlink Ludovic Courtès
@ 2019-04-10  6:18   ` Gábor Boskovits
  2019-04-10 21:03     ` wip-netlink Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: Gábor Boskovits @ 2019-04-10  6:18 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Guix-devel

Hello Ludo,

Ludovic Courtès <ludo@gnu.org> ezt írta (időpont: 2019. ápr. 8., H, 17:20):
>
> Hi there!
>
> Gábor Boskovits <boskovits@gmail.com> skribis:
>
> > I've pushed a branch with some preliminary work on the netlink wrapper
> > for guix, so that
> > we can have ipv6 static network configuration, and a bunch of other
> > goodies, including hopefully container networking.
> > This is in quite an early stage, I was mostly doing some research, and
> > tried to define the data structures needed.
>
> Did you have a chance to make further progress on this front?
>

Yes, now I do. I was not well, and had to skip a whole week of work,
then I got overwhelmed when
I got back. I will start working on this again soon. Help is
appreciated however, so if anyone is willing
to have a look into this, that would be great. I feel I have most of
the data structures in place,
I will finish up the defines, which are not completed (I will have to
hunt the headers fo the proper sizes),
and I am thinking about creating a little abstraction on top of the
netlinkmsg, so that we can add attributes
with the proper 4 byte alignment required by netlink. Then I will
create a wrapper for the syscalls. After that
however we should discuss how to actually finish this up, I belive
that this could be done in two steps,
at first expoose the functionality for testing, without a reliable
command transfer, then add in the acknowledge
handling later. Wdyt?

> Thank you!
>
> Ludo’.

Best regards,
g_bor

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: wip-netlink
  2019-04-10  6:18   ` wip-netlink Gábor Boskovits
@ 2019-04-10 21:03     ` Ludovic Courtès
  2019-06-03 19:43       ` wip-netlink Marius Bakke
  0 siblings, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2019-04-10 21:03 UTC (permalink / raw)
  To: Gábor Boskovits; +Cc: Guix-devel

Hi Gábor,

Gábor Boskovits <boskovits@gmail.com> skribis:

> Yes, now I do. I was not well, and had to skip a whole week of work,
> then I got overwhelmed when
> I got back.

I’m sorry to hear that, I hope you’re feeling better now.

> I will start working on this again soon. Help is appreciated however,
> so if anyone is willing to have a look into this, that would be
> great. I feel I have most of the data structures in place, I will
> finish up the defines, which are not completed (I will have to hunt
> the headers fo the proper sizes), and I am thinking about creating a
> little abstraction on top of the netlinkmsg, so that we can add
> attributes with the proper 4 byte alignment required by netlink. Then
> I will create a wrapper for the syscalls. After that however we should
> discuss how to actually finish this up, I belive that this could be
> done in two steps, at first expoose the functionality for testing,
> without a reliable command transfer, then add in the acknowledge
> handling later. Wdyt?

That sounds promising.  I don’t have an opinion on how to move forward
in terms of code since I’m not sufficiently familiar with netlink.

With respect to 1.0, I wonder whether we should start a backup plan
where we simply call out to ‘ip’.  That way, we can develop the netlink
API without pressure and start using it instead of ‘ip’ when it’s ready.

We also need to think about adjustments to be made to
‘static-networking-service’ so that it covers important use cases.

What do people think?

If you’ve ever experienced the shortcomings of
‘static-networking-service’ and had to work around it, please share the
interface that you’d like to see!

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: wip-netlink
  2019-04-10 21:03     ` wip-netlink Ludovic Courtès
@ 2019-06-03 19:43       ` Marius Bakke
  2019-06-05 13:23         ` wip-netlink Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: Marius Bakke @ 2019-06-03 19:43 UTC (permalink / raw)
  To: Ludovic Courtès, Gábor Boskovits; +Cc: Guix-devel

[-- Attachment #1: Type: text/plain, Size: 861 bytes --]

Ludovic Courtès <ludo@gnu.org> writes:

> If you’ve ever experienced the shortcomings of
> ‘static-networking-service’ and had to work around it, please share the
> interface that you’d like to see!

Hey, that's me!

I *think* what I want is control over network interfaces.  Something
along the lines of

(service network-interface-service-type
  "eth0"
  (network-interface-configuration
    (dhcp? #f)
    (ipv4 '("10.1.1.1/24" "172.16.30.4/22"))
    (ipv6 '(...))
    (routes4 '(("default" . "10.1.1.254")))
    (routes6 '(...))
    (requirement '(vswitchd))))

Ideally, this service would extend "network-route-service-type" and
"network-address-service-type" so that one could compose configurations
from other services too.  E.g. a custom VPN service that extends
network-route-service-type.

Food for thought...  :-)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: wip-netlink
  2019-06-03 19:43       ` wip-netlink Marius Bakke
@ 2019-06-05 13:23         ` Ludovic Courtès
  0 siblings, 0 replies; 7+ messages in thread
From: Ludovic Courtès @ 2019-06-05 13:23 UTC (permalink / raw)
  To: Marius Bakke; +Cc: Guix-devel

Hello,

Marius Bakke <mbakke@fastmail.com> skribis:

> Ludovic Courtès <ludo@gnu.org> writes:
>
>> If you’ve ever experienced the shortcomings of
>> ‘static-networking-service’ and had to work around it, please share the
>> interface that you’d like to see!
>
> Hey, that's me!

Yay!

> I *think* what I want is control over network interfaces.  Something
> along the lines of
>
> (service network-interface-service-type
>   "eth0"
>   (network-interface-configuration
>     (dhcp? #f)
>     (ipv4 '("10.1.1.1/24" "172.16.30.4/22"))
>     (ipv6 '(...))
>     (routes4 '(("default" . "10.1.1.254")))
>     (routes6 '(...))
>     (requirement '(vswitchd))))
>
> Ideally, this service would extend "network-route-service-type" and
> "network-address-service-type" so that one could compose configurations
> from other services too.  E.g. a custom VPN service that extends
> network-route-service-type.

Interesting!  That sounds like a plan.

If there’s a separate “routes” service, perhaps the ‘routes4’ and
‘routes6’ fields could even be removed from
‘network-interface-configuration’?

We’d also need a ‘name-servers’ service I guess.

Also, in your example, ‘ipv4’ specifies both the IP and the netmask,
right?  Perhaps we should separate the two?

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-06-05 13:23 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-22 20:44 wip-netlink Gábor Boskovits
2019-03-26 17:11 ` wip-netlink Ludovic Courtès
2019-04-08 15:20 ` wip-netlink Ludovic Courtès
2019-04-10  6:18   ` wip-netlink Gábor Boskovits
2019-04-10 21:03     ` wip-netlink Ludovic Courtès
2019-06-03 19:43       ` wip-netlink Marius Bakke
2019-06-05 13:23         ` wip-netlink Ludovic Courtès

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.