Re: Packet alignment
Sascha Alexander Jopen <[email protected]> Thu, 01 Aug 2013 19:19:28 +0200
| Newsgroups | gmane.network.routing.click |
|---|---|
| Message-ID | <[email protected]> |
Hey, i already implemented this solution, it's the easiest one. I hoped for a more generic solution, which allows to define that my element has an arbitrary or unknown alignment, another element like UDPIPEncap requires a specific alignment and click-align would do the rest. Implementing hardcoded alignements in click-align.cc seems not the best solution, especially when i use click packages. A more dynamic approach with elementmap.xml or something like this would be nice, but i guess there is not enough demand to implement this. Thanks anyway, Sascha Am 31.07.2013 20:05, schrieb Eddie Kohler: > Another solution is of course to generate the correct amount of > headroom (say 48B) so that UDPIPEncap is naturally aligned! > > > On Wed, Jul 31, 2013 at 2:05 PM, Eddie Kohler <[email protected]> wrote: >> (Not sure but:) Basically, if Click sees an element it doesn't >> understand, it assumes the element either doesn't generate packets, or >> that it generates packets with correct alignment requirements. >> >> Probably it would be better to default to "arbitrary alignment" rather >> than "correct alignment," but that might be difficult. >> >> Eddie >> >> >> On Wed, Jul 31, 2013 at 12:41 PM, Cliff Frey <[email protected]> wrote: >>> You need to add your custom element to the "class_factory" function of >>> tools/click-align/click-align.cc to indicate the alignment of the packets >>> generated by your element. Then click-align will add the necessary Align >>> elements for you. >>> >>> Cliff >>> >>> >>> On Tue, Jul 30, 2013 at 6:43 AM, Sascha Alexander Jopen < >>> [email protected]> wrote: >>> >>>> Hey, >>>> >>>> I have a question regarding the click packet data alignment. >>>> >>>> I have an element which generates packets with 46 bytes of headroom >>>> followed by some data. The whole packet gets aligned in memory, but >>>> data() points to a memory section which is 2 bytes off the alignment on >>>> a 32bit machine. This packet will eventually be pushed into an >>>> UDPIPEncap element. On some architectures (where >>>> HAVE_INDIFFERENT_ALIGNMENT is not defined) a 4-byte alignment is >>>> expected (see line 94 udpipencap.cc). However, click-align does not >>>> insert an Align element on those architectures. If i do this manually, >>>> everything is fine. How can i make click-align insert the Align element? >>>> >>>> Thanks in advance, >>>> Sascha >>>> >>>> -- >>>> Dipl.-Inform. Sascha Jopen >>>> >>>> University of Bonn Tel.: +49-228-73-54219 >>>> Institute of Computer Science 4 Fax: +49-228-73-4571 >>>> Friedrich-Ebert-Allee 144 E-mail: [email protected] >>>> D-53113 Bonn, Germany >>>> _______________________________________________ >>>> click mailing list >>>> [email protected] >>>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click >>>> >>> _______________________________________________ >>> click mailing list >>> [email protected] >>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click