[Click] packet weirdness
Eddie Kohler
kohler at cs.ucla.edu
Fri Jan 19 18:42:07 EST 2007
Cleaning up longstanding email...
Roman Chertov wrote:
> After reading the doc for FastUDPsrc it seems that it operates on a
> single skb_buff. The thing which confuses me is why incr_ports is
> allowed to be used in the pull function if packet modifications is not
> allowed without cloning.
Strictly speaking it is not "allowed", that's true. The FastUDPSource element
cheats. I think it's one of the very few -- perhaps the only one.
Eddie
> Roman
>
> Roman Chertov wrote:
>> Hello,
>> I have a machine with two NICs connected by a cross over cable. I am
>> running Click from CVS on a 2.4.32 kernel. I did a few modifications to
>> the Click linux module elements such that FastUDPsrc now puts a packet
>> sequence number into the packet's payload and then I set the timestamp
>> annotation. Then the packet gets sent to eth1. A special element on the
>> eth2 recieve path looks at the packets and stores the sequence numbers
>> in an internal fixed size array. To get the array data I have made a
>> read_handler for it.
>>
>> If I set the packet generation rate to something low then I get a
>> non-repeating set of sequence numbers; however, if I set the rate to 0,
>> then I sometimes see a long series of repeating numbers.
>>
>> Any input would be much appreciated,
>>
>> Roman
>>
>> Script.
>> source :: FastUDPSource2(0, 10000, 60,
>> 00:0E:0C:AB:64:0C, 10.0.1.1, 1234,
>> 00:0E:0C:AB:63:70, 10.0.2.1, 1234);
>>
>> to :: ToDevice(eth1);
>> from :: PollDevice(eth2);
>> ctr :: AverageCounter;
>>
>> classifier :: Classifier(12/0800 /* IP packets */,
>> - /* everything else */);
>> ip_classifier :: IPClassifier(dst udp port 1234 /* relevant UDP
>> packets */,
>> - /* everything else */);
>>
>>
>> source -> SetTimestamp
>> -> to;
>>
>>
>> from -> classifier[0]
>> -> CheckIPHeader(14, CHECKSUM false) // don't check checksum for
>> speed
>> -> ip_classifier[0]
>> -> tt :: TimestampTrack(1000)
>> -> ctr
>> //-> Print
>> -> Discard;
>>
>> classifier[1] -> ToHost;
>> ip_classifier[1] -> ToHost;
>>
>> Idle -> ToDevice(eth2);
>> _______________________________________________
>> click mailing list
>> click at amsterdam.lcs.mit.edu
>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>>
>
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
More information about the click
mailing list