Diff for /embedaddon/libnet/src/libnet_build_mpls.c between versions 1.1.1.1 and 1.1.1.2

version 1.1.1.1, 2012/02/21 22:14:23 version 1.1.1.2, 2013/07/22 11:54:42
Line 40 Line 40
 #endif  #endif
   
 libnet_ptag_t  libnet_ptag_t
libnet_build_mpls(u_int32_t label, u_int8_t experimental, u_int8_t bos, libnet_build_mpls(uint32_t label, uint8_t experimental, uint8_t bos, 
u_int8_t ttl, u_int8_t *payload, u_int32_t payload_s, libnet_t *l,uint8_t ttl, const uint8_t *payload, uint32_t payload_s, libnet_t *l,
 libnet_ptag_t ptag)  libnet_ptag_t ptag)
 {  {
    u_int32_t n, h;    uint32_t n, h;
     libnet_pblock_t *p;      libnet_pblock_t *p;
     struct libnet_mpls_hdr mpls_hdr;      struct libnet_mpls_hdr mpls_hdr;
   
Line 72  libnet_ptag_t ptag) Line 72  libnet_ptag_t ptag)
                               ((bos & 0x01)          <<  8) |                                ((bos & 0x01)          <<  8) |
                               ((ttl & 0xff))));                                ((ttl & 0xff))));
   
    n = libnet_pblock_append(l, p, (u_int8_t *)&mpls_hdr, LIBNET_MPLS_H);    n = libnet_pblock_append(l, p, (uint8_t *)&mpls_hdr, LIBNET_MPLS_H);
     if (n == -1)      if (n == -1)
     {      {
         goto bad;          goto bad;
     }      }
   
    if ((payload && !payload_s) || (!payload && payload_s))    /* boilerplate payload sanity check / append macro */
    {    LIBNET_DO_PAYLOAD(l, p);
         snprintf(l->err_buf, LIBNET_ERRBUF_SIZE, 
                             "%s(): payload inconsistency\n", __func__); 
        goto bad; 
    } 
 
    if (payload && payload_s) 
    { 
        n = libnet_pblock_append(l, p, payload, payload_s); 
        if (n == -1) 
        { 
            goto bad; 
        } 
    } 
   
     /*      /*
      *  The link offset is actually 4 bytes further into the header than       *  The link offset is actually 4 bytes further into the header than

Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>