Re: arp: SIOCSARP: No such device

really kuznet@ms2.inr.ac.ru (inr-linux-kernel@ms2.inr.ac.ru)
23 Jun 1996 17:17:00 +0400


Bernd Eckenfels (ecki@tapac.INka.DE) wrote:
: really kuznet@ms2.inr.ac.ru (inr-linux-kernel@ms2.inr.ac.ru) wrote:
: : arp -s 157.158.29.94 00:C0:DF:49:9F:66 dev eth0 pub

: The above Syntax is not yet valid (as of net-tools-1.32-alpha) it will work
: with 1.33-alpha:

: arp -i eth0 -s 157.158.29.94 00:C0:DF:49:9F:66 pub

I am sorry, I forgot that I hacked my utilities myself.

But why not "dev"? It would comply with "route" behaviour.
Or route does not understand word "dev" too?

: : Device guessing for proxy entries works when
: : you have only one arpable interface. If you have more than one such
: : interface, kernel cannot read your thoughts :-), so that
: : you must specify device explicitly.

: The Kernel can compare the Hardware addresses if no interface is specified
: and set the entry for the device which matches the HW-address, since this
: will be the right interface in 98%.

Sounds reasonable, but I believe that it is not worth to implement.
Rationale: if HW address is address of your own ethernet, (common case
for proxy arp) it is senseless to specify it. Moreover, it is
not so simple to dig out its value :-)

I make it as:

arp -s 157.158.29.94 "" dev eth0 pub

Is there an option in nettools? If not, please make it, it is very
convenient.

I'd like to prevent objection of the sort: "But why not
to teach kernel to understand both of them". I am sure, that all sorts
of "guessing" should be sweaped out from the kernel. Kernel is not expert
system, it should only check user data for consistency and refuse them
if they are not complete or can be interpreted ambiguously.
It will prevent possible configuration errors (100-98 != 0, is not it? :-))

Moreover, I would not like to see some sort of guessing in ifconfig,
route and arp utilities, they are "elementary" utilities interfacing to kernel,
and when I type "route add x.y.z.w" I expect that route will make exactly
this thing. (Now net-tools do not try to improve user input and
it is very good) Kernel 2.0 still tries to make sence of this directive,
I hope that 2.1 will stop this practice and REQUIRE both netmask and gateway
or device specification.

Let's leave P-n-P functions to configuration scripts and
network managers with nice menus and pictures. Good?

One more feature of 2.0.0 arp:

arp -s 0.0.0.0 "" netmask 0.0.0.0 dev eth0 pub

It puts interface eth0 to Cisco-like proxy mode. I.e. router checks
for all arp requests with out-of-wire addresses and answers,
if it is responsible for routing to this destination. It was supposed that
this feature will replace "proxyarp" daemon.

I STRONGLY recommend this option. It takes sence to make
a shorthand for this operation, f.e.

arp -i eth0 -s default

And the last thing: it would be very convenient, if net-tools understood
network addresses in CIDR form. F.e.

route add 193.233.7.64 netmask 255.255.255.192 ...

should be equivalent to:

route add 193.233.7.64/26 ...

OK?

Alexey Kuznetsov.