[Click] big endian supporting?

Eddie Kohler kohler at CS.UCLA.EDU
Tue Oct 4 11:43:38 EDT 2005


How did click-align fail?  Can you resend your test.click?

On Oct 4, 2005, at 5:52 AM, YenJung Chang wrote:

> Hi,
>
> I guess the root cause is the alignment is needed in my big-endian  
> board.
> The problem of ETHTYPE could be fixed if I change the data type of _et
> from uint16_t to uint32_t in ettstat.hh and srforwarder.hh.
> However, another problem followed, it showed "ETTStat srcr/es: failed
> checksum" repeatly.
> I guess this problem is same with ETHTYPE.
>
> I have tried the tool click-align, but failed. (click-align test.click
>
>> test-align.click)
>>
> Is there other way to fix this or have to change all uint16_t to
> uint32_t manually?
>
> Thanks in advance.
> YJ.
>
>
> 2005/10/3, John Bicket <jbicket at amsterdam.lcs.mit.edu>:
>
>> Hi YenJung,
>>
>> You are correct, thanks for the fix; I checked it in.
>>
>>
>> YenJung Chang [yenjung at gmail.com] wrote:
>>
>>> In addition, I could not build click for the big-endian board
>>> successfully before I hacked include/click/glue.hh.
>>>
>>> This is the output message.
>>> -------------------------------------------------------------------- 
>>> ------------------------------
>>> mips-linux-g++ -W -Wall -fno-exceptions -fno-rtti  -DHAVE_CONFIG_H
>>> -I../include -I../include -I. -I..  -DCLICK_USERLEVEL -static -MD -c
>>> ../elements/wifi/analysis/printpower.cc
>>> ../elements/wifi/analysis/printpower.cc: In constructor `
>>>   PrintPower::PrintPower()':
>>> ../elements/wifi/analysis/printpower.cc:32: warning:  
>>> `__base_ctor' is
>>>   deprecated (declared at ../include/click/element.hh:33)
>>> mips-linux-g++ -W -Wall -fno-exceptions -fno-rtti  -DHAVE_CONFIG_H
>>> -I../include -I../include -I. -I..  -DCLICK_USERLEVEL -static -MD -c
>>> ../elements/wifi/analysis/printrate.cc
>>> ../elements/wifi/analysis/printrate.cc: In constructor  
>>> `PrintRate::PrintRate()
>>>   ':
>>> ../elements/wifi/analysis/printrate.cc:32: warning: `__base_ctor'  
>>> is deprecated
>>>   (declared at ../include/click/element.hh:33)
>>> mips-linux-g++ -W -Wall -fno-exceptions -fno-rtti  -DHAVE_CONFIG_H
>>> -I../include -I../include -I. -I..  -DCLICK_USERLEVEL -static -MD -c
>>> ../elements/wifi/analysis/printseq.cc
>>> ../elements/wifi/analysis/printseq.cc: In member function  
>>> `virtual Packet*
>>>   PrintSeq::simple_action(Packet*)':
>>> ../elements/wifi/analysis/printseq.cc:68: error: `bswap_16'  
>>> undeclared (first
>>>   use this function)
>>> ../elements/wifi/analysis/printseq.cc:68: error: (Each undeclared  
>>> identifier is
>>>   reported only once for each function it appears in.)
>>> ../elements/wifi/analysis/printseq.cc:70: error: `bswap_32'  
>>> undeclared (first
>>>   use this function)
>>> make[1]: *** [printseq.o] Error 1
>>> make[1]: Leaving directory `/home1/spencer/roofnet/ 
>>> click-2005.10.03/userlevel'
>>> make: *** [userlevel] Error 2
>>> -------------------------------------------------------------------- 
>>> --------------------------------
>>>
>>> This is what I added in include/click/glue.hh
>>> -------------------------------------------------------------------- 
>>> ----------------------------
>>> Index: include/click/glue.hh
>>> ===================================================================
>>> RCS file: /cvs/click/release/one/include/click/glue.hh,v
>>> retrieving revision 1.50
>>> diff -u -r1.50 glue.hh
>>> --- include/click/glue.hh       25 Aug 2005 04:34:59 -0000      1.50
>>> +++ include/click/glue.hh       3 Oct 2005 06:18:38 -0000
>>> @@ -69,6 +69,10 @@
>>> #  include "simclick.h"
>>> # endif
>>>
>>> +# if CLICK_BYTE_ORDER == CLICK_BIG_ENDIAN
>>> +#  include <byteswap.h>
>>> +# endif
>>> +
>>> #endif
>>> -------------------------------------------------------------------- 
>>> ----------------------------
>>>
>>> This is the steps I executed.
>>> -------------------------------------------------------------------- 
>>> ----------------------------
>>> ./configure --enable-wifi --disable-linuxmodule
>>> --build=i686-pc-linux-gnu --host=mipsel-linux --enable-tools=mixed
>>> CLFLAGS=-static CXXFLAGS=-static
>>> make
>>> -------------------------------------------------------------------- 
>>> ----------------------------
>>>
>>> Please refer to attached config.log for more information.
>>>
>>> After I added those three lines in include/click/glue.hh,
>>> userlevel/click could be built successfully. Is this a bug?
>>> (Although userlevel/click was built, but it could not work well as
>>> described in previous mails.)
>>>
>>> Thanks,
>>> YJ.
>>>
>>> 2005/10/3, YenJung Chang <yenjung at gmail.com>:
>>>
>>>> BTW, I have had the click for x86 use this roofnet.click, it worked
>>>> well; there was no error messages and srcr interface was created
>>>> successfully at least.
>>>>
>>>> Thanks,
>>>> YJ.
>>>>
>>>> 2005/9/30, YenJung Chang <yenjung at gmail.com>:
>>>>
>>>>> Thanks for your reply.
>>>>>
>>>>> I am planing to use Click (userlevel) in a big endian board.  
>>>>> And when
>>>>> I run "click roofnet.click", the following message is out.
>>>>> .....
>>>>> /home/am0/biswas/roofnet.click:27: While configuring 'srcr/ 
>>>>> es :: ETTStat':
>>>>>   Must specify ETHTYPE
>>>>> /home/am0/biswas/roofnet.click:41: While configuring 'srcr/ 
>>>>> forwarder
>>>>> :: SRForwarder'
>>>>> :
>>>>>   ETHTYPE not specified
>>>>> Router could not be initialized!
>>>>> Segmentation fault
>>>>>
>>>>> Please refer to the attached for the roofnet.click, and tell me  
>>>>> if you
>>>>> need more information. :)
>>>>>
>>>>> Thansk.
>>>>> YJ.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>
>>
>>
>>> _______________________________________________
>>> click mailing list
>>> click at amsterdam.lcs.mit.edu
>>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>>>
>>
>>
>>
>
>



More information about the click mailing list