Alan Cox wrote:
> > Although there are few chances that our randomly chosen ip_id
> > collides with the other packet's ip_id generated by kernel, I don't
> > want this possibility to happen.
> So pick one at random. However its a pretty strange way to abuse IP.
And be shure that - according to the standards - the ID/protocol pair should be unique, that means every IP protocol (udp/tcp/icmp/etc...) can have his own, independent ID generation.
> > So is there any method to get a true ip_id from the kernel?
> > I want this ip_id to do my own fragmentation on a packet.
> Linux does not generate ip idents on DF frames. You can't fragment a
> DF frame anyway so the problem does not arrive. Frames without DF get
> assigned ip ids
I think the OP has some conceptual misunderstanding here. The IP IDs are considered "internal", this means not visible to upper layer protocols.
As soon as an user of IP wants to do his own fragmentation for user data, he/she/it should use his own packet or data ID numbers (as e. G. TCP does with the sequence number, or the ping with the included sequence number).
-- "GPL software is not free - the cost is cooperation" - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to firstname.lastname@example.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/